gmazoyer.peering_manager

CI Ansible Galaxy

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によって作成されました。

プロジェクトについて

A role to install and update Peering Manager.

インストール
ansible-galaxy install gmazoyer.peering_manager
ライセンス
gpl-3.0
ダウンロード
973
所有者
Federation of Peering Manager related projects