gmazoyer.peering_manager
Rôle Ansible : Peering Manager
Un rôle Ansible qui installe Peering Manager sur Debian/Ubuntu.
Ce rôle installe toutes les dépendances requises par Peering Manager, y compris la base de données PostgreSQL. Il peut donc être utilisé pour configurer Peering Manager comme un appareil, avec tout sur la même machine.
Les configurations du backend et du frontend web peuvent être désactivées si vous avez déjà votre propre moyen de les gérer.
Dépendances
Aucune.
Variables de Rôle
Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut :
Configuration de la base de données PostgreSQL :
peering_manager_database: peering-manager
peering_manager_database_user: peering-manager
peering_manager_database_password: peering-manager
peering_manager_database_host: localhost # Cela forcera la configuration de PostgreSQL
Où obtenir Peering Manager et quelle version :
peering_manager_version: latest
peering_manager_git_url: https://github.com/peering-manager/peering-manager.git
Par défaut, il obtiendra toujours la dernière version stable. Une version spécifique peut être définie en utilisant, par exemple, v1.7.0
.
Où installer Peering Manager :
peering_manager_install_directory: /opt/peering-manager
Le nom d'utilisateur, le mot de passe et l'email pour le super utilisateur.
peering_manager_superuser_username: admin
peering_manager_superuser_password: admin
peering_manager_superuser_email: [email protected]
Des paquets Python supplémentaires peuvent être listés afin que ce rôle puisse les installer dans l'environnement virtuel :
peering_manager_local_requirements: []
LDAP peut être utilisé comme mécanisme d'authentification. Il doit être activé, et toute la configuration LDAP doit être fournie dans les variables suivantes (voir la documentation) :
peering_manager_setup_ldap_auth: false
peering_manager_ldap_config: ""
La configuration pour Peering Manager doit être donnée sous forme de paires clé: valeur
comme suit, veuillez noter que la clé secrète n'a pas besoin d'être donnée car elle sera générée automatiquement :
peering_manager_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
Les tâches programmées sont exécutées à l'aide de minuteurs systemd. Vous pouvez utiliser on_unit_active_sec
ou on_calendar
pour spécifier les horaires de chaque tâche :
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"
Configuration pour le serveur web backend et 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
Que ce soit ou non pour configurer le serveur web frontend :
peering_manager_setup_web_frontend: false
Exemple de Playbook
- hosts: peering_manager
roles:
- { role: gmazoyer.peering_manager }
Licence
Ce Rôle Ansible est publié sous les termes de la GNU GPLv3. Veuillez lire le fichier LICENCE pour plus d'informations.
Informations sur l'auteur
Ce rôle a été créé en 2019 par Guillaume Mazoyer.
A role to install and update Peering Manager.
ansible-galaxy install gmazoyer.peering_manager