peering_manager
Адаптация 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 году Гийомом Мазуаром.
ansible-galaxy install peering-manager/ansible-role-peering-manager