我正在字符串中传递值(描述可以是"第一个描述"、"第二个描述",但相同(。
templates:
description:
- First description
- Second description
name:
- First name
- Second name
references:
- First reference
- Second reference
对于模板属性:
templates:
- description: First description
name: First name
references:
- First reference
- description: Second description
name: Second name
references:
- Second reference
我试过
{{- range $key,$values := .Values.templates }}
- {{ $key }}: {{$values}}
{{ $key }}: {{$values}}
{{ $key }}: {{$values}}
{{- end }}
但我离结果还很远。
需要一些逻辑判断才能实现,这种转换不是一个好的解决方案
values.yaml
templates:
description:
- "First-description"
- "Second-description"
- "33333-description"
name:
- "First-name"
- "Second-name"
- "333-name"
references:
- "First-reference"
- "Second-reference"
- "3333-reference"
templateX.yaml
templates:
{{- if $.Values.templates }}
{{- range $i, $_ := $.Values.templates.name }}
{{- range $k, $v := $.Values.templates }}
{{- if eq $k "description" }}
- {{ $k }}: {{ index $v $i }}
{{- else if eq $k "references" }}
{{ $k }}:
- {{ index $v $i }}
{{- else }}
{{ $k }}: {{ index $v $i }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
更好的方法是尝试更新values.yaml 中数据的定义格式
像这样:
values.yaml
templates:
- description: First-description
name: First-name
references:
- First-reference
- description: Second-description
name: Second-name
references:
- Second-reference
- description: 3333-description
name: 3333-name
references:
- 3333-reference
- description: 4444-description
name: 4444-name
references:
- 4444-reference
templateX.yaml
templates:
{{- toYaml $.Values.templates | nindent 2 }}
如何使用--set
设置这些参数。示例:
- 添加时我想要--set number=First and
- --set number=秒
这个数字是为我有First和Second的所有单词设置的。
templates:
- description: First-description
name: First-name
references:
- First-reference
- description: Second-description
name: Second-name
references:
- Second-reference