gmazoyer.netbox
Ansible Role: NetBox
Debian/Ubuntu にインストールするための Ansible ロールです。
このロールは、PostgreSQL データベースを含む NetBox に必要なすべての依存関係をインストールします。これにより、すべてを同じマシンに配置した NetBox アプライアンスを設定できます。
Web のバックエンドとフロントエンドのセットアップは、すでに独自の方法を持っている場合は無効にできます。
依存関係
なし。
ロールの変数
利用可能な変数は、以下にリストされており、デフォルト値も示しています。
PostgreSQL データベースの設定:
netbox_database: netbox
netbox_database_user: netbox
netbox_database_password: netbox
netbox_database_host: localhost # これにより PostgreSQL が設定されます
NetBox の取得元とバージョン:
netbox_version: latest
netbox_git_url: https://github.com/netbox-community/netbox.git
デフォルトでは、常に最新の安定版が取得されます。特定のバージョンは、例えば v3.5.1
を使用することで強制できます。
NetBox のインストール先:
netbox_install_directory: /opt/netbox
スーパーユーザーのユーザー名、パスワード、メールアドレス:
netbox_superuser_username: admin
netbox_superuser_password: admin
netbox_superuser_email: [email protected]
LDAP を認証メカニズムとして使用できます。これを有効にし、以下の変数に LDAP の全設定を提供する必要があります(詳しくは NetBox のドキュメントを参照してください):
netbox_setup_ldap_auth: false
netbox_ldap_config: ""
他の Python パッケージは local_requirements.txt
を使用してインストールできます。これにより、NAPALM やプラグインなどのパッケージをインストールできます:
netbox_local_requirements:
- napalm
…
NetBox の設定は、以下のように key: value
ペアで指定する必要があります。なお、秘密鍵は自動生成されるため、指定する必要はありません:
netbox_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
ハウスキーピングコマンドは、毎日午前4時30分(UTC)に設定された systemd タイマーを使用して実行されます。例えば、on_calendar
の代わりに on_unit_active_sec: 12h
を使用することで、12 時間ごとにハウスキーピングコマンドを実行できます。
netbox_systemd_timers:
netbox-housekeeping:
enabled: true
command: "{{ netbox_virtualenv_path }}/bin/python {{ netbox_install_directory }}/netbox/manage.py housekeeping"
on_calendar: "*-*-* 4:30:00 UTC"
バックエンドウェブサーバーと systemd の設定:
netbox_setup_systemd: false
netbox_gunicorn_address: 127.0.0.1
netbox_gunicorn_port: 8001
netbox_gunicorn_workers_number: 5
フロントエンドウェブサーバーを設定するかどうか:
netbox_setup_web_frontend: false
フロントエンドウェブサーバーの SSL/TLS 設定:
netbox_web_tls: false
netbox_web_tls_port: 443
# netbox_web_tls_crt: /etc/pki/server.crt
# netbox_web_tls_key: /etc/pki/server.key
# netbox_web_tls_chain:
netbox_web_tls_redirect: false
例 Playbook
- hosts: netboxes
roles:
- { role: gmazoyer.netbox }
ライセンス
この Ansible ロールは GNU GPLv3 の条件の下でリリースされています。詳細については LICENSE
ファイルをお読みください。
このロールの一部には、MIT ライセンスのコードが含まれています(7c400dd
を参照)及びそれはヘッダーで示されています。詳細は LICENSE-MIT
を参照してください。
著者情報
このロールは 2017 年に Guillaume Mazoyer によって作成されました。
A role to install and update NetBox.
ansible-galaxy install gmazoyer.netbox