yaml 文件。 我有一个在全局下定义的值如下
global:
logging:
log4j:
enabled: true
我还有辅助功能
{{- define "helm-basic-template.logging-enabled" -}}
{{ .Values.global.logging.log4j.enabled | default "false" }}
{{- end -}}
属性 global.logging.log4j.enabled 可能不存在,在这种情况下,我希望辅助函数返回 false,否则返回属性的值。 但是它没有按我的预期工作。知道我的功能有什么问题吗?或者有其他更好的方法来重写它? 谢谢你
为了避免变量未定义,这里需要进行额外的检查。
根据helm文档,当对象为空时,if语句判断返回false。
如果值为以下情况,则管道被评估为 false:
{{- if .Values.global }}
{{- if .Values.global.logging }}
{{- if .Values.global.logging.log4j }}
{{- if .Values.global.logging.log4j.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: logging-cm
data:
conf.json: |
xxxxx
...
{{- end }}
{{- end }}
{{- end }}
{{- end }}