Building and Sharing Your Own Helm Charts
Go from chart user to chart author: scaffold a chart, template manifests with values, package it, and publish to a repository.
Building and Sharing Your Own Helm Charts is a free DevOps Bootcamp lesson on CoddyKit — lesson 4 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 DevOps Bootcamp learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
From Consumer to Author
You have deployed and customized existing charts. Now you will build your own, packaging your app so others can install it with a single command.
Scaffolding a Chart
helm create generates a chart skeleton with sensible defaults you can edit.
helm create mychart
# creates mychart/ with Chart.yaml, values.yaml, templates/Chart.yaml: The Metadata
Chart.yaml describes the chart: its name, version, and the app version it deploys.
apiVersion: v2
name: mychart
description: A web app chart
type: application
version: 0.1.0
appVersion: '1.0.0'Templates and the Go Templating Engine
Files in templates/ are Kubernetes manifests with placeholders. Helm fills them in using the Go template syntax with double curly braces.
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-web
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: web
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}values.yaml: The Defaults
values.yaml holds the default configuration that templates reference via .Values. Users override these at install time.
replicaCount: 2
image:
repository: myapp
tag: '1.0.0'Helpers with _helpers.tpl
Reusable snippets live in _helpers.tpl as named templates, keeping manifests DRY for things like labels and names.
{{- define "mychart.labels" -}}
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}Linting and Rendering
Before installing, validate the chart and preview the rendered manifests without touching the cluster.
helm lint mychart
helm template mychart --set replicaCount=3Installing Your Chart
Install directly from the local chart directory to test it end to end.
helm install demo ./mychart --set image.tag=2.0.0
helm listPackaging
helm package bundles the chart into a versioned .tgz archive ready for distribution.
helm package mychart
# produces mychart-0.1.0.tgzPublishing to a Repository
You can host charts in an HTTP repo or, increasingly, as OCI artifacts in a container registry.
helm push mychart-0.1.0.tgz oci://registry.example.com/charts
helm install demo oci://registry.example.com/charts/mychart --version 0.1.0Versioning Discipline
- Bump
versionfor any chart change - Bump
appVersionwhen the bundled app changes - Follow semantic versioning so consumers know what to expect
Quick Check
Test your chart-authoring knowledge.
Recap
You learned to author charts: scaffold with helm create, describe metadata in Chart.yaml, template manifests using .Values and helpers, lint and render, then package and publish (including OCI registries). Disciplined versioning keeps consumers safe.
Frequently asked questions
Is the “Building and Sharing Your Own Helm Charts” lesson free?
Yes — the full text of “Building and Sharing Your Own Helm Charts” is free to read here on the web, and the DevOps Bootcamp 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 DevOps Bootcamp course, upgrade to CoddyKit PRO.
What will I learn in “Building and Sharing Your Own Helm Charts”?
Go from chart user to chart author: scaffold a chart, template manifests with values, package it, and publish to a repository. You practise DevOps Bootcamp 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 DevOps Bootcamp?
No prior experience is required. DevOps Bootcamp on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Building and Sharing Your Own Helm Charts” 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 DevOps Bootcamp lesson?
Yes. Every DevOps Bootcamp 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
- Introduction to Helm Charts
- Deploying Applications with Helm
- Customizing and Managing Releases
- Building and Sharing Your Own Helm Charts