Хелм включает карту определения в _helpers - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь включить карту, которая определена в файле _helper.tpl, но не могу. Я получаю ошибку «at: range не может перебрать» (ничего более).

values.yaml

services:
  - serviceX
  - serviceY

_helpers.tpl

{{/*
Define the mapping values
*/}}
{{- define "associated.resources" }}
{{- $resourceMapping := dict "serviceX" "config1" "serviceY" "config2" "serviceZ" "config5" -}}
{{- end }}

configmap.yaml

...
{{- $resourcesMap := include "associated.resources" . }}
{{- range $k, $v := $resourcesMap }}
{{- if (has $k $.Values.services) }}
   - $v
{{- end }}
{{- end }}

Я действительно не знаю, как установить карту и включить ее в файл конфигурации. Поддерживает ли метод include тип карты? Кажется, он возвращает только строку.

Спасибо

1 Ответ

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

Перемещение всей логики в __ helpers.tpl может решить проблему.

__ helpers.tmp

{{/*
Define the mapping values
*/}}
{{- define "associated.resources" }}
{{- $resourceMapping := dict "serviceX" "config1" "serviceY" "config2" "serviceZ" "config5" -}}
{{- range $k, $v := $resourceMapping }}
{{- if (has $k $.Values.services) }}
  - {{ $v }}
{{- end }}
{{- end }}
{{- end }}

configmap.yaml

{{-  include "associated.resources" . | indent 6 }}
...