0

我正在创建一个 Vault Dev Server,sudo vault server -dev并使用以下内容放置一个简单的 KV v2 机密:

vault kv put secret/database url=db.example.com

我希望confd在 Vault 中的 KV 存储中更改值时选择该值。但我得到了错误:

FATAL template: env.tmpl:2:9: executing "env.tmpl" at <getv "database/url">: error calling getv: key does not exist: database/url

当我运行时:

sudo confd --onetime --log-level debug --backend vault --auth-type token --auth-token s.ossadqwsssssssafadsd --node http://127.0.0.1:8200 -prefix='/secret'

/etc/confd/templates/env.tmpl的是:

[myconfig]
url = {{ getv "database/url" }}

并且/etc/confd/conf.d/myconfig.toml

[template]
src = "env.tmpl"
dest = "env.conf"
keys = [
   "secret/database"
]

任何帮助,将不胜感激。

4

1 回答 1

0

KV v2 在/data前缀中包含数据。您需要将路径更改为getv "data/database/url"在配置模板中或将前缀更改为/secret/data在标志中。

于 2019-05-29T04:43:19.720 回答