gmazoyer.peering_manager

CI Ansible Galaxy

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.

À propos du projet

A role to install and update Peering Manager.

Installer
ansible-galaxy install gmazoyer.peering_manager
Licence
gpl-3.0
Téléchargements
973
Propriétaire
Federation of Peering Manager related projects