<< All versions

Skill v1.0.1

currentAutomated scan100/100
thebushidocollective/han/helm-charts

4 files

──Details
PublishedSeptember 28, 2026 at 08:09 AM
Content Hashsha256:b2b7cc33bd3cf415...
Git SHA19caa51d5fd1
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 3.7 KB)
SKILL.md3.7 KBactive
SKILL.md · 230 lines · 3.7 KB

version: "1.0.1" name: helm-charts user-invocable: false description: Use when understanding and creating Helm charts for packaging and deploying Kubernetes applications. allowed-tools: []


Helm Charts

Understanding and creating Helm charts for Kubernetes applications.

Chart Structure

mychart/
├── Chart.yaml # Chart metadata
├── values.yaml # Default values
├── charts/ # Chart dependencies
├── templates/ # Template files
│ ├── NOTES.txt # Usage notes
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── _helpers.tpl # Template helpers
│ └── tests/ # Test files
└── .helmignore # Files to ignore

Chart.yaml

yaml
apiVersion: v2
name: my-app
user-invocable: false
description: A Helm chart for my application
type: application
version: 1.0.0
appVersion: "1.0.0"
keywords:
- web
- api
maintainers:
- name: Your Name
email: you@example.com
dependencies:
- name: postgresql
version: "12.1.0"
repository: "https://charts.bitnami.com/bitnami"
condition: postgresql.enabled

values.yaml

yaml
replicaCount: 3
image:
repository: myapp
pullPolicy: IfNotPresent
tag: "1.0.0"
service:
type: ClusterIP
port: 80
ingress:
enabled: false
className: "nginx"
hosts:
- host: myapp.local
paths:
- path: /
pathType: Prefix
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 250m
memory: 256Mi
autoscaling:
enabled: false
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 80

Common Commands

Create Chart

bash
helm create mychart

Install Chart

bash
# Install from directory
helm install myrelease ./mychart
# Install with custom values
helm install myrelease ./mychart -f custom-values.yaml
# Install with value overrides
helm install myrelease ./mychart --set image.tag=2.0.0

Upgrade Chart

bash
helm upgrade myrelease ./mychart
# Upgrade or install
helm upgrade --install myrelease ./mychart

Validate Chart

bash
# Lint chart
helm lint ./mychart
# Dry run
helm install myrelease ./mychart --dry-run --debug
# Template rendering
helm template myrelease ./mychart

Manage Releases

bash
# List releases
helm list
# Get release status
helm status myrelease
# Get release values
helm get values myrelease
# Rollback
helm rollback myrelease 1
# Uninstall
helm uninstall myrelease

Dependencies

Chart.yaml

yaml
dependencies:
- name: redis
version: "17.0.0"
repository: "https://charts.bitnami.com/bitnami"
condition: redis.enabled
tags:
- cache

Update Dependencies

bash
helm dependency update ./mychart
helm dependency build ./mychart
helm dependency list ./mychart

Chart Repositories

bash
# Add repository
helm repo add bitnami https://charts.bitnami.com/bitnami
# Update repositories
helm repo update
# Search charts
helm search repo nginx
# Search hub
helm search hub wordpress

Best Practices

Version Conventions

  • Chart version: Semantic versioning (1.2.3)
  • App version: Application version (v1.0.0)

Default Values

Provide sensible defaults in values.yaml:

yaml
# Good defaults
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
# Allow customization
config: {}
env: {}

Documentation

Include NOTES.txt for post-installation instructions:

Thank you for installing {{ .Chart.Name }}.
Your release is named {{ .Release.Name }}.
To learn more about the release, try:
$ helm status {{ .Release.Name }}
$ helm get all {{ .Release.Name }}
← v1.0.0All versions