jvoss.netbox

Ansible 角色: Netbox

Netbox CI Netbox Ansible Galaxy Ansible 质量分数 版本

在多种流行的Linux发行版上安装、配置和维护NetBox

目录

一般信息

该角色管理NetBox的安装和配置。它不提供应用所需的PostgreSQL或Redis服务。这些任务故意留给用户自行管理其服务。有关如何管理这些服务的详细信息,请参见示例剧本。

只有在支持NetBox更改时才会发布新版本。此角色在新的NetBox版本上会持续测试。请查看GitHub存储库以获取最新的兼容性信息。

支持的平台

在以下平台上进行了测试:

  • Amazon Linux 2
  • CentOS 8
  • Debian Bookworm
  • Debian Bullseye
  • Fedora Linux 37
  • Rocky Linux 8 / Red Hat Enterprise Linux (RHEL) 8.2+
  • Rocky Linux 9 / Red Hat Enterprise Linux (RHEL) 9.3+
  • Ubuntu 20.04
  • Ubuntu 22.04

该角色需要root访问权限(通过sudo)来管理系统依赖项和代理netbox的操作。

支持NetBox版本 >=3.5.9

角色变量

假设已提供localhost的PostgreSQL和Redis服务,最低要求变量如下:

netbox_db_username: netbox
netbox_db_password: netbox
netbox_secret_key: "lnvRn_5Bypl8hBV4mMwgsMuHxr6uZvGwJyDqB7fcKqo"

如果省略netbox_secret_key,则在每次运行剧本时会自动生成一个新的密钥。

请参见defaults/main.yml以获取完整的默认值和可配置选项列表。

注意: 版本3.1及以上引入了动态配置设置。这些配置选项可能仍会写入configuration.py,从而阻止通过用户界面进行修改。但是,默认情况下,除非将netbox_override_dynamic_config设置为True,否则该角色始终省略这些参数。有关详细信息,请参见defaults/main.yml#L82

用户账户

以下变量可以在初始安装时定义以创建用户:

netbox_superusers:
  - username: admin
    password: admin
    email: [email protected]

每个用户都需要定义用户名、密码和电子邮件地址。该角色将在初始安装时尝试仅创建已定义的用户。如果未定义netbox_superusers,则不会创建任何用户,用户可以按照Netbox中记录的手动用户创建流程进行操作文档

外部认证

有关可用外部认证方法的信息,请参见Wiki

插件

可以通过设置netbox_plugins列表变量来安装和配置Netbox插件,这些插件是pip模块。以下是Netbox BGP插件的示例。

netbox_plugins:
  - name: netbox_bgp    # 插件名称
    pip: netbox-bgp     # Pip模块名称
    config:             # 插件配置
      device_ext_page: left
      asdot: True

移除插件

要移除插件,可以将absent状态分配给netbox_plugins条目:

netbox_plugins:
  - name: netbox_bgp    # 插件名称
    pip: netbox-bgp     # Pip模块名称
    state: absent

请注意,可能需要移除作为插件安装的数据库表。 该角色不管理可能作为插件创建的数据库表。有关表管理的更多信息,请查看文档

版本锁定

可以使用以下变量配置特定版本的netbox:

netbox_version_tag: v3.0.9

此标签应与要安装的版本的GitHub标签名称匹配。它将确保维护特定目标。如果未设置,则每次运行时都会尝试查找最新的发行版本进行安装。

注意: 在大多数环境中应设置版本标签以确保维护已知安装。

另一个选项是从特定分支部署,并可选择特定的提交SHA:

netbox_install_method: git
netbox_git_branch: master
netbox_git_sha: 8f1acb700d72467ffe7ae5c8502422a1eac0693d # 可选

依赖关系

没有Ansible依赖项。该应用程序需要Redis和Postgres。

示例剧本

请参见示例以获取完整的剧本示例。

贡献

鼓励贡献。有关详细信息,请查看贡献

安装
ansible-galaxy install jvoss.netbox
许可证
mit
下载
178
拥有者