我正在使用sudo vault server -dev
创建Vault Dev Server,并使用以下命令添加一个简单的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"
]
任何帮助将不胜感激。
答案 0 :(得分:0)
KV v2的数据位于/data
prefix中。您需要在配置模板中将路径更改为getv "data/database/url"
或在标志中将前缀更改为/secret/data
。