如何在Helm模板中以YAML文件内容为元素创建数组
解决方案
问题出在你使用toYaml和nindent的组合,导致Helm将文件内容渲染成了YAML块标量(带|的格式)。只需调整模板逻辑,直接处理文件内容的缩进和换行即可:
修改后的模板代码:
{{ printf "files:" | nindent 8 -}} {{- range $stagesPath := $.Files.Glob "files/*.yaml" }} {{- $content := $.Files.Get $stagesPath | trim }} {{- printf "- %s" $content | nindent 8 }} {{- end }}
关键调整点:
- 使用
trim过滤文件内容首尾的换行和空白字符,避免生成多余的空行 - 直接将
-与处理后的文件内容拼接,再通过nindent 8控制整体缩进,确保内容和列表符号在同一行
这样渲染后就能得到你期望的格式:
files: - name: abc - name: xyz
内容的提问来源于stack exchange,提问作者Aziz
相关产品推荐
相关产品推荐

