gmazoyer.peering_manager
Rola Ansible: Peering Manager
Rola Ansible, która instaluje Peering Manager na systemach Debian/Ubuntu.
Ta rola instaluje wszystkie zależności wymagane przez Peering Manager, w tym bazę danych PostgreSQL. Można jej użyć do skonfigurowania Peering Manager jako urządzenia, które ma wszystko na jednej maszynie.
Ustawienia backendu i frontendu webowego można wyłączyć, jeśli już masz własne rozwiązanie do ich obsługi.
Zależności
Brak.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi:
Ustawienia dla bazy danych PostgreSQL:
peering_manager_database: peering-manager
peering_manager_database_user: peering-manager
peering_manager_database_password: peering-manager
peering_manager_database_host: localhost # To zmusi do skonfigurowania PostgreSQL
Gdzie pobrać Peering Manager i jaka wersja:
peering_manager_version: latest
peering_manager_git_url: https://github.com/peering-manager/peering-manager.git
Domyślnie zawsze zostanie pobrana najnowsza stabilna wersja. Można wymusić konkretną wersję, używając np. v1.7.0
.
Gdzie zainstalować Peering Manager:
peering_manager_install_directory: /opt/peering-manager
Nazwa użytkownika, hasło i email dla super użytkownika.
peering_manager_superuser_username: admin
peering_manager_superuser_password: admin
peering_manager_superuser_email: [email protected]
Dodatkowe pakiety Pythona można wymienić, aby ta rola je zainstalowała w środowisku wirtualnym:
peering_manager_local_requirements: []
Można używać LDAP jako mechanizmu uwierzytelniania. Musi być włączony, a cała konfiguracja LDAP musi być podana w poniższych zmiennych (zobacz dokumentację Peering Managera tutaj):
peering_manager_setup_ldap_auth: false
peering_manager_ldap_config: ""
Konfiguracja dla Peering Managera musi być podana jako pary klucz: wartość
, jak poniżej. Należy zauważyć, że klucz tajny nie musi być podawany, ponieważ zostanie automatycznie wygenerowany:
peering_manager_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
Zadania zaplanowane są realizowane przez timery systemd. Można użyć on_unit_active_sec
lub on_calendar
, aby określić czasy dla poszczególnych zadań:
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"
Konfiguracja dla serwera webowego backendu i 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
Czy skonfigurować serwer webowy frontendu:
peering_manager_setup_web_frontend: false
Przykład Playbooka
- hosts: peering_manager
roles:
- { role: gmazoyer.peering_manager }
Licencja
Ta rola Ansible została wydana na warunkach GNU GPLv3. Proszę przeczytać plik LICENSE, aby uzyskać więcej informacji.
Informacje o Autorze
Ta rola została stworzona w 2019 przez Guillaume Mazoyer.
A role to install and update Peering Manager.
ansible-galaxy install gmazoyer.peering_manager