可能不太清楚您试图获得什么结果,这将有助于添加您的输入,如您的values.yaml和所需的输出。不过,我添加了一个示例来回答您的问题。
受到启发
this answer
,你可以使用
词典
.
此代码将为所有
.Values.ingress.hosts
把它们放进
$hostsWithEnv
字典到列表中,可以通过
myhosts
钥匙
价值观
ingress:
hosts:
- one
- two
配置文件
{{- $hostsWithEnv := dict "myhosts" (list) -}}
{{- range $host := .Values.ingress.hosts -}}
{{- $var := printf "%s.domain.com" $host | append $hostsWithEnv.myhosts | set $hostsWithEnv "myhosts" -}}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
{{- range $hostsWithEnv.myhosts}}
- host: {{- printf " %s" . | trimSuffix "-" }}
{{- end }}
输出
$ helm install --debug --dry-run .
[debug] Created tunnel using local port: '62742'
...
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
- host: one.domain.com
- host: two.domain.com