舵帮助包含在_helpers中定义的地图

时间:2019-03-08 14:06:53

标签: kubernetes-helm

我尝试包含一个在_helper.tpl文件中定义的地图,但我不能。我收到错误消息:“在:范围不能迭代”(仅此而已)。

values.yaml

<input class="input-base-input" id="pincode" name="pincode" maxlength="6" required>
<label class="input-base-label" for="pincode">Pin code</label>

_helpers.tpl

services:
  - serviceX
  - serviceY

configmap.yaml

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

我真的不知道如何设置地图并将其包含在我的configmap文件中。 include方法是否支持地图类型?看来它只返回字符串。

谢谢

1 个答案:

答案 0 :(得分:0)

将所有逻辑移至 __ 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 }}