Skillshub generating-helm-charts
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/generating-helm-charts" ~/.claude/skills/comeonoliver-skillshub-generating-helm-charts && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/generating-helm-charts/SKILL.mdsource content
Generating Helm Charts
Overview
Generate production-ready Helm 3 charts for Kubernetes applications with Chart.yaml, values.yaml, Go templates, and helper functions. Support multi-environment deployments with values overrides, dependency management, security contexts, health probes, and resource limits following Helm best practices.
Prerequisites
- Helm 3.x installed (
)helm version
configured with cluster access for testing chart installationkubectl- Container images available in a registry accessible from the cluster
- Understanding of application resource requirements (CPU, memory, ports, volumes)
- Chart repository access if publishing (ChartMuseum, OCI registry, or GitHub Pages)
Instructions
- Analyze the application: identify container images, ports, environment variables, volumes, and dependencies
- Scaffold the chart structure:
,Chart.yaml
,values.yaml
,templates/
,charts/.helmignore - Create
withChart.yaml
, name, version, appVersion, and dependency declarationsapiVersion: v2 - Define
with sensible production defaults: replica count, image config, resource limits, ingress settingsvalues.yaml - Build templates using Go template syntax with proper
references and.Values
for reusable named templates_helpers.tpl - Add health checks:
andlivenessProbe
in the deployment template with configurable paths and thresholdsreadinessProbe - Configure security context:
,runAsNonRoot: true
, and drop all capabilitiesreadOnlyRootFilesystem: true - Create environment-specific values files:
,values-dev.yaml
,values-staging.yamlvalues-prod.yaml - Add
with post-install instructions showing how to access the applicationNOTES.txt - Validate with
and test rendering withhelm lint .helm template . --values values-prod.yaml
Output
- Complete Helm chart directory structure
with metadata and dependenciesChart.yaml
with documented, configurable defaultsvalues.yaml- Template files:
,deployment.yaml
,service.yaml
,ingress.yaml
,configmap.yaml
,serviceaccount.yamlhpa.yaml
with name, label, and selector helper templates_helpers.tpl
with post-install access instructionsNOTES.txt- Environment-specific values override files
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Missing or malformed field | Add a valid SemVer version string to Chart.yaml |
| Go template syntax error (missing , wrong function) | Run to pinpoint the error; check bracket matching and function names |
| Chart dependency not downloaded | Run to fetch dependencies into |
| Pods not reaching ready state during install | Check pod logs; verify image exists, resource limits are sufficient, and probes are correct |
| Wrong values file path or key mismatch | Verify file path and that keys match the structure in exactly |
Examples
- "Generate a Helm chart for a Node.js API with 3 replicas, an Nginx ingress, PostgreSQL subchart dependency, and environment-specific values for dev and prod."
- "Create a Helm chart for a stateful application with PersistentVolumeClaim, headless service, and configurable storage class."
- "Package an existing set of Kubernetes manifests into a Helm chart with parameterized image tag, replica count, and resource limits."
Resources
- Helm documentation: https://helm.sh/docs/
- Chart best practices: https://helm.sh/docs/chart_best_practices/
- Template function reference: https://helm.sh/docs/chart_template_guide/function_list/
- Artifact Hub (chart discovery): https://artifacthub.io/