Consul Template
Zur besseren Integration von Consul und Vault in typische Konfigurationsszenarien, die auf Konfigurationsdateien beruht, verwendet man consul-template.
Das wird in zwei unterschiedlichen Weisen verwendet:
als Binary
on One-Shot Mode: einmaliges Ausführen
in Observer Mode: immer wenn sich verwendete Konfigurationen in Consul/Vault verändern, dann erfolgt eine erneute Ausführung
als Service
Über Binary-Observer-Mode und als Service lassen sich auch Konfigurationsänderungen in Echtzeit an die beteiligten Service weitergeben.
Getting Started
Download des GO-Executables consul-template.
Angenommen man hat
in Consul einen Key
consul_foomit dem Wertconsul_barin Vault einen Key
vault_foomit dem Wertvault_bar
hinterlegt und my.cfg.tpl sieht folgendermaßen aus:
Das ist der Wert aus Consul: {{ key "consul_foo" }}
Das ist der Wert aus Vault: {{ with secret "vault_foo" }}dann wird hierdurch
consul-template \
-template=my.cfg.tpl:my.cfg \
-once \
-vault-retry-attempts=2 \
-consul-retry-attempts=2eine Datei my.cfg erstellt, die folgendermaßen aussieht:
Das ist der Wert aus Consul: consul_bar
Das ist der Wert aus Vault: vault_barerstellt.
Läßt man -once weg, so läuft der Prozess weiter und erzeugt bei Änderungen in Consul/Vault eine neue my.cfg Datei.
Syntax
Last updated
Was this helpful?