Nun sind endlich alle Vorbereitungen abgeschlossen und demnächst wird es sich zeigen, ob es den ganzen Aufwand wert war. Ich habe die Anleitung von Semaphore zumindest teilweise gelesen 😉, aber wie das nun mal mit Anleitungen ist… langweilig. Ich probiere es einfach mal aus. Die Playbooks (auch die eigenen) kann man in einem Git-Repository ablegen. Das ist durchaus klug, weil Git eine eigene Versionierung u. v. m. mitbringt. Gerade bei Scripten/Code verliert man ohne Versionierung sehr schnell den Überblick über den Änderungsverlauf. Die Installation von Semaphore UI über die Community-Scripts habe ich bereits im ersten NetBox-Beitrag erwähnt. Ich werfe kurz einen Blick in das Installationsscript von Semaphore UI. Es werden bei der Installation von Semaphore via apt die Pakete ansible und git mitinstalliert, aber nicht weiter konfiguriert. Der Pfad zum Config-File steht ebenfalls in dem Installscript oder man sieht es bei systemd.
In /opt/semaphore/config.json steht momentan nur das Allernötigste. Hier wäre die Seite zum Nachschlagen der (zahlreichen) möglichen Parameter (Docker ENV und Config-File-Variablen).
Für die Playbooks lege ich ein lokales Git-Repository an:
mkdir -p /opt/semaphore/playbooks cd /opt/semaphore/playbooks git init
Für NetBox gibt es eine sogenannte Ansible-Collection, die die Kommunikation mit Ansible einfach möglich macht. Die lange Liste mit allen möglichen Befehlen, um NetBox zu beschreiben, ignoriere ich, interessant sind für mich momentan nur die Inventory- und Lookup-Plugins am Ende der Seite. In dem neuen Playbook-Verzeichnis jetzt ein neues Shellscript anlegen. Man muss python3-pip zuerst nachinstallieren, sonst funktioniert die Installation nicht.
apt update apt install -y python3-pip cd /opt/semaphore/playbooks nano install-netbox-collection.sh
hier folgendes einfügen:
#!/bin/bash set -e ansible-galaxy collection install netbox.netbox --upgrade pip3 install --upgrade pynetbox --break-system-packages
Durch –upgrade kann man das Script später erneut z. B. für Updates ausführen. Dann noch das Script ausführbar machen und in Git committen:
chmod +x install-netbox-collection.sh git add install-netbox-collection.sh git commit -m "Add netbox collection install script"
Jetzt kann man das Script in der GUI von Semaphore einbinden und gleich ausführen. Das Script installiert/aktualisiert die oben erwähnte Ansible-NetBox-Collection.
Sollten weitere Collections benötigt werden (vermutlich PVE), kann ich die später einfach in dem Script nachtragen.



