Helm v3 を使用すると、次のテンプレートが壊れてエラーが発生します。
Error: INSTALLATION FAILED: template: rabbitmq/templates/secrets.yaml:4:31: executing "rabbitmq/templates/secrets.yaml" at <.Values.global.rabbitmq.password>: nil pointer evaluating interface {}.rabbitmq
の内容rabbitmq/templates/secrets.yaml
:
{{- $def := index .Values "default" -}}
apiVersion: v1
data:
rabbitmq-password: {{ $def.global.rabbitmq.password | default $def.RABBITMQ_PASSWORD | b64enc | quote }}
rabbitmq-erlang-cookie: {{ randAlphaNum 20 | b64enc | quote }}
kind: Secret
metadata:
name: rabbitmq-password
type: Opaque
これは、.Values.global.{}
存在する場合に機能します。ただし、.Values.global
存在しない場合、$def.RABBITMQ_PASSWORD
期待どおりにフォールバックしません。