peering_manager

CI Ansible Galaxy

Адаптация Ansible: Peering Manager

Адаптация Ansible, которая устанавливает Peering Manager на Debian/Ubuntu.

Эта адаптация устанавливает все зависимости, необходимые для работы 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]

Дополнительные пакеты Python могут быть перечислены, чтобы эта адаптация их установила в виртуальную среду:

peering_manager_local_requirements: []

LDAP может использоваться как механизм аутентификации. Он должен быть включен, и вся конфигурация LDAP должна быть предоставлена в следующих переменных (смотрите документацию Peering Manager здесь):

peering_manager_setup_ldap_auth: false
peering_manager_ldap_config: ""

Конфигурация для Peering Manager должна быть задана в формате ключ: значение, как показано ниже. Обратите внимание, что секретный ключ не нужно указывать, так как он будет сгенерирован автоматически:

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 году Гийомом Мазуаром.

О проекте

A role to install and update Peering Manager.

Установить
ansible-galaxy install peering-manager/ansible-role-peering-manager
Лицензия
gpl-3.0
Загрузки
304
Владелец
Federation of Peering Manager related projects