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.md
source 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
    )
  • kubectl
    configured with cluster access for testing chart installation
  • 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

  1. Analyze the application: identify container images, ports, environment variables, volumes, and dependencies
  2. Scaffold the chart structure:
    Chart.yaml
    ,
    values.yaml
    ,
    templates/
    ,
    charts/
    ,
    .helmignore
  3. Create
    Chart.yaml
    with
    apiVersion: v2
    , name, version, appVersion, and dependency declarations
  4. Define
    values.yaml
    with sensible production defaults: replica count, image config, resource limits, ingress settings
  5. Build templates using Go template syntax with proper
    .Values
    references and
    _helpers.tpl
    for reusable named templates
  6. Add health checks:
    livenessProbe
    and
    readinessProbe
    in the deployment template with configurable paths and thresholds
  7. Configure security context:
    runAsNonRoot: true
    ,
    readOnlyRootFilesystem: true
    , and drop all capabilities
  8. Create environment-specific values files:
    values-dev.yaml
    ,
    values-staging.yaml
    ,
    values-prod.yaml
  9. Add
    NOTES.txt
    with post-install instructions showing how to access the application
  10. Validate with
    helm lint .
    and test rendering with
    helm template . --values values-prod.yaml

Output

  • Complete Helm chart directory structure
  • Chart.yaml
    with metadata and dependencies
  • values.yaml
    with documented, configurable defaults
  • Template files:
    deployment.yaml
    ,
    service.yaml
    ,
    ingress.yaml
    ,
    configmap.yaml
    ,
    serviceaccount.yaml
    ,
    hpa.yaml
  • _helpers.tpl
    with name, label, and selector helper templates
  • NOTES.txt
    with post-install access instructions
  • Environment-specific values override files

Error Handling

ErrorCauseSolution
Chart.yaml: version is required
Missing or malformed
version
field
Add a valid SemVer version string to Chart.yaml
parse error in template
Go template syntax error (missing
end
, wrong function)
Run
helm template .
to pinpoint the error; check bracket matching and function names
dependency not found
Chart dependency not downloadedRun
helm dependency update
to fetch dependencies into
charts/
release failed: timed out waiting for condition
Pods not reaching ready state during installCheck pod logs; verify image exists, resource limits are sufficient, and probes are correct
values override not applied
Wrong values file path or key mismatchVerify
--values
file path and that keys match the structure in
values.yaml
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