0

我正在尝试使用 Consul 模板为应用程序模板配置。我希望使用 Consul 可发现的节点地址具有以下形式metrics-server(或者metrics-server.example.com我可以随后解析)。

下面的代码当前正在呈现一个 IP 地址,例如125.32.546.1,不是我需要的完全限定域名。

{{ with node }}{{ .Node.Address }}{{ end }}

有没有办法使用 Consul Template 语法检索域名而不使用.Node和额外的解析?

4

1 回答 1

0

在查看了 Consul 源代码(特别是structs.go)并经过反复试验后,我确定

{{ with node }}{{ .Node.Node }}{{ end }}

会呈现

metrics-server.example.com

然后我使用了一些 Golang模板逻辑来拆分.并获取结果切片的第一个元素。那是,

{{ with node }}{{ index (split "." .Node.Node) 0 }}{{ end }}

渲染

metrics-server
于 2019-08-05T16:11:25.373 回答