Semaphore UI: steuert Ansible und OpenTofu zentral Kurzlebige Token statt dauerhafter Zugangsdaten

Von Thomas Joos 2 min Lesedauer

Anbieter zum Thema

Automatisierung im Rechenzentrum verteilt sich oft auf einzelne Skripte, Cron-Jobs und lokale Playbooks. Semaphore UI führt Ansible, OpenTofu und weitere Werkzeuge unter einer Weboberfläche zusammen und vergibt Rechte, Zeitpläne und Zugangsdaten an zentraler Stelle.

Semaphore UI: steuert Ansible und OpenTofu zentral(Bild:  Thomas Joos)
Semaphore UI: steuert Ansible und OpenTofu zentral
(Bild: Thomas Joos)

Semaphore UI läuft als einzelner Go-Dienst und steuert Ansible, Terraform, OpenTofu,PowerShell, Bash und Python über eine gemeinsame Oberfläche). Der Dienst speichert Inventar, Variablen und Geheimnisse zentral, protokolliert jede Ausführung und trennt Projekte voneinander, sodass mehrere Teams denselben Server ohne gegenseitigen Zugriff auf fremde Vorlagen nutzen. Administratoren starten Aufgaben aus dem Browser oder über eine dokumentierte API, ohne sich auf den Zielsystemen direkt anzumelden. Verteilte Runner führen die Aufgaben auf mehreren Servern im eigenen Rechenzentrum parallel aus.

Werkzeuge unter einer Oberfläche

Semaphore UI vergibt Rechte über eine rollenbasierte Zugriffskontrolle, ordnet jeden Job einem Projekt zu und hält im Audit-Protokoll fest, wer eine Aufgabe zu welchem Zeitpunkt und mit welcher Vorlage gestartet hat. Für die Datenhaltung nutzt der Dienst wahlweise MySQL, PostgreSQL oder SQLite, der Betrieb gelingt auf einem einzelnen Server ebenso wie auf Docker, auf Kubernetes und über ein Helm-Diagramm im eigenen Cluster des Rechenzentrums. Der Dienst bündelt mehrere Bausteine der Automatisierung:

  • Inventar: verwaltet Zielhosts und Gruppen für Ansible und Terraform
  • Zugangsdaten: legt SSH-Schlüssel, Passwörter und Zertifikate verschlüsselt in der Datenbank ab
  • Zeitpläne: starten wiederkehrende Aufgaben ohne externen Cron-Dienst
  • Runner: verteilen die Ausführung auf mehrere Server im Rechenzentrum
  • API: steuert jede Funktion über eine dokumentierte Swagger-Schnittstelle

Zugangsdaten ohne Dauerhaftigkeit

Die aktuelle Version stellt Semaphore UI als OIDC-Anbieter bereit. Für jede Aufgabe stellt der Dienst ein kurzlebiges, ECDSA-signiertes JWT aus, mit dem sich der Job an externen Systemen anmeldet, ohne dass ein dauerhaftes Geheimnis auf dem Runner oder im Playbook liegen bleibt. Vault, OpenBao und AWS akzeptieren dieses Token anschließend als gültigen Nachweis der Identität. Ergänzend rotiert Semaphore UI seine Verschlüsselungsschlüssel über benannte Schlüsselringe, die als Inline-Werte oder als Ordner mit einer Datei je Schlüssel vorliegen. Ein Rechenzentrum senkt so die Zahl langlebiger Zugangsdaten in der Automatisierung.

Ausführung in Containern

Für die Ausführung in Containern liefert das Projekt ein Job-Image, das Terraform, OpenTofu und Terragrunt enthält. Über Docker- und Kubernetes-Executoren startet Semaphore UI eine Aufgabe in einem isolierten Pod oder Container. Jede Ausführung erhält so eine frische Umgebung ohne Reste einer vorherigen Aufgabe. Beide Executoren gehören zu den Pro- und Enterprise-Stufen, die Community-Version führt die Aufgaben direkt auf dem Server aus.

Ein grafischer Editor im Browser verbindet mehrere Vorlagen zu einer durchgehenden Pipeline. Vorlagen nehmen Umfrage-Variablen entgegen, die der Job beim Start als Umgebungsvariablen an das Playbook übergibt. Git-Operationen laufen je Repository nacheinander ab und verhindern beschädigte Arbeitskopien bei parallelem Zugriff auf dasselbe Verzeichnis. Eine Keyset-Paginierung sortiert die Aufgaben-Historie auch bei Millionen Einträgen ohne langsame Abfragen über einen wachsenden Versatz.

Fazit

Semaphore UI bündelt die Infrastruktur-Automatisierung eines Rechenzentrums unter einer Oberfläche und protokolliert jede Ausführung samt Urheber. Die kurzlebigen Token senken die Zahl dauerhafter Geheimnisse, die Anbindung an Vault und OpenBao fügt den Dienst in bestehende Umgebungen ein. Der quelloffene Community-Kern deckt Ansible, Terraform und PowerShell ab, die erweiterten Executoren für Docker und Kubernetes gehören zu den kostenpflichtigen Stufen.

(ID:50936426)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung