Intrinsic Functions
The Helm lexicon provides 23 intrinsic functions.
Tag? shows how an intrinsic is authored: a genuine tagged template (Sub\…`) or a plain function call (Ref(…)). **Folds?** shows whether [folding](/chant/concepts/typescript-as-data/#folded-vs-run) — the default chant build path — can reduce a use of this intrinsic today, without running the file — generated directly from this lexicon's registration, not restated by hand. A tagged template folds once it is registered. A plain call folds only where this lexicon has opted that intrinsic in one at a time (foldsAsCall), so a No` in this column means this intrinsic has not been opted in, not that calls in general cannot fold.
| Function | Description | Output Key | Tag? | Folds? |
|---|---|---|---|---|
values | Proxy accessor for {{ .Values.x }} references | values | No | No |
Release | Built-in Release object (Name, Namespace, etc.) | Release | No | No |
ChartRef | Built-in Chart object (Name, Version, AppVersion) | ChartRef | No | No |
include | Include a named template: {{ include “name” . }} | include | No | Yes |
required | Require a value: {{ required “msg” .Values.x }} | required | No | Yes |
helmDefault | Default value: {{ default “def” .Values.x }} | helmDefault | No | Yes |
toYaml | Convert to YAML: {{ toYaml .Values.x | nindent N }} | toYaml | No |
quote | Quote a value: {{ .Values.x | quote }} | quote | No |
printf | Format string: {{ printf “%s” .Values.x }} | printf | No | Yes |
tpl | Evaluate template: {{ tpl .Values.x . }} | tpl | No | Yes |
lookup | Lookup resource: {{ lookup “v1” “Secret” “ns” “name” }} | lookup | No | Yes |
Capabilities | Built-in Capabilities object (KubeVersion, APIVersions, HelmVersion) | Capabilities | No | No |
Template | Built-in Template object (Name, BasePath) | Template | No | No |
filesGet | .Files.Get: {{ .Files.Get “path” }} | filesGet | No | Yes |
filesGlob | .Files.Glob: {{ .Files.Glob “pattern” }} | filesGlob | No | Yes |
filesAsConfig | .Files.Glob.AsConfig for ConfigMap data | filesAsConfig | No | Yes |
filesAsSecrets | .Files.Glob.AsSecrets for Secret data | filesAsSecrets | No | Yes |
ElseIf | Else-if chaining: {{- else if .Values.x }}…{{- end }} | ElseIf | No | No |
If | Conditional: {{- if .Values.x }}…{{- end }} | If | No | No |
Range | Range loop: {{- range .Values.x }}…{{- end }} | Range | No | No |
With | With scope: {{- with .Values.x }}…{{- end }} | With | No | No |
withOrder | Helm hook annotations for resource ordering (pre-install/pre-upgrade) | withOrder | No | No |
argoWave | Argo CD sync wave annotation | argoWave | No | No |