Ansible Semaphore #
Ansible Semaphore ist eine quelloffene, webbasierte Benutzeroberfläche zur Verwaltung und Ausführung von Ansible Playbooks. Sie bietet eine zentralisierte Plattform für Teams zur Zusammenarbeit bei Automatisierungsaufgaben.
Status #
Deployment #
Quelle #
Diese Anwendung wird unter Verwendung des ansible-semaphore Helm-Charts aus dem cloudhippie Repository bereitgestellt.
Dokumentation #
Die offizielle Dokumentation von Ansible Semaphore ist unter docs.ansible-semaphore.com zu finden.
Ansible Semaphore GitHub Repository
Funktion #
Dieser Dienst bietet eine zentrale Schnittstelle für die Verwaltung und Ausführung von Ansible-Automatisierungen. Er ermöglicht die Zusammenarbeit von Teams, die Planung von Aufgaben und die Überwachung von Ausführungen.
Lokale Anpassungen #
Die Konfiguration erfolgt über die values.yaml-Datei.
Wichtige Einstellungen #
- Datenbank: Es wird eine externe
MariaDB-Datenbank verwendet. - Ingress: Der Zugriff auf die Weboberfläche wird über einen Ingress mit einem Hostnamen ermöglicht und durch Traefik verwaltet. Das TLS-Zertifikat wird über
cert-managerbereitgestellt. - Speicher: Ein PersistentVolume wird für die Speicherung der Konfiguration und der Playbooks verwendet.
- Authentifizierung: Die Benutzerauthentifizierung erfolgt über LDAP und OIDC.
Installation #
Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/ansible-semaphore-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:
1kubectl kustomize --enable-helm apps/ansible-semaphore | kubectl apply -n ansible-semaphore -f -
Abhängigkeiten #
- Ein laufender Kubernetes-Cluster.
- Ein Ingress-Controller (z.B. Traefik) für den externen Zugriff.
- Eine Datenbank (z.B. MariaDB).
- Ein LDAP-Server für die Benutzerauthentifizierung (optional).
- Ein OIDC-Anbieter (z.B. Authentik) für die Authentifizierung (optional).
- Ein SMTP-Server für E-Mail-Benachrichtigungen (optional).
- Ein NFS-Server für persistente Speicherung.
- cert-manager: Wird für die automatische Bereitstellung von TLS-Zertifikaten benötigt.
- Longhorn/NFS: Ein Storage-Provider wird für die PersistentVolumes benötigt.