Claude-skill-registry helm-chart-patterns
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.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/helm-chart-patterns" ~/.claude/skills/majiayu000-claude-skill-registry-helm-chart-patterns && rm -rf "$T"
manifest:
skills/data/helm-chart-patterns/SKILL.mdsource content
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 |
|---|---|
| Metadata, version, dependencies |
| Default configuration |
| Input validation |
| Reusable template functions |
| Kubernetes 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 | |
| Values file patterns | |
| Template patterns & functions | |
| Dependencies & subcharts | |
| Hooks & lifecycle | |
| Testing patterns | |
| Packaging & distribution | |
| Helmfile multi-chart | |
| Best practices checklist | |
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
for proper YAML formattingnindent - 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
- Helm Documentation: https://helm.sh/docs/
- Chart Template Guide: https://helm.sh/docs/chart_template_guide/
- Best Practices: https://helm.sh/docs/chart_best_practices/
- Helmfile: https://github.com/helmfile/helmfile
- Chart Testing: https://github.com/helm/chart-testing