gmazoyer.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. Ainsi, il peut être utilisé pour configurer un appareil NetBox incluant 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 du Rôle
Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut :
Configuration pour la base de données PostgreSQL :
netbox_database: netbox
netbox_database_user: netbox
netbox_database_password: netbox
netbox_database_host: localhost # Cela va forcer la configuration de PostgreSQL
Où obtenir NetBox et quelle version :
netbox_version: latest
netbox_git_url: https://github.com/netbox-community/netbox.git
Par défaut, il obtient toujours la dernière version stable. Une version spécifique peut être imposée en utilisant, par exemple, v3.5.1
.
Où installer NetBox :
netbox_install_directory: /opt/netbox
Le nom d'utilisateur, le mot de passe et l'email pour le super utilisateur.
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 paquets Python peuvent être installés en utilisant local_requirements.txt
, ce qui est utile pour installer des paquets tels que 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 fournie, car elle sera générée automatiquement :
netbox_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
La commande de maintenance est exécutée à l'aide d'un minuteur 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 maintenance 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
Pour 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
Exemple 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 comprennent du code sous licence MIT (voir 7c400dd
) et sont indiqué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 gmazoyer.netbox