The Double-Brace Action Syntax
How template directives embed inside YAML.
The Double-Brace Action Syntax is a free Helm Academy lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Helm Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Code Inside YAML
Helm charts are not plain YAML. They are templates: ordinary YAML sprinkled with small bits of logic that Helm fills in for you. ✨
The Double Braces
Every template directive lives between two curly braces. The {{ }} pair is the doorway from static YAML into Helm's template engine.
name: {{ .Release.Name }}What Goes Inside
Whatever sits between the braces is called an action. Helm evaluates it at render time and drops the result back into your YAML.
Reading a Value
The simplest action just prints something. Here Helm replaces the action with the release name before the manifest is applied.
metadata:
name: {{ .Release.Name }}The Dot Is the Root
That leading dot is the context: the top-level object holding everything Helm knows. You walk into it with more dots, like .Release.Name.
Spaces Are Optional
Spaces inside the braces are just style. {{ .Chart.Name }} and {{.Chart.Name}} render the same. Helm convention favors the padded form for readability.
Actions That Print
An action that yields a value is an expression action. It substitutes text right where it sits, perfect for names, tags, and labels.
image: nginx:{{ .Values.image.tag }}Actions That Control
Other actions do not print at all. Keywords like if and range steer what renders, deciding whether a block appears or repeats.
Helm Speaks Go Templates
This whole syntax comes from Go's text/template engine. Helm layers extra functions on top, but the {{ }} foundation is pure Go.
Anything Outside Stays
Text outside the braces is passed through untouched. Only the actions get evaluated, so your YAML structure survives rendering intact. 🧱
apiVersion: apps/v1
kind: DeploymentRender to See It
Run helm template and watch each action vanish, replaced by its computed value. That output is exactly what reaches Kubernetes.
helm template ./mychartQuick Check
You spot {{ .Release.Name }} in a chart template.
Recap
You now know the core syntax: {{ }} marks an action, the dot is the root context, and everything outside the braces renders unchanged. 🎯
Frequently asked questions
Is the “The Double-Brace Action Syntax” lesson free?
Yes — the full text of “The Double-Brace Action Syntax” is free to read here on the web, and the Helm Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Helm Academy course, upgrade to CoddyKit PRO.
What will I learn in “The Double-Brace Action Syntax”?
How template directives embed inside YAML. You practise Helm Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Helm Academy?
No prior experience is required. Helm Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “The Double-Brace Action Syntax” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Helm Academy lesson?
Yes. Every Helm Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- The Double-Brace Action Syntax
- Trimming Whitespace with Dash Markers
- Comments and Quoting in Templates
- Common YAML Indentation Traps