12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- {{/*
- Copyright Broadcom, Inc. All Rights Reserved.
- SPDX-License-Identifier: APACHE-2.0
- */}}
- {{/* vim: set filetype=mustache: */}}
- {{/*
- Renders a value that contains template perhaps with scope if the scope is present.
- Usage:
- {{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ ) }}
- {{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ "scope" $app ) }}
- */}}
- {{- define "common.tplvalues.render" -}}
- {{- $value := typeIs "string" .value | ternary .value (.value | toYaml) }}
- {{- if contains "{{" (toJson .value) }}
- {{- if .scope }}
- {{- tpl (cat "{{- with $.RelativeScope -}}" $value "{{- end }}") (merge (dict "RelativeScope" .scope) .context) }}
- {{- else }}
- {{- tpl $value .context }}
- {{- end }}
- {{- else }}
- {{- $value }}
- {{- end }}
- {{- end -}}
- {{/*
- Merge a list of values that contains template after rendering them.
- Merge precedence is consistent with http://masterminds.github.io/sprig/dicts.html#merge-mustmerge
- Usage:
- {{ include "common.tplvalues.merge" ( dict "values" (list .Values.path.to.the.Value1 .Values.path.to.the.Value2) "context" $ ) }}
- */}}
- {{- define "common.tplvalues.merge" -}}
- {{- $dst := dict -}}
- {{- range .values -}}
- {{- $dst = include "common.tplvalues.render" (dict "value" . "context" $.context "scope" $.scope) | fromYaml | merge $dst -}}
- {{- end -}}
- {{ $dst | toYaml }}
- {{- end -}}
- {{/*
- Merge a list of values that contains template after rendering them.
- Merge precedence is consistent with https://masterminds.github.io/sprig/dicts.html#mergeoverwrite-mustmergeoverwrite
- Usage:
- {{ include "common.tplvalues.merge-overwrite" ( dict "values" (list .Values.path.to.the.Value1 .Values.path.to.the.Value2) "context" $ ) }}
- */}}
- {{- define "common.tplvalues.merge-overwrite" -}}
- {{- $dst := dict -}}
- {{- range .values -}}
- {{- $dst = include "common.tplvalues.render" (dict "value" . "context" $.context "scope" $.scope) | fromYaml | mergeOverwrite $dst -}}
- {{- end -}}
- {{ $dst | toYaml }}
- {{- end -}}
|