> Markdown version of [/videos/252-at-the-helm-of-kubernetes-repeatable-infrastructure-creation-for-mere-mortals](https://www.wearedevelopers.com/videos/252-at-the-helm-of-kubernetes-repeatable-infrastructure-creation-for-mere-mortals). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # At The Helm of Kubernetes: Repeatable Infrastructure Creation for Mere Mortals Stop drowning in duplicated Kubernetes configurations. Discover how Helm transforms static YAML into dynamic, reusable templates to slash bloat and streamline your CI/CD pipelines. - **Speakers:** Rob Richardson - **Event:** WeAreDevelopers LIVE - **Published:** September 22, 2021 - **Duration:** 45:16 - **URL:** https://www.wearedevelopers.com/videos/252-at-the-helm-of-kubernetes-repeatable-infrastructure-creation-for-mere-mortals ## Summary Helm serves as a powerful package manager for Kubernetes, solving the pervasive issue of heavily duplicated configuration across infrastructure files. By separating structural boilerplate from variable metadata, developers can convert static Kubernetes manifests into dynamic, reusable templates. This approach relies on centralizing environment-specific details into a `values.yaml` file, which is then injected into standardized deployment, service, and ingress configurations using Go template expressions. Building a Helm chart from scratch highlights the efficiency of this workflow. By extracting hardcoded strings and ports and replacing them with template variables, teams can drastically reduce YAML bloat. Development workflows are streamlined through commands like `helm lint` to catch formatting errors early and `helm template` to preview the exact output before execution. Once parameterized, charts can be compiled into versioned tarballs using `helm package`, enabling seamless CI/CD pipeline integration where values like git hashes, resource limits, or environment flags are easily overridden at runtime. Beyond single deployments, Helm facilitates complex release management. Incorporating release names within templates prevents naming collisions, allowing multiple instances of the same application to coexist within a single namespace. Teams can also leverage Artifact Hub as a registry of chart registries to consume community-maintained packages. While Helm excels at initial deployment and configuration templating, it defers ongoing lifecycle management, monitoring, and self-healing to custom Go-based Operators, positioning it as a pragmatic, middle-ground tool for repeatable infrastructure creation. **Keywords:** helm charts, kubernetes configuration, yaml templating, helm package manager, values.yaml extraction, helm cli commands, artifact hub registries, kubernetes operators, infrastructure deployment, devops pipelines, chart versioning, release name collision, helm linting, go templates, kubernetes deployments ## Chapters 1. **Acquiring the presentation slides and source code** (00:00) — Accessing the live repository and related materials before navigating the core concepts. 1. **What is Helm and its role in Kubernetes** (01:59) — How Helm manages external Kubernetes configuration rather than internal container software. 1. **Analyzing Kubernetes YAML for value duplication** (03:10) — Identifying hardcoded values and duplication across service, deployment, and ingress resources. 1. **Extracting variables into a distinct values file** (04:35) — Isolating configurable details like ports, replicas, and flags into a central values configuration. 1. **Defining package metadata with chart files** (07:11) — Setting up API versioning and separating charting logic from container application versions. 1. **Templating standard formats with Helm variables** (08:43) — Replacing hardcoded values in standard YAML files with dynamically generated template replacement expressions. 1. **Linting and validating generated configuration templates** (14:42) — Finding syntax errors with built-in linting and generating scaffolded manifests to compare against originals. 1. **Overriding deployment parameters via the command line** (17:47) — Using command-line flags to alter chart parameters dynamically while piping generated YAML natively into clusters. 1. **Packaging and installing the final container configuration** (21:13) — Compressing the finalized configuration into a distributable archive and applying it remotely with installation commands. 1. **Upgrading existing application service releases** (26:13) — Upgrading active running software components by referencing newer templates against existing namespace deployments. 1. **Enabling parallel deployments with dynamic release names** (27:28) — Incorporating dynamically injected release names into container selections to prevent naming collisions within identical host blocks. 1. **Consuming third-party configuration templates from public registries** (32:09) — Pulling fully maintained application frameworks directly from public repositories without writing local structural logic. 1. **Comparing standard packaging with advanced cluster operators** (34:37) — Contrasting flat templating capabilities against advanced continuous reconciliation processes using specialized Go components. 1. **Audience questions on migrations and specific configuration tweaks** (38:18) — Addressing specific complexity thresholds, adopting modern architectural paradigms, and configuring specialized port connections via user metrics. ## Related Moments - [Deploying the Kubernetes observability stack using Helm charts](https://www.wearedevelopers.com/videos/88-5-steps-for-running-a-kubernetes-environment-at-scale) (from "5 steps for running a Kubernetes environment at scale") - [Choosing between Helm and Kustomize for application definitions](https://www.wearedevelopers.com/videos/267-gitops-the-past-present-and-future) (from "GitOps: The past, present and future") - [Packaging releases with Helm and container registries](https://www.wearedevelopers.com/videos/731-a-deep-dive-into-arc-the-kubernetes-operator-to-scale-self-hosted-runners) (from "A deep dive into ARC the Kubernetes operator to scale self-hosted runners") - [Generating Kubernetes Helm charts and deployment scripts](https://www.wearedevelopers.com/videos/536-chatgpt-and-java-a-match-made-in-heaven-or-hell) (from "ChatGPT and Java: A Match Made in Heaven or Hell?") - [Customizing operator inputs and overriding default cluster configurations](https://www.wearedevelopers.com/videos/487-debug-a-kubernetes-operator) (from "Debug a Kubernetes Operator") - [Advanced framework capabilities with Helm, Flagger, and notifications](https://www.wearedevelopers.com/videos/547-how-to-gitops-your-cluster-with-flux) (from "How to GitOps your cluster with Flux") ## Related Articles - [Learning Kubernetes made easy with KubeCampus](https://www.wearedevelopers.com/magazine/348-learning-kubernetes-made-easy-with-kubecampus) - [MLops – Deploying, Maintaining And Evolving Machine Learning Models in Production](https://www.wearedevelopers.com/magazine/115-mlops-deploying-maintaining-and-evolving-machine-learning-models-in-production) - [Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3](https://www.wearedevelopers.com/magazine/663-devs-vs-marketers-cobol-and-copilot-make-live-coding-easy-and-more-the-best-of-live-2025-part-3) - [Liuba Gonta and Yuliya Khadasevic - GitHub Copilot Beyond the Basics - 10 Ways to Elevate Your Coding](https://www.wearedevelopers.com/magazine/490-liuba-gonta-and-yuliya-khadasevic-github-copilot-beyond-the-basics-10-ways-to-elevate-your-coding) ## Related Jobs - [Senior Supply Chain Security Engineer](https://www.wearedevelopers.com/jobs/48462-senior-supply-chain-security-engineer) at **Docker, Inc.** - [Cloud Engineer (German)](https://www.wearedevelopers.com/jobs/ext/2908194-cloud-engineer-german) at **Stackit** - [(Senior) Platform Engineer](https://www.wearedevelopers.com/jobs/ext/2075876-senior-platform-engineer) at **MARKT-PILOT GmbH** - [Principal Software Engineer, Docker Hardened Images](https://www.wearedevelopers.com/jobs/48453-principal-software-engineer-docker-hardened-images) at **Docker, Inc.** - [Senior DevSecOps Engineer](https://www.wearedevelopers.com/jobs/ext/3036100-senior-devsecops-engineer) at **BWI GmbH** - [Principal Solutions Architect, Professional Services](https://www.wearedevelopers.com/jobs/ext/2823970-principal-solutions-architect-professional-services) at **Docker, Inc.**