Consul-Template语法

  consul-template解析以Go Template格式编写的文件,如果您不熟悉语法,请阅读Go的文档和示例。除Go提供的模板功能外,Consul Template还提供以下功能。

  §1. API函数

  API函数与远程API调用交互,与Consul和Vault等外部服务进行通信。

  datacenters

  查询Consul其中所有数据中心。

  {{ datacenter }}

  例如:

  {{ range datacenters }}

  {{ . }}{{ end }}

  结果:

  dc1

  dc2

  可以指定一个可选的布尔值,指示Consul Template忽略无法访问或没有当前leader的数据中心。启用此选项需要执行O(N + 1)操作,因此不建议在性能较高的环境中使用。

  // Ignores datacenters which are inaccessible

  {{ datacenters true }}

  file

  读取并输出磁盘上本地文件的内容。如果无法读取文件,则会发生错误。当文件更改时,Consul Template将获取更改并重新渲染模板。

  {{ file "

  " }}

  例如:

  {{ file "/path/to/my/file" }}

  结果:

  file contents

  这不会处理嵌套模板。有关呈现嵌套模板的方法,请参阅executeTemplate。

  key

  查询Consul获取给定键路径的值。如果密钥不存在,Consul Template将停止渲染,直到键值存在。要避免阻塞,请使用keyOrDefault或keyExists。

  {{ key "