kin*_*dot 1 go-templates kubernetes-helm
我有一个字符串数据列表或(切片),例如[string1, string2, string3]。我想在 yaml 文件中以列表方式呈现它
- string1
- string2
- string3
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我努力了
{{- range $val := $list }}
- {{ $val }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
但它将以下内容呈现为多行字符串
- |-
- string1
- string2
- string2
Run Code Online (Sandbox Code Playgroud)
任何想法?先感谢您
您可以使用格式化字符串输出来解决该问题。
\n例如。
\n值.yaml
\narr:\n - string1\n - string2\n - string3\nRun Code Online (Sandbox Code Playgroud)\n_helpers.tpl
\n{{/*\nPrint string from list split by ,\n*/}}\n{{- define "print.list" -}}\n{{- range $idx, $val := $.Values.arr -}}\n{{- if $idx }}\n{{- print ", " -}} \n{{- end -}}\n{{- $val -}}\n{{- end -}}\n{{- end -}}\nRun Code Online (Sandbox Code Playgroud)\n例如,您要渲染的模板comfigmap.yaml
apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: {{ include "test.fullname" . }}\ndata:\n test: [{{- include "print.list" .}}]\nRun Code Online (Sandbox Code Playgroud)\n输出
\npiVersion: v1\nkind: ConfigMap\nmetadata:\n name: test\ndata:\n test: [string1, string2, string3]\nRun Code Online (Sandbox Code Playgroud)\n---\xe2\x86\x93 2022-01-05 更新 \xe2\x86\x93---
\n值.yaml
\narr:\n - string1\n - string2\n - string3\nRun Code Online (Sandbox Code Playgroud)\n例如,您要渲染的模板comfigmap.yaml
apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: {{ include "test.fullname" . }}\ndata:\n test: |\n {{- toYaml $.Values.arr | nindent 4 }}\nRun Code Online (Sandbox Code Playgroud)\n输出
\npiVersion: v1\nkind: ConfigMap\nmetadata:\n name: test\ndata:\n test: |\n - string1\n - string2\n - string3\nRun Code Online (Sandbox Code Playgroud)\n没有管道
\nhelm --dry-run --debug template test .
例如,您要渲染的模板comfigmap.yaml
apiVersion: v1\nkind: ConfigMap\nmetadata:\n name: {{ include "test.fullname" . }}\ndata:\n test: \n {{- toYaml $.Values.arr | nindent 4 }}\nRun Code Online (Sandbox Code Playgroud)\n输出
\npiVersion: v1\nkind: ConfigMap\nmetadata:\n name: test\ndata:\n test: \n - string1\n - string2\n - string3\nRun Code Online (Sandbox Code Playgroud)\nrange
{{- range $i, $v := $.Values.arr }}\n- {{ $v }}\n{{- end }}\nRun Code Online (Sandbox Code Playgroud)\n输出
\n- string1\n- string2\n- string3\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
6881 次 |
| 最近记录: |