gmazoyer.netbox
Rol de Ansible: NetBox
Una Rol de Ansible que se instala en Debian/Ubuntu.
Esta rol instala todas las dependencias requeridas por NetBox, incluyendo la base de datos PostgreSQL. Así, se puede usar para configurar un dispositivo NetBox con todo en la misma máquina.
Las configuraciones del backend y frontend web se pueden desactivar si ya tienes tu propia manera de manejarlas.
Dependencias
Ninguna.
Variables de Roles
Las variables disponibles se listan a continuación, junto con los valores predeterminados:
Configuración para la base de datos PostgreSQL:
netbox_database: netbox
netbox_database_user: netbox
netbox_database_password: netbox
netbox_database_host: localhost # Esto forzará la configuración de PostgreSQL
Dónde obtener NetBox y qué versión:
netbox_version: latest
netbox_git_url: https://github.com/netbox-community/netbox.git
Por defecto, siempre obtendrá la última versión estable. Se puede forzar una versión específica usando, v3.5.1
como ejemplo.
Dónde instalar NetBox:
netbox_install_directory: /opt/netbox
El nombre de usuario, contraseña y correo electrónico para el superusuario.
netbox_superuser_username: admin
netbox_superuser_password: admin
netbox_superuser_email: [email protected]
LDAP puede ser utilizado como mecanismo de autenticación. Debe estar habilitado, y toda la configuración de LDAP debe proporcionarse en las siguientes variables (ver la documentación de NetBox):
netbox_setup_ldap_auth: false
netbox_ldap_config: ""
Otros paquetes de Python se pueden instalar usando local_requirements.txt
, esto es útil para instalar paquetes como NAPALM o plugins:
netbox_local_requirements:
- napalm
…
La configuración para NetBox debe darse como pares clave: valor
como el siguiente, por favor nota que la clave secreta no necesita ser dada ya que se generará automáticamente:
netbox_config:
ALLOWED_HOSTS:
- localhost
- 127.0.0.1
TIME_ZONE: "Europe/Paris"
…
El comando de mantenimiento se ejecuta utilizando un temporizador de systemd configurado a las 4:30 AM UTC todos los días. Puedes usar on_unit_active_sec: 12h
en lugar de on_calendar
para ejecutar el comando de mantenimiento cada 12 horas (por ejemplo).
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"
Configuración para el servidor web backend y systemd:
netbox_setup_systemd: false
netbox_gunicorn_address: 127.0.0.1
netbox_gunicorn_port: 8001
netbox_gunicorn_workers_number: 5
Si configurar o no el servidor web frontend:
netbox_setup_web_frontend: false
Configuración de SSL/TLS para el servidor 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
Ejemplo de Playbook
- hosts: netboxes
roles:
- { role: gmazoyer.netbox }
Licencia
Este Rol de Ansible se libera bajo los términos de la GNU GPLv3. Por favor, lee el archivo LICENSE
para más información.
Porciones de este rol incluyen código con licencia MIT (ver 7c400dd
) y están demarcadas en el encabezado. Ver LICENSE-MIT
para más información.
Información del Autor
Este rol fue creado en 2017 por Guillaume Mazoyer.
A role to install and update NetBox.
ansible-galaxy install gmazoyer.netbox