NetBox SLM

NetBox SLM erweitert NetBox um die Verwaltung von Softwareprodukten, Versionen, Installationen und Lizenzen. Lizenzen können optional einer NetBox-Mandantengruppe und einem Mandanten zugeordnet werden.

Diese Variante ist für NetBox 4.6.5 vorgesehen.

Funktionen

  • Softwareprodukte und Hersteller verwalten
  • Versionen, Release-Typen und Supportzeiträume erfassen
  • Installationen Geräten, virtuellen Maschinen oder Clustern zuordnen
  • Softwarelizenzen einschließlich Laufzeit, Umfang und Ablageort verwalten
  • Lizenzen Mandantengruppen und Mandanten zuordnen
  • Bedienung über die NetBox-Oberfläche und REST-API
  • Filter, Bulk-Import und Bulk-Bearbeitung

Installation

NetBox installiert lokale Erweiterungen aus /opt/netbox/local_requirements.txt. Die Git-URL muss dort dauerhaft eingetragen werden, damit das Plugin bei einem späteren NetBox-Upgrade erneut installiert wird.

1. Git-Repository als lokale Anforderung eintragen

echo "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" >> /opt/netbox/local_requirements.txt

Vorher kann geprüft werden, ob der Eintrag bereits vorhanden ist:

grep -qxF "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" /opt/netbox/local_requirements.txt || \
  echo "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" >> /opt/netbox/local_requirements.txt

2. Plugin mit Pip installieren

Die Installation muss im Python-Virtual-Environment von NetBox erfolgen:

/opt/netbox/venv/bin/pip install "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git"

Alternativ können alle lokalen Anforderungen installiert werden:

/opt/netbox/venv/bin/pip install -r /opt/netbox/local_requirements.txt

3. Plugin in NetBox aktivieren

In /opt/netbox/netbox/netbox/configuration.py ergänzen:

PLUGINS = [
    "netbox_slm",
]

Falls bereits andere Plugins eingetragen sind, wird "netbox_slm" lediglich zur vorhandenen Liste hinzugefügt. Eine zusätzliche PLUGINS_CONFIG-Konfiguration ist für den Standardbetrieb nicht erforderlich.

4. Datenbank migrieren und statische Dateien aktualisieren

cd /opt/netbox/netbox
/opt/netbox/venv/bin/python manage.py migrate
/opt/netbox/venv/bin/python manage.py collectstatic --no-input

5. NetBox-Dienste neu starten

Bei einer üblichen systemd-Installation:

sudo systemctl restart netbox netbox-rq

Je nach Installation können die Namen der Dienste abweichen.

Aktualisierung

/opt/netbox/venv/bin/pip install --upgrade --force-reinstall \
  "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git"
cd /opt/netbox/netbox
/opt/netbox/venv/bin/python manage.py migrate
/opt/netbox/venv/bin/python manage.py collectstatic --no-input
sudo systemctl restart netbox netbox-rq

Der Eintrag in /opt/netbox/local_requirements.txt bleibt dabei bestehen.

Deinstallation

  1. "netbox_slm" aus der PLUGINS-Liste entfernen.
  2. Die Git-Zeile aus /opt/netbox/local_requirements.txt entfernen.
  3. Das Python-Paket deinstallieren:
/opt/netbox/venv/bin/pip uninstall netbox-slm

Die Plugin-Tabellen werden dabei nicht automatisch aus der Datenbank gelöscht.

Ursprung und Lizenz

Dieses Repository basiert auf dem ursprünglichen Projekt ICTU/netbox_slm. ICTU ist der ursprüngliche Autor und Herausgeber. Mart Visser wird im Originalprojekt als Ansprechpartner genannt.

Die Anpassungen in diesem Fork werden unter git.mrblake.cc/MrBlake/NetBox-SLM gepflegt.

Das Projekt steht unter der Apache License 2.0. Die Hinweise auf die ursprünglichen Urheber bleiben erhalten.

S
Description
Netbox Software Lifecycle Management Extension
Readme Apache-2.0
471 KiB
Languages
Python 88.3%
HTML 11.7%