jvoss.netbox

Rol de Ansible: Netbox

Netbox CI Netbox Ansible Galaxy Puntuación de Calidad de Ansible Versión

Instala, configura y mantiene NetBox en varias distribuciones populares de Linux.

Contenido

Información General

Este rol gestiona la instalación y configuración de NetBox. No proporciona servicios de PostgreSQL o Redis, que son dependencias requeridas de la aplicación. Estas tareas se dejan intencionadamente para que el usuario gestione estos servicios dentro de sus propios roles y playbooks. Consulte el EJEMPLO de playbook para obtener detalles sobre cómo gestionar estos servicios.

Las versiones solo se publican cuando es necesario para apoyar cambios en NetBox. Este rol se prueba continuamente en nuevas versiones de NetBox. Consulte el repositorio de GitHub para obtener la información más reciente sobre compatibilidad.

Plataformas Soportadas

Probado en las siguientes plataformas:

  • Amazon Linux 2
  • CentOS 8
  • Debian Bookworm
  • Debian Bullseye
  • Fedora Linux 37
  • Rocky Linux 8 / Red Hat Enterprise Linux (RHEL) 8.2+
  • Rocky Linux 9 / Red Hat Enterprise Linux (RHEL) 9.3+
  • Ubuntu 20.04
  • Ubuntu 22.04

Este rol requerirá acceso de root (a través de sudo) para gestionar dependencias del sistema y acciones en nombre de netbox.

Soporta versiones de NetBox >=3.5.9

Variables del Rol

Variables mínimas requeridas asumiendo servicios de PostgreSQL y Redis en localhost:

netbox_db_username: netbox
netbox_db_password: netbox
netbox_secret_key: "lnvRn_5Bypl8hBV4mMwgsMuHxr6uZvGwJyDqB7fcKqo"

Si se omite netbox_secret_key, se generará automáticamente uno nuevo en cada ejecución del playbook.

Consulte defaults/main.yml para obtener una lista completa de opciones predeterminadas y configurables.

Nota: La versión 3.1+ introdujo Configuraciones Dinámicas. Estas opciones de configuración pueden seguir escribiéndose en configuration.py, impidiendo la modificación a través de la interfaz de usuario. Sin embargo, por defecto, este rol siempre omite estos parámetros a menos que netbox_override_dynamic_config se establezca en True. Consulte defaults/main.yml#L82 para más detalles.

Cuentas de Usuario

Las siguientes variables se pueden definir para crear usuarios solo durante la instalación inicial:

netbox_superusers:
  - username: admin
    password: admin
    email: [email protected]

Cada usuario requiere un nombre de usuario, contraseña y dirección de correo electrónico definidos. El rol intentará crear los usuarios definidos solo una vez durante la instalación inicial. Si netbox_superusers no está definido, no se crean usuarios y se puede utilizar el proceso manual de creación de usuarios documentado por Netbox.

Autenticación Externa

Consulte el wiki para obtener información sobre los métodos de autenticación externa disponibles.

Plugins

Los plugins de Netbox que son módulos de pip pueden ser instalados y configurados estableciendo la lista de variables netbox_plugins. A continuación, se muestra un ejemplo para el plugin BGP de Netbox.

netbox_plugins:
  - name: netbox_bgp    # Nombre del plugin
    pip: netbox-bgp     # Nombre del módulo pip
    config:             # Configuración del plugin
      device_ext_page: left
      asdot: True

Eliminación de Plugins

Para eliminar un plugin, se puede asignar un estado absent a la entrada de netbox_plugins:

netbox_plugins:
  - name: netbox_bgp    # Nombre del plugin
    pip: netbox-bgp     # Nombre del módulo pip
    state: absent

Tenga en cuenta que puede ser necesario eliminar tablas de base de datos que fueron instaladas como parte de un plugin. Este rol no gestiona tablas de base de datos que puedan haber sido creadas como parte de un plugin. Consulte la documentación para más información sobre la gestión de tablas.

Bloqueo de Versión

Se puede configurar una versión específica de netbox utilizando la variable:

netbox_version_tag: v3.0.9

Esta etiqueta debe coincidir con el nombre de etiqueta de Github para la versión que se va a instalar. Garantizará que se mantenga un objetivo específico. Si no se establece, cada ejecución intentará encontrar la última versión de lanzamiento para instalar.

NOTA: Se debe establecer una etiqueta de versión para la mayoría de los entornos para garantizar que se mantenga una instalación conocida.

Otra opción es implementar desde una rama específica y, opcionalmente, un SHA de compromiso específico.

netbox_install_method: git
netbox_git_branch: master
netbox_git_sha: 8f1acb700d72467ffe7ae5c8502422a1eac0693d # opcional

Dependencias

Sin dependencias de Ansible. La aplicación requiere Redis y Postgres.

Ejemplo de Playbook

Consulte EJEMPLO para obtener un ejemplo completo de playbook.

Contribuir

Se alientan las contribuciones. Consulte CONTRIBUCIÓN para más detalles.

Acerca del proyecto

Installs and configures Netbox

Instalar
ansible-galaxy install jvoss.netbox
Licencia
mit
Descargas
178
Propietario