Helm chart development patterns for packaging and deploying Kubernetes applications. Use when creating reusable Helm charts, managing multi-environment deployments, or building application catalogs for Kubernetes.
日本語に翻訳
name: helm-chart-patterns
description: Helm chart development patterns for packaging and deploying Kubernetes applications. Use when creating reusable Helm charts, managing multi-environment deployments, or building application catalogs for Kubernetes.
Helm Chart Patterns
Expert guidance for developing production-grade Helm charts covering chart structure, templating patterns, multi-environment configuration, dependency management, testing strategies, and distribution workflows for Kubernetes application packaging.
When to Use This Skill
Creating reusable Helm charts for applications and services
Building application catalogs and chart repositories
Managing multi-environment deployments (dev, staging, production)
Implementing advanced templating with conditionals and loops
Managing chart dependencies and subcharts
Implementing chart hooks for lifecycle management
Testing and validating chart templates
Packaging and distributing charts via repositories
Using Helmfile for multi-chart orchestration
Core Concepts
Chart Types
Application charts : Standard deployable charts for your services
Library charts : Reusable template helpers (not directly installable)
Key Files
File Purpose Chart.yamlMetadata, version, dependencies values.yamlDefault configuration values.schema.jsonInput validation templates/_helpers.tplReusable template functions templates/*.yamlKubernetes manifests
Template Essentials
Quote strings : {{ .Values.name | quote }}
Indent properly : {{- toYaml . | nindent 4 }}
Use helpers : {{ include "my-app.fullname" . }}
Check nil : {{- if .Values.optional }}
Quick Reference
Task Load reference Chart structure & Chart.yaml skills/helm-chart-patterns/references/chart-structure.mdValues file patterns skills/helm-chart-patterns/references/values-patterns.mdTemplate patterns & functions skills/helm-chart-patterns/references/template-patterns.mdDependencies & subcharts skills/helm-chart-patterns/references/dependencies.mdHooks & lifecycle skills/helm-chart-patterns/references/hooks.mdTesting patterns skills/helm-chart-patterns/references/testing.mdPackaging & distribution skills/helm-chart-patterns/references/packaging.mdHelmfile multi-chart skills/helm-chart-patterns/references/helmfile.mdBest practices checklist skills/helm-chart-patterns/references/best-practices.md
Workflow
Structure - Set up chart directory with Chart.yaml and values.yaml
Template - Create Kubernetes manifests with Go templating
Helpers - Extract common patterns into _helpers.tpl
Validate - Use values.schema.json for input validation
Test - Lint, template, and run chart tests
Package - Create .tgz and publish to repository
Essential Commands
# Development
helm create my-app # Scaffold new chart
helm lint ./my-app # Validate chart
helm template my-app ./my-app # Render templates
# Dependencies
helm dependency update # Download dependencies
helm dependency list # Show dependencies
# Testing
helm install my-app ./my-app --dry-run --debug
helm test my-app
# Distribution
helm package ./my-app
helm repo index . --url https://charts.example.com
helm push my-app-1.0.0.tgz oci://registry.example.com/charts
Common Mistakes
Forgetting to quote strings in templates
Not using nindent for proper YAML formatting
Committing secrets to values files
Missing security contexts (runAsNonRoot, drop capabilities)
Not pinning dependency versions
Skipping values.schema.json validation
Not testing upgrades from previous versions
Resources