Release Metadata via .Release
Name, namespace, revision, and install flags.
Release Metadata via .Release is a free Helm Academy lesson on CoddyKit — lesson 2 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.
Meet the Release Object
While .Values holds config, .Release holds facts about this specific install: who it is, where it lives, and which revision it is.
The Release Name
.Release.Name is the name you gave the install. It is the most common way to prefix resource names so they stay unique. 🏷️
# helm install web ./mychart
name: {{ .Release.Name }}-configThe Target Namespace
.Release.Namespace is the namespace the release deploys into. Use it when a template needs to reference its own namespace explicitly.
namespace: {{ .Release.Namespace }}The Revision Number
.Release.Revision counts how many times this release has been installed or upgraded. A fresh install is revision 1.
IsInstall and IsUpgrade
Two booleans tell you the operation: .Release.IsInstall is true on first install, and .Release.IsUpgrade is true on every upgrade.
{{ if .Release.IsUpgrade }}upgrading{{ end }}Why Prefix With the Release Name
Installing one chart twice in a namespace would collide. Prefixing names with .Release.Name keeps each release's resources distinct.
The Service Field
.Release.Service reports the engine doing the render. For normal Helm runs its value is simply Helm.
Release Fields Are Read-Only
You cannot set .Release values from a chart; Helm fills them at render time. Treat the whole .Release object as read-only input.
A Common Naming Pattern
Many charts combine the release name and chart name for a unique fullname. .Release.Name is the half that makes it install-specific.
{{ .Release.Name }}-{{ .Chart.Name }}Capitalize the Field Names
Built-in object fields use leading capitals: .Release.Name, not .release.name. Lowercasing them yields an empty render.
Conditioning on Install vs Upgrade
A hook can run only the first time by guarding it with .Release.IsInstall. This is how charts seed data only on first install.
{{ if .Release.IsInstall }}# seed once{{ end }}Quick Check
You want each resource name to be unique to this particular install.
Recap: Release Metadata
You met .Release: Name, Namespace, Revision, and the IsInstall and IsUpgrade flags. These read-only facts make templates install-aware.
Frequently asked questions
Is the “Release Metadata via .Release” lesson free?
Yes — the full text of “Release Metadata via .Release” 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 “Release Metadata via .Release”?
Name, namespace, revision, and install flags. 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 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Release Metadata via .Release” 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 Values Object and Nested Access
- Release Metadata via .Release
- Chart and Capabilities Objects
- Files, Template, and the Root Context