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_foo
mit dem Wertconsul_bar
in Vault einen Key
vault_foo
mit 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=2
eine Datei my.cfg
erstellt, die folgendermaßen aussieht:
Das ist der Wert aus Consul: consul_bar
Das ist der Wert aus Vault: vault_bar
erstellt.
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?