ポッドでボールトを実行しています。ボールト読み取りを使用してシークレットを読み取ることができます。
$ vault read test
Key Value
--- -----
refresh_interval 768h
value world
$ vault kv get test
==== Data ====
Key Value
--- -----
value world
Api の両方のバージョンを使用して、vault 内のシークレットを確認できます
Vault シークレット エンジンを一覧表示すると、それらがはっきりとわかります。
$ vault secrets list
Path Type Description
---- ---- -----------
secret/ kv key/value secret storage
test/ kv n/a
私の Consul-template テンプレートには次のものがあります
[default]
{{ with secret "test"}}
{{ if .Data.value }}
consul_template_value = {{ .Data.value }}
{{ end }}
{{ end }}
私の consul-template は、上記のファイルを読み取り、現在のエラーを返すサイドカー ポッドです。
watcher reported error: vault.read(test): no secret exists at test
[ERR] (cli) vault.read(test): no secret exists at test
consul-template サイドカーのトレースをオンにしました
[TRACE] (view) vault.read(test) starting fetch
[TRACE] vault.read(test2): GET /v1/test?stale=true&wait=1m0s
[WARN] (view) vault.read(test): no secret exists at test (retry attempt 1 after "250ms")
curl で Vault API を確認しました
curl -k -H "X-Vault-Token: TOKEN" -X GET https://X.X.X.X/v1/test?stale=true
私は応答を得る
{
"request_id":"aa947343-723a-45fc-cdee-7394c3074a4c",
"lease_id":"",
"renewable":false,
"lease_duration":2764800,
"data":{
"value":"word"
},
"wrap_info":null,
"warnings":null,
"auth":null
}
github で同様の問題を見つけましたhttps://github.com/hashicorp/consul-template/issues/341
どんなアイデアでも役に立ちます