jvoss.netbox
Ansibleロール: Netbox
さまざまな人気のLinuxディストリビューションに対して、NetBoxをインストール、設定、維持管理します。
目次
一般情報
このロールはNetBoxのインストールと設定を管理します。アプリケーションの必要な依存関係であるPostgreSQLやRedisサービスは提供しません。それらのタスクは、ユーザーが自分のロールやプレイブックの中で管理できるよう意図的に任されています。これらのサービスを管理する方法については、EXAMPLEプレイブックを参照してください。
リリースは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
このロールを使用するには、netbox管理のためにrootアクセス(sudo経由)が必要です。
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以降は動的設定オプションが導入されました。これらの設定はUIからの変更を妨げるため、デフォルトではこのロールはnetbox_override_dynamic_config
がTrue
に設定されていない限り、これらのパラメータを常に省略します。詳細はdefaults/main.yml#L82を参照してください。
ユーザーアカウント
初期インストール時のユーザー作成のために定義できる変数:
netbox_superusers:
- username: admin
password: admin
email: [email protected]
各ユーザーにはユーザー名、パスワード、およびメールアドレスが必要です。ロールは初期インストール時にのみ指定されたユーザーを作成しようとします。netbox_superusers
が定義されていない場合は、ユーザーは作成されず、Netboxによって文書化された手動ユーザー作成プロセスを使用できます。
外部認証
利用可能な外部認証メソッドについては、wikiを参照してください。
プラグイン
PipモジュールのNetboxプラグインは、netbox_plugins
リスト変数を設定することでインストールおよび設定できます。以下はNetbox BGPプラグインの例です。
netbox_plugins:
- name: netbox_bgp # プラグイン名
pip: netbox-bgp # Pipモジュール名
config: # プラグイン設定
device_ext_page: left
asdot: True
プラグインの削除
プラグインを削除するには、netbox_plugins
のエントリにabsent
状態を割り当てます:
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を必要とします。
例のプレイブック
完全なプレイブックの例については、EXAMPLEを参照してください。
貢献
貢献は歓迎します。詳細についてはCONTRIBUTINGを参照してください。