jvoss.netbox

Ansible Rolle: Netbox

Netbox CI Netbox Ansible Galaxy Ansible Qualitätsbewertung Version

Installiert, konfiguriert und wartet NetBox auf verschiedenen beliebten Linux-Distributionen.

Inhalt

Allgemeine Informationen

Diese Rolle verwaltet die Installation und Konfiguration von NetBox. Sie stellt keine PostgreSQL- oder Redis-Dienste bereit, die erforderliche Abhängigkeiten der Anwendung sind. Diese Aufgaben sind absichtlich dem Benutzer überlassen, damit er diese Dienste in seinen eigenen Rollen und Playbooks verwalten kann. Bitte siehe das BEISPIEL Playbook für Details zur Verwaltung dieser Dienste.

Versionen werden nur bei Bedarf veröffentlicht, um Änderungen in NetBox zu unterstützen. Diese Rolle wird kontinuierlich auf neuen Versionen von NetBox getestet. Bitte siehe das GitHub Repository für die neuesten Kompatibilitätsinformationen.

Unterstützte Plattformen

Getestet auf den folgenden Plattformen:

  • 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

Diese Rolle benötigt Root-Zugriff (über sudo), um Systemabhängigkeiten und Aktionen im Namen von NetBox zu verwalten.

Unterstützt NetBox-Versionen >=3.5.9

Rollenvariablen

Minimale erforderliche Variablen, vorausgesetzt, PostgreSQL und Redis-Dienste auf localhost sind verfügbar:

netbox_db_username: netbox
netbox_db_password: netbox
netbox_secret_key: "lnvRn_5Bypl8hBV4mMwgsMuHxr6uZvGwJyDqB7fcKqo"

Wenn der netbox_secret_key weggelassen wird, wird bei jedem Ausführen des Playbooks ein neuer Schlüssel automatisch generiert.

Siehe defaults/main.yml für eine vollständige Liste der Standard- und konfigurierbaren Optionen.

Hinweis: Version 3.1+ führte Dynamische Konfigurationseinstellungen ein. Diese Konfigurationsoptionen können immer noch in configuration.py geschrieben werden, wodurch eine Änderung über die Benutzeroberfläche verhindert wird. Standardmäßig lässt diese Rolle jedoch immer diese Parameter weg, es sei denn, netbox_override_dynamic_config ist auf True gesetzt. Siehe defaults/main.yml#L82 für Details.

Benutzerkonten

Die folgenden Variablen können definiert werden, um Benutzer nur während der initialen Installation zu erstellen:

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

Jeder Benutzer benötigt einen definierten Benutzernamen, ein Passwort und eine E-Mail-Adresse. Die Rolle wird versuchen, die definierten Benutzer nur einmal während der initialen Installation zu erstellen. Wenn netbox_superusers nicht definiert ist, werden keine Benutzer erstellt, und der manuelle Benutzererstellungsprozess, der von NetBox dokumentiert ist, kann stattdessen verwendet werden.

Externe Authentifizierung

Siehe das Wiki für Informationen zu verfügbaren externen Authentifizierungsmethoden.

Plugins

NetBox-Plugins, die Pip-Module sind, können installiert und konfiguriert werden, indem die netbox_plugins Listenvariable gesetzt wird. Unten ist ein Beispiel für das NetBox BGP-Plugin.

netbox_plugins:
  - name: netbox_bgp    # Plugin-Name
    pip: netbox-bgp     # Pip-Modulname
    config:             # Plugin-Konfiguration
      device_ext_page: left
      asdot: True

Plugins entfernen

Um ein Plugin zu entfernen, kann ein absent-Zustand dem netbox_plugins Eintrag zugewiesen werden:

netbox_plugins:
  - name: netbox_bgp    # Plugin-Name
    pip: netbox-bgp     # Pip-Modulname
    state: absent

Bitte beachten, dass es notwendig sein kann, Datenbanktabellen zu entfernen, die Teil eines Plugins installiert wurden. Diese Rolle verwaltet keine Datenbanktabellen, die möglicherweise im Rahmen eines Plugins erstellt wurden. Bitte siehe die Dokumentation für weitere Informationen zur Tabellenverwaltung.

Versionssperre

Eine spezifische Version von NetBox kann mit der Variablen konfiguriert werden:

netbox_version_tag: v3.0.9

Dieses Tag sollte mit dem Github-Tag-Namen für die zu installierende Version übereinstimmen. Es stellt sicher, dass ein bestimmtes Ziel eingehalten wird. Wenn nicht gesetzt, wird bei jedem Ausführen versucht, die neueste Version zu finden und zu installieren.

HINWEIS: Ein Versionstag sollte für die meisten Umgebungen gesetzt werden, um eine bekannte Installation aufrechtzuerhalten.

Eine weitere Option ist, von einem bestimmten Branch und optional einem spezifischen Commit SHA zu deployen:

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

Abhängigkeiten

Keine Ansible-Abhängigkeiten. Die Anwendung benötigt Redis und Postgres.

Beispiel-Playbook

Siehe BEISPIEL für ein vollständiges Playbook-Beispiel.

Beitragen

Beiträge sind erwünscht. Bitte siehe BEITRAGEN für weitere Details.

Über das Projekt

Installs and configures Netbox

Installieren
ansible-galaxy install jvoss.netbox
GitHub Repository
Lizenz
mit
Downloads
178
Besitzer