kubernetes helm helper在map数组上迭代的问题

ulydmbyx  于 2023-11-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(125)

我有几个问题时,试图使用赫尔姆斯范围功能时,试图在一个数组的Map。
values.yaml -示例

global:
  envVars:
    externalSecret:
      - name: SECRET_NAME_1
        gcpSecret: SECRET_KEY_1
      - name: SECRET_NAME_2
        gcpSecret: SECRET_KEY_2

字符串
我把 Helm 助手放在一起是这样的:

{{- define "chart.envVars.externalSecret" -}}
{{- range $externalSecret := .Values.global.envVars.externalSecret -}}
- name: {{ .name }}
  valueFrom:
    secretKeyRef:
      name: {{ include "chart.fullname" $ }}
      key: {{ .gcpSecret | replace "_" " " | lower | camelcase }}
{{- end -}}
{{- end -}}


我期望输出的是:

- name: SECRET_NAME_1
  valueFrom:
    secretKeyRef:
      name: chart-fullname
      key: SecretName1
- name: SECRET_NAME_2
  valueFrom:
    secretKeyRef:
      name: chart-fullname
      key: SecretName2


然而,我所得到的是通过helm lint的这些错误

templates/deployment.yaml: unable to parse YAML: error converting YAML to JSON: yaml: mapping values are not allowed in this context


在deployment.yaml中,我所做的就是像这样调用定义的变量:

env:
  {{- include "chart.envVarsFull" . | nindent 12 }}


我已经尝试了多种方法来尝试覆盖这个列表,但我似乎可以通过错误声明Map是不允许的。
尝试过但仍然失败的例子

有比我更聪明的人吗?:D
干杯!干杯!

dy2hfwbg

dy2hfwbg1#

事实证明,是的,我是一个白痴!语法实际上工作,我正在寻找我的助手的错误区域,抛出错误。仅供参考,下面的yaml助手确实按预期工作:

{{- define "chart.envVars.externalSecret" -}}
{{- range $externalSecret := .Values.global.envVars.externalSecret }}
- name: {{ .name }}
  valueFrom:
    secretKeyRef:
      name: {{ include "chart.fullname" $ }}
      key: {{ .gcpSecret | replace "_" " " | lower | camelcase }}
{{- end -}}
{{- end -}}

字符串

相关问题