我有 values.yml 文件,其中包含具有此格式和默认值的端口列表:
Ports:
- number: 443
protocol: http
Run Code Online (Sandbox Code Playgroud)
输出用作输入的端口列表的脚本为我提供了以下格式:
port_list=$(./get_ports.sh)
输出:
- 80
- 8080
Run Code Online (Sandbox Code Playgroud)
我希望生成的渲染模板是
Ports:
- number: 80
- number: 8080
Run Code Online (Sandbox Code Playgroud)
我将如何做到这一点?我在我的模板文件中尝试了以下内容:
{{- with .Values.Ports }}
Ports:
{{- toYaml . | nindent 8 }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
使用 helm 模板和设置values.Ports=$port_list,它最终给了我一个管道和一个额外的破折号,如下所示,我不知道它们来自哪里,我如何根据输入完成我想要的格式?
Ports:
|-
- number: 80
- number: 8080
Run Code Online (Sandbox Code Playgroud)
作为奖励,当未指定协议时,我还希望在我的端口列表中有一个默认协议。
Ports:
- number: 80
protocol: http
- number: 8080
protocol: http
Run Code Online (Sandbox Code Playgroud)
有没有一种干净的方法可以通过模板来做到这一点?