RLGeeX

helm-chart-scaffolding

0
0
# Install this skill:
npx skills add RLGeeX/rlg-copilot --skill "helm-chart-scaffolding"

Install specific skill from multi-skill repository

# Description

Design, organize, and manage Helm charts for templating and packaging Kubernetes applications with reusable configurations. Use when creating Helm charts, packaging Kubernetes applications, or implementing templated deployments.

# SKILL.md


name: helm-chart-scaffolding
description: Design, organize, and manage Helm charts for templating and packaging Kubernetes applications with reusable configurations. Use when creating Helm charts, packaging Kubernetes applications, or implementing templated deployments.


Helm Chart Scaffolding

Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications.

When to Use

  • Create new Helm charts from scratch
  • Package Kubernetes applications for distribution
  • Manage multi-environment deployments with Helm
  • Implement templating for reusable Kubernetes manifests
  • Set up Helm chart repositories

Step-by-Step Workflow

1. Initialize Chart Structure

helm create my-app

Standard structure:

my-app/
โ”œโ”€โ”€ Chart.yaml           # Chart metadata
โ”œโ”€โ”€ values.yaml          # Default configuration values
โ”œโ”€โ”€ charts/              # Chart dependencies
โ”œโ”€โ”€ templates/           # Kubernetes manifest templates
โ”‚   โ”œโ”€โ”€ NOTES.txt       # Post-install notes
โ”‚   โ”œโ”€โ”€ _helpers.tpl    # Template helpers
โ”‚   โ”œโ”€โ”€ deployment.yaml
โ”‚   โ”œโ”€โ”€ service.yaml
โ”‚   โ””โ”€โ”€ tests/
โ””โ”€โ”€ .helmignore         # Files to ignore

2. Configure Chart.yaml

Define chart metadata including name, version, dependencies.

See reference.md for complete Chart.yaml template.

3. Design values.yaml Structure

Organize values hierarchically: image, service, ingress, resources, autoscaling.

See reference.md for complete values.yaml structure.

4. Create Template Files

Use Go templating with Helm functions for deployments, services, configmaps.

See reference.md for deployment template example.

5. Create Template Helpers

Define reusable helpers in templates/_helpers.tpl for names, labels, selectors.

See reference.md for helper templates.

6. Manage Dependencies

helm dependency update
helm dependency build

Override dependency values in values.yaml.

7. Test and Validate

# Lint the chart
helm lint my-app/

# Dry-run installation
helm install my-app ./my-app --dry-run --debug

# Template rendering
helm template my-app ./my-app

8. Package and Distribute

helm package my-app/
helm repo index .

9. Multi-Environment Configuration

Use environment-specific values files:
- values.yaml (defaults)
- values-dev.yaml
- values-staging.yaml
- values-prod.yaml

helm install my-app ./my-app -f values-prod.yaml --namespace production

10. Implement Hooks and Tests

Add lifecycle hooks (pre-install, post-install) and test pods.

See reference.md for hook and test examples.


Best Practices

Practice Description
Semantic versioning Use for chart and app versions
Document values Comment all values in values.yaml
Template helpers Use for repeated logic
Validate before packaging Run lint and dry-run
Pin dependencies Explicit version numbers
Use conditions For optional resources
Follow naming conventions Lowercase, hyphens
Include NOTES.txt Usage instructions
Consistent labels Use helpers
Test in all environments Before production

  • k8s-manifest-generator - For creating base Kubernetes manifests
  • gitops-workflow - For automated Helm chart deployments

References

See reference.md for:
- Complete Chart.yaml template
- Full values.yaml structure
- Template helpers (_helpers.tpl)
- Deployment template example
- Multi-environment configuration
- Hooks and tests templates
- Common patterns
- Troubleshooting guide

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.