Я пишу библиотечную диаграмму Helm 3 и хотел бы создать YAML со значениями по умолчанию. Тем не менее, при попытке установить значение по умолчанию для вложенного ключа, который не существует, Helm завершается ошибкой со следующим сообщением об ошибке:
nil pointer evaluating interface {}
Скажите, что у меня есть этот фрагмент в моем объекте Kubernetes:
{{- if eq (.Values.deployment.scale.type | default "static") "static" }}
replicas: {{ default "3" .Values.deployment.scale.replicas }}
{{- end }}
Если определено .Values.deployment.scale
, шаблон будет хорошо отображаться, и значение replicas
будет равно 3, даже если .Values.deployment.scale.replicas
не определено.
Однако, если один из родительских ключей не определен, Helm завершится с ошибкой с сообщением об ошибке выше. Например, если values.yaml
следующее:
# values.yaml
deployment:
not_scale: {}
Визуализация завершится неудачно с: nil pointer evaluating interface {}.scale
Как можно установить значение по умолчанию для вложенного ключа, даже если его родительские ключи не определены?