Helm 模板:获取第一个数组元素的节点
Helm template: get node of first array element
假设我有这些值
grafana:
...
ingress:
enabled: true
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths: ["/grafana"]
这是标准的 helm。出于这个原因,我想将 hosts
保留为一个数组(即使它使下面的移动有点棘手)。我怎样才能获得第一个 .host
(我不介意任何其他可能的)以使 env.value
动态
containers:
- name: {{ .Chart.Name }}-grafana
env:
- name: GF_DOMAIN
value: chart-example.local
我试过了
env:
- name: GF_DOMAIN
{{- range .Values.grafana.ingress.hosts }}
value: {{ .host }}
{{- end }}
env:
{{- range .Values.grafana.ingress.hosts }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}
在之后,我也试过了
env:
{{- with .Values.grafana.ingress.hosts 0}}
- name: GF_DOMAIN
value: {{ .host }}
{{- end}}
或
value: {{ .Values.grafana.ingress.hosts 0 .host }}
value: {{ .Values.grafana.ingress.hosts | first.host}}
我该如何处理这种情况?
你需要的是 index
function:
env:
{{- with (index .Values.grafana.ingress.hosts 0) }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}
或者,first
也同样有效:
env:
{{- with (first .Values.grafana.ingress.hosts) }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}
假设我有这些值
grafana:
...
ingress:
enabled: true
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths: ["/grafana"]
这是标准的 helm。出于这个原因,我想将 hosts
保留为一个数组(即使它使下面的移动有点棘手)。我怎样才能获得第一个 .host
(我不介意任何其他可能的)以使 env.value
动态
containers:
- name: {{ .Chart.Name }}-grafana
env:
- name: GF_DOMAIN
value: chart-example.local
我试过了
env:
- name: GF_DOMAIN
{{- range .Values.grafana.ingress.hosts }}
value: {{ .host }}
{{- end }}
env:
{{- range .Values.grafana.ingress.hosts }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}
在
env:
{{- with .Values.grafana.ingress.hosts 0}}
- name: GF_DOMAIN
value: {{ .host }}
{{- end}}
或
value: {{ .Values.grafana.ingress.hosts 0 .host }}
value: {{ .Values.grafana.ingress.hosts | first.host}}
我该如何处理这种情况?
你需要的是 index
function:
env:
{{- with (index .Values.grafana.ingress.hosts 0) }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}
或者,first
也同样有效:
env:
{{- with (first .Values.grafana.ingress.hosts) }}
- name: GF_DOMAIN
value: {{ .host }}
{{- end }}