Не могу прочитать служебную мету с консул-шаблоном - PullRequest
0 голосов
/ 11 октября 2018

У меня есть тестовая служба, зарегистрированная в Консуле со следующим определением службы:

{
  "name": "web",
  "tags": ["web1"],
  "address": "example.com",
  "meta": {
    "meta": "cluster",
    "acl": "host_test",
    "cluster": "test_cluster"
  },
  "port": 8000
}

И я хочу загрузить эту информацию в конфигурацию HAProxy, используя consul-template.Я могу получить адрес и порт, как указано в документации:

{{ range service "web" }}{{if in .Tags "web1"}}
    server {{.Node}} {{ .Address }}:{{.Port}} cookie A check
    {{ end }}{{end}}

Но я не могу получить метаинформацию.Я думал, что могу получить доступ к этому, используя что-то вроде этого в пределах диапазона обслуживания:

 {{range .Meta}}
  {{.}}{{end}}

Есть идеи, как я могу получить acl или кластер из мета?

1 Ответ

0 голосов
/ 27 марта 2019

Чтобы использовать пары ключ: значение из мета-карты, необходимо использовать index.Кроме того, мета-карта в сервисе называется .ServiceMeta.

. Например, чтобы получить значение ключа acl в мета-версии, вы должны использовать:

{{index .ServiceMeta "acl"}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...