gmazoyer.peering_manager
Ansibleロール: Peering Manager
Peering ManagerをDebian/UbuntuにインストールするためのAnsibleロールです。
このロールは、Peering Managerが必要とするPostgreSQLデータベースを含むすべての依存関係をインストールします。そのため、すべてを同じマシンに含めたアプライアンスとしてPeering Managerをセットアップできます。
もし独自のバックエンドやフロントエンドの扱い方がある場合、それらのセットアップは無効にできます。
依存関係
特になし。
ロール変数
以下に利用可能な変数とそのデフォルト値を示します。
PostgreSQLデータベースの設定:
peering_manager_database: peering-manager
peering_manager_database_user: peering-manager
peering_manager_database_password: peering-manager
peering_manager_database_host: localhost # この設定によりPostgreSQLが設定されます
Peering Managerを取得する場所とバージョン:
peering_manager_version: latest
peering_manager_git_url: https://github.com/peering-manager/peering-manager.git
デフォルトでは、常に最新の安定版が取得されます。特定のバージョンを強制するには、例えば v1.7.0
を使用します。
Peering Managerをインストールする場所:
peering_manager_install_directory: /opt/peering-manager
スーパーユーザーのユーザー名、パスワード、およびメールアドレス:
peering_manager_superuser_username: admin
peering_manager_superuser_password: admin
peering_manager_superuser_email: [email protected]
extra Pythonパッケージは、このロールが仮想環境にインストールするためにリストできます:
peering_manager_local_requirements: []
LDAPを認証メカニズムとして使用することができます。これを有効にし、全てのLDAP設定を以下の変数で提供する必要があります(Peering Managerの ドキュメントを参照してください):
peering_manager_setup_ldap_auth: false
peering_manager_ldap_config: ""
Peering Managerの設定は、以下のような key: value
ペアで提供する必要があります。秘密鍵は自動的に生成されるため、指定する必要はありません。
peering_manager_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
スケジュールされたタスクはsystemdタイマーを使用して実行されます。各タスクの時間を指定するために on_unit_active_sec
または on_calendar
を使用できます:
peering_manager_tasks:
peeringdb-sync:
enabled: true
command: "{{ peering_manager_virtualenv_path }}/bin/python {{ peering_manager_install_directory }}/manage.py peeringdb_sync"
on_calendar: "*-*-* 2:30:00"
prefix-fetch:
enabled: true
command: "{{ peering_manager_virtualenv_path }}/bin/python {{ peering_manager_install_directory }}/manage.py grab_prefixes"
on_calendar: "*-*-* 4:30:00"
poll-bgp-sessions:
enabled: true
command: "{{ peering_manager_virtualenv_path }}/bin/python {{ peering_manager_install_directory }}/manage.py poll_bgp_sessions --all"
on_unit_active_sec: "30m"
configure-routers:
enabled: true
command: "{{ peering_manager_virtualenv_path }}/bin/python {{ peering_manager_install_directory }}/manage.py configure_routers"
on_calendar: "*-*-* *:55:00"
バックエンドウェブサーバーとsystemdの設定:
peering_manager_setup_systemd: false
peering_manager_gunicorn_address: 127.0.0.1
peering_manager_gunicorn_port: 8001
peering_manager_gunicorn_workers_number: 5
フロントエンドウェブサーバーを設定するかどうか:
peering_manager_setup_web_frontend: false
使用例のプレイブック
- hosts: peering_manager
roles:
- { role: gmazoyer.peering_manager }
ライセンス
このAnsibleロールはGNU GPLv3の条件の下でリリースされています。詳細についてはLICENSEファイルをお読みください。
作者情報
このロールは2019年にGuillaume Mazoyerによって作成されました。
ansible-galaxy install gmazoyer.peering_manager