执政官模板写入文件失败:缺少目标



我遇到了一个关于领事模板的问题。我正试图从我的kv存储中获取数据,并将其与我的template.hcl 一起发送到.pem文件中

问题是,我已经填充了我的template.hcl,当我试图用以下命令启动我的consul模板时:

consul-template -template /etc/consul.d/templates.hcl -once

这条消息让我大吃一惊:

2022-07-20T09:42:35.426Z [ERR] (cli) error rendering "/etc/consul.d/templates.hcl" => "": failed writing file: missing destination

这是我的template.hcl文件:

consul {
address = "consul.service.consul:8500"
retry {
enabled = true
attempts = 12
backoff = "250ms"
}
}
template {
contents = "{{ key "certs/pos.in.kv.store/cert.pem" }}"
destination = "/etc/ssl/haproxy/star.cert.emplacment.fr.pem"
perms = 0640
exec {
command = "sudo haproxy -v -c -f /etc/haproxy/haproxy.cfg && sudo haproxy -D -p /var/run/haproxy.pid
-f"
}
}

目的地已经设置好了,所以我不知道哪里有问题,你能帮我吗?

我不知道该往哪里看了:(

您似乎将模板配置文件与模板本身混合在一起。所有模板语言语法都应该放在一个不同的文件中,比如"star.cert.emplacment.fr.pem.ctmpl",它将由consul模板呈现到您的目的地。

创建一个源文件star.cert.emplacment.fr.pem.ctmpl,该文件具有类似的所有双curlies{{}}

{{ key "certs/pos.in.kv.store/cert.pem" }}

然后,在您的配置文件(hcl(中,将该文件指示为源:

template {
source = "/etc/ssl/haproxy/star.cert.emplacment.fr.pem.ctml"
destination = "/etc/ssl/haproxy/star.cert.emplacment.fr.pem"

您指定的输出文件如下:

consul-template -template "/etc/consul.d/templates.hcl:out.txt" -once

相关内容

  • 没有找到相关文章

最新更新