respawner.netbox
Rol de Ansible: NetBox
Una rol de Ansible que se instala en Debian/Ubuntu.
Este rol instala todas las dependencias requeridas por NetBox, incluida la base de datos PostgreSQL. Así se puede usar para configurar un dispositivo NetBox todo en la misma máquina.
Las configuraciones del backend y frontend web se pueden desactivar si ya tienes tu propia forma de manejarlas.
Dependencias
Ninguna.
Variables del Rol
Las variables disponibles se enumeran 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 utilizando, v3.5.1
por ejemplo.
Dónde instalar NetBox:
netbox_install_directory: /opt/netbox
El nombre de usuario, la contraseña y el correo electrónico para el superusuario:
netbox_superuser_username: admin
netbox_superuser_password: admin
netbox_superuser_email: [email protected]
Se puede usar LDAP 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):
netbox_setup_ldap_auth: false
netbox_ldap_config: ""
Se pueden instalar otros paquetes de Python utilizando local_requirements.txt
, esto es útil para instalar paquetes como NAPALM o plugins:
netbox_local_requirements:
- napalm
…
La configuración para NetBox debe proporcionarse en pares de clave: valor
como el siguiente, ten en cuenta 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 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 se debe configurar o no el servidor web frontend:
netbox_setup_web_frontend: false
Configuración 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 publica bajo los términos de la GNU GPLv3. Por favor, lee el archivo LICENSE
para más información.
Partes de este rol incluyen código licenciado bajo MIT (ver 7c400dd
) y están demarcadas en el encabezado. Consulta 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 respawner.netbox