gmazoyer.netbox

CI Ansible Galaxy

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.

Installer
ansible-galaxy install gmazoyer.netbox
Licence
gpl-3.0
Téléchargements
825
Propriétaire
Network/Automation Engineer (AS201281, former AS35280, AS29467, AS2602). Former 3 times GSoC student. IPv6 lover, FLOSS enthusiast and Gamer.