微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Helm 模板 - 如果数组中至少存在一个,则创建资源

如何解决Helm 模板 - 如果数组中至少存在一个,则创建资源

如果数组中至少存在一个秘密,我正在尝试创建资源。

例如:

values.yaml:

env:
- name: secret
  value: value

array1:
- name: one
  env:
  - name: secret
    value: value
- name: two
  env:
  - name: secret
    value: value

array2:
- name: one
  env:
  - name: secret
    value: value
- name: two
  env:
  - name: secret
    value: value 

pod.yaml

{{- if or (.Values.env) (.Values.array1.*.env) (.Values.array2.*.env) }}
apiVersion: v1
...
{{- end }}

附言我知道星号 * 在 Helm 中不起作用。举个例子。

我尝试执行类似 here 的操作,遍历范围,将输出分配给变量并检查值是否大于 0,但它不起作用。我对 Helm 不是很熟悉,也许你们知道怎么做?

{{- define "get-secrets" -}}
{{- $objects := .objects -}}
  {{- range $object := $objects -}}
    {{- range $secret := $object.env -}}
      {{- if $secret.name -}}
        {{- nindent 0 $secret.name -}}
      {{- end -}}
    {{- end -}}
  {{- end -}}
{{- end -}}

{{- $array1secrets := include "get-secrets" (dict "objects" .Values.array1) -}}
{{- $array2secrets := include "get-secrets" (dict "objects" .Values.array2) -}}
{{- if or (.Values.env) (gt (len $array1secrets ) 0) (gt (len $array2secrets ) 0) -}}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。