Group device, virtual machine, and cluster as the required platform destination and validate that exactly one is selected with an actionable localized error.
135 lines
4.4 KiB
Markdown
135 lines
4.4 KiB
Markdown
# 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.
|
|
|
|
Die Oberfläche ist auf Englisch und Deutsch verfügbar. Die Sprache richtet sich nach der in NetBox für den
|
|
Benutzer ausgewählten Sprache.
|
|
|
|
## 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
|
|
- Lifetime-Lizenzen oder Erneuerungsintervalle in Tagen, Monaten oder Jahren erfassen
|
|
- Lizenzdateien, Lizenzschlüssel und Links zum Anbieterportal hinterlegen
|
|
- Lizenzen Mandantengruppen und Mandanten zuordnen
|
|
- Bedienung über die NetBox-Oberfläche und REST-API
|
|
- Filter, Bulk-Import und Bulk-Bearbeitung
|
|
|
|
> **Hinweis:** Lizenzschlüssel werden in der NetBox-Datenbank und Lizenzdateien im konfigurierten NetBox-
|
|
> Medienverzeichnis gespeichert. Der Zugriff auf Datenbank, REST-API und Medienverzeichnis sollte entsprechend
|
|
> geschützt und gesichert werden.
|
|
|
|
## 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
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
/opt/netbox/venv/bin/pip install --upgrade --force-reinstall \
|
|
"git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git"
|
|
```
|
|
|
|
Alternativ können alle lokalen Anforderungen installiert werden:
|
|
|
|
```bash
|
|
/opt/netbox/venv/bin/pip install -r /opt/netbox/local_requirements.txt
|
|
```
|
|
|
|
Die installierte Version kann anschließend geprüft werden:
|
|
|
|
```bash
|
|
/opt/netbox/venv/bin/pip show netbox-slm
|
|
```
|
|
|
|
Für diese Variante muss dort mindestens Version `1.11.1` stehen.
|
|
|
|
### 3. Plugin in NetBox aktivieren
|
|
|
|
In `/opt/netbox/netbox/netbox/configuration.py` ergänzen:
|
|
|
|
```python
|
|
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
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
sudo systemctl restart netbox netbox-rq
|
|
```
|
|
|
|
Je nach Installation können die Namen der Dienste abweichen.
|
|
|
|
## Aktualisierung
|
|
|
|
```bash
|
|
/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:
|
|
|
|
```bash
|
|
/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](https://github.com/ICTU/netbox_slm). **ICTU** ist der ursprüngliche Autor und Herausgeber.
|
|
[Mart Visser](https://github.com/MartVisser) wird im Originalprojekt als Ansprechpartner genannt.
|
|
|
|
Die Anpassungen in diesem Fork werden unter
|
|
[git.mrblake.cc/MrBlake/NetBox-SLM](https://git.mrblake.cc/MrBlake/NetBox-SLM) gepflegt.
|
|
|
|
Das Projekt steht unter der [Apache License 2.0](LICENSE). Die Hinweise auf die ursprünglichen Urheber bleiben
|
|
erhalten.
|