respawner.netbox
Rôle Ansible : NetBox
Un rôle Ansible qui s'installe sur Debian/Ubuntu.
Ce rôle installe toutes les dépendances requises par NetBox, y compris la base de données PostgreSQL. Il peut donc être utilisé pour configurer un appareil NetBox 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 méthode pour les gérer.
Dépendances
Aucune.
Variables de Rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut :
Configuration de la base de données PostgreSQL :
netbox_database: netbox
netbox_database_user: netbox
netbox_database_password: netbox
netbox_database_host: localhost # Cela obligera PostgreSQL à être configuré
D'où obtenir NetBox et quelle version :
netbox_version: latest
netbox_git_url: https://github.com/netbox-community/netbox.git
Par défaut, il obtiendra toujours la dernière version stable. Une version spécifique peut être imposée en utilisant, v3.5.1
par exemple.
Où installer NetBox :
netbox_install_directory: /opt/netbox
Le nom d'utilisateur, le mot de passe et l'email pour l'utilisateur super.
netbox_superuser_username: admin
netbox_superuser_password: admin
netbox_superuser_email: [email protected]
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) :
netbox_setup_ldap_auth: false
netbox_ldap_config: ""
D'autres packages Python peuvent être installés en utilisant local_requirements.txt
, ce qui est utile pour installer des paquets comme NAPALM ou des plugins :
netbox_local_requirements:
- napalm
…
La configuration pour NetBox 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 :
netbox_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
La commande de nettoyage est exécutée à l'aide d'un timer systemd configuré à 4h30 UTC chaque jour. Vous pouvez utiliser on_unit_active_sec: 12h
au lieu de on_calendar
pour exécuter la commande de nettoyage toutes les 12 heures (par exemple).
netbox_systemd_timers:
netbox-housekeeping:
enabled: true
command: "{{ netbox_virtualenv_path }}/bin/python {{ netbox_install_directory }}/netbox/manage.py housekeeping"
on_calendar: "*-*-* 4:30:00 UTC"
Configuration pour le serveur web backend et systemd :
netbox_setup_systemd: false
netbox_gunicorn_address: 127.0.0.1
netbox_gunicorn_port: 8001
netbox_gunicorn_workers_number: 5
Configurer ou non le serveur web frontend :
netbox_setup_web_frontend: false
Configuration SSL/TLS pour le serveur web frontend :
netbox_web_tls: false
netbox_web_tls_port: 443
# netbox_web_tls_crt: /etc/pki/server.crt
# netbox_web_tls_key: /etc/pki/server.key
# netbox_web_tls_chain:
netbox_web_tls_redirect: false
Exemples de Playbook
- hosts: netboxes
roles:
- { role: gmazoyer.netbox }
Licence
Ce rôle Ansible est publié sous les termes de la GNU GPLv3. Veuillez lire le fichier LICENSE
pour plus d'informations.
Certaines parties de ce rôle incluent du code sous licence MIT (voir 7c400dd
) et sont délimitées dans l'en-tête. Voir LICENSE-MIT
pour plus d'informations.
Informations sur l'Auteur
Ce rôle a été créé en 2017 par Guillaume Mazoyer.
A role to install and update NetBox.
ansible-galaxy install respawner.netbox