问题描述
说我有这些值
grafana:
...
ingress:
enabled: true
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths: ["/grafana"]
这是标准的头盔。出于这个原因,我想将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 }}
在this suggestion之后,我也尝试过
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 }}