Consul-Zertifikate aus OpenBao
Zielgruppe: Betreuer · Stand: 06.11.2026
Die Lab-Consul-Server holen ihre TLS-Zertifikate aus OpenBao und erneuern sie selbst. Die Consul-Clients bekommen ihre Zertifikate von den Servern. Diese Seite beschreibt den Ablauf. Das spätere Consul-Buch verlinkt hierher.
Lab-PoC: Die Lab-Consul-Server sind auf diesem Weg neu aufgebaut. Die ACL-Einrichtung ist noch nicht abgeschlossen, weil sie an der abgebauten Lab-Nomad-Anmeldung hängt.
Ablauf
- Das Terraform-Modul
proxmox/consullegt je Server eine an die Host-IP gebundene AppRole-Secret-ID an (siehe VMs per AppRole anmelden). - Die Ansible-Rolle
consulinstalliertbaound richtet denbao agentein. - Der Agent holt aus dem Mount
pki-consulZertifikat und Schlüssel (Server-Zertifikat fürserver.<dc>.consulund den FQDN des Hosts, Laufzeit 90 Tage) und lädt Consul bei jeder Erneuerung neu. - Clients holen ihre Zertifikate per
auto_encryptvom Server und brauchen nur die CA-Kette. Die Kette liest das Modul ohne Token aus OpenBao. - Gossip-Key und ACL-Bootstrap-Token spiegelt das Modul zusätzlich nach OpenBao (KV-Mount
consul/). Im Lab bleibt Bitwarden dafür führend, in DEV soll OpenBao allein die Quelle sein.
Versionen
- Modul
proxmox/consul: Linie 0.3 nur mit dem OpenBao-Weg, ab 0.3.1. Version 0.3.0 nicht verwenden, sie enthält noch den alten Stand. Die Linie 0.2 bleibt für den Bestand. - Die Pipeline des Stacks braucht
BAO_TOKENper GitLab-JWT (siehe Pipeline per GitLab-JWT anmelden) sowiecurlundjqim Runner-Image.
Prüfen
Der bao agent schreibt nach jedem Rendern eine Statusdatei unter /etc/consul.d/openbao/. Consul antwortet auf Port 8501 mit einem Zertifikat aus pki-consul.
Stolperfallen
Für Zertifikat, Schlüssel und CA nur eine template-Stanza mit pkiCert verwenden. Drei Stanzas stellen drei verschiedene Zertifikate aus, und Schlüssel und Zertifikat passen nicht zusammen.
.CAChaingibt es im Template nicht.ca.pemist das Intermediate, den Root-Anteil bringt das Modul-Bundle zu den Clients.- Lokale Verbindungen laufen über
127.0.0.1, nie überlocalhost. Das Zertifikat enthält keinenlocalhost-Namen. - Connect-CA über OpenBao ist noch offen. Ob der Vault-Provider von Consul mit OpenBao funktioniert, ist nicht belegt.
No comments to display
No comments to display