gmazoyer.netbox

CI Ansible Galaxy

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: admin@example.com

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.

Instalar
ansible-galaxy install gmazoyer.netbox
Licencia
gpl-3.0
Descargas
825
Propietario
Network/Automation Engineer (AS201281, former AS35280, AS29467, AS2602). Former 3 times GSoC student. IPv6 lover, FLOSS enthusiast and Gamer.