私は今これをやっています:
value: {{ required "A valid .Values.foo entry required!" .Values.foo }}
しかし、テンプレートで必要なすべての値に対して同じメッセージを表示するのは面倒であり、私の意見ではテンプレートが煩雑です。
テンプレートの外側でそれを定義できるより良い方法、またはテンプレート自体の中でそれを行うためのよりクリーンな方法はありますか?
不足しているアイテムの名前を必要なテキストに公開するには、次のようにします。
{{- range $field, $my_key := $data }}
{{- if hasKey $dic1 $my_key }}
{{ $field }}: {{ index $dic1 $my_key | b64enc}}
{{- else if hasKey $dic2 $my_key }}
{{ $field }}: {{ index $dic2 $my_key | b64enc}}
{{- else }}
{{ $field }}: {{ required (printf "key %s is missing" $my_key) nil }}
{{- end }}
{{- end }}
helm lint と-strict未定義の値をチェックするフラグ
$ helm lint --strict .
==> Linting .
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "mychart/templates/service.yaml": template: mychart/templates/service.yaml:10:19: executing "mychart/templates/service.yaml" at <.Values.foo>: map has no entry for key "foo"
Error: 1 chart(s) linted, 1 chart(s) failed