0Pricing
Helm Academy · Lesson

Standard Labels and Naming Conventions

Following the recommended labels and fullname rules.

Standard Labels and Naming Conventions 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.

Why Labels Matter

Every resource your chart creates needs labels so people and tools can find, group, and clean them up later. Good labels are the backbone of a tidy cluster.

The Recommended Label Set

Kubernetes defines recommended labels under the app.kubernetes.io prefix. Helm charts follow them so your resources play nicely with dashboards and other tooling.

labels:
  app.kubernetes.io/name: myapp
  app.kubernetes.io/instance: myapp-prod

name vs instance

The label app.kubernetes.io/name is the app type, while app.kubernetes.io/instance is this specific release. Two installs of one chart share name but differ by instance.

managed-by Tells the Tool

Set app.kubernetes.io/managed-by to Helm so anyone scanning the cluster instantly knows these resources are owned and updated by Helm.

app.kubernetes.io/managed-by: Helm

Version Labels

Add app.kubernetes.io/version from the chart's appVersion, and helm.sh/chart from the chart name and version. Together they pin exactly what shipped. 🏷️

Selector Labels Stay Stable

A Deployment's selector labels must never change after install, so charts use a small immutable subset: just name and instance, not version.

selector:
  matchLabels:
    app.kubernetes.io/name: myapp
    app.kubernetes.io/instance: myapp-prod

The Fullname Convention

Helm names resources with a fullname that joins the release name and chart name, like myapp-prod-web, so two releases never collide on resource names.

Why the 63-Character Limit

Kubernetes caps names at 63 characters, so the standard fullname helper truncates long names and trims trailing dashes to stay valid.

{{ include "myapp.fullname" . }}

Reuse via _helpers.tpl

Define labels once in _helpers.tpl as a named template, then include it in every resource. One place to change keeps every manifest consistent.

{{ include "myapp.labels" . | nindent 4 }}

Don't Overload Labels

Labels are for selection and grouping, not for storing large data. Put descriptive, non-identifying info in annotations instead to keep selectors fast.

Inspect What You Shipped

After install, run kubectl get pods --show-labels to confirm your resources carry the labels you expect. Trust, but verify.

kubectl get all -l app.kubernetes.io/instance=myapp-prod

Quick Check

Which label distinguishes one release of a chart from another install of the same chart?

Recap

You learned the recommended labels, the fullname convention, the 63-char limit, and why selector labels stay stable. Consistent naming keeps clusters clean. ✅

Frequently asked questions

Is the “Standard Labels and Naming Conventions” lesson free?

Yes — the full text of “Standard Labels and Naming Conventions” 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 “Standard Labels and Naming Conventions”?

Following the recommended labels and fullname rules. 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 “Standard Labels and Naming Conventions” 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

  1. Standard Labels and Naming Conventions
  2. Sane, Documented Default Values
  3. Hardening Pods with securityContext
  4. Pinning Versions and Avoiding latest
← Back to Helm Academy