本文介绍了舵形模板:获取第一个数组元素的节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有这些值
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 }}
这篇关于舵形模板:获取第一个数组元素的节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!