brucellino.consul
Ansible-Rolle Consul
Eine Ansible-Rolle zum Bereitstellen von Hashicorp Consul auf unterstützten Plattformen, die dem Datacenter-Bereitstellungsleitfaden folgt. Diese Rolle soll ein Basis-Image bereitstellen, das die Sicherheitsressourcen von Consul (Gossip-Schlüssel und CA) aus einem sicheren Speicher in einer Vault-Instanz abruft.
Mit dieser Rolle können Sie ein Image für einen Server und einen Agenten bereitstellen und dann diese Images verwenden, um Instanzen zu starten, die den Cluster einrichten und Knoten automatisch beitreten.
Funktionen
Diese Rolle stellt bereit:
- Consul selbst, im Agent- und Servermodus
- Weitere notwendige Tools (
consul-template
,vault
) - Consul TLS und Geheimnisse für Gossip, die aus Vault gelesen werden
Die Rolle ist so konzipiert, dass der Vault-Agent die Konfigurationsdateien von Consul template.
Es gibt experimentelle Unterstützung zum Verbindungsaufbau mit WLAN-Netzwerken.
Anforderungen
Diese Rolle benötigt eine funktionierende Vault-Instanz mit TLS-Geheimnissen und Gossip-Schlüsseln an einem bestimmten Pfad. Maschinen sind so konfiguriert, dass sie sich mit einer Approle Role ID bei Vault authentifizieren.
Diese Rolle kann auf virtuellen Maschinen, physischen Maschinen und Docker-Containern angewendet werden. Unterstützung für OCI-Container wird kommen, sobald ich herausfinde, wie ich zuverlässig feststellen kann, ob wir uns in einem beliebigen Containertyp befinden.
Rollenvariablen
Siehe defaults/main.yml
für Standardvariablen.
Abhängigkeiten
Keine Abhängigkeiten von anderen Rollen.
Beispiel-Playbook
Für ein Beispiel-Playbook siehe .github/build/playbook.yml
. Ein Beispiel-Packer-Template, das die Images erstellt, befindet sich in .github/build/consul.pkr.hcl
.
Lizenz
MIT
Autor
@brucellino brucellino@proton.me
ansible-galaxy install brucellino.consul