Every time I started a new chart from scratch, I caught myself doing the same dance: helm create, then delete the parts I don’t want, then copy a Deployment template from the previous project, tweak the labels, fix the indentation Helm just broke for me. Multiply that by a few dozen charts and you eventually write a tool. That tool is helmchart-helper.
Why not just helm create?
helm create gives you a generic NGINX-flavored chart with everything turned on: a Service, a Deployment, an Ingress, an HPA, a ServiceAccount, plus the NOTES.txt cathedral. For a real workload that’s almost never what I want. I want to pick the manifests I actually need (maybe just a CronJob and a ConfigMap), get them in a clean tree, and start filling in values.yaml.
helmchart-helper is the opposite default: empty by default, opt-in for each manifest type via a flag.
Installation
Three options, depending on taste:
# Homebrew
brew tap sgaunet/homebrew-tools
brew install sgaunet/tools/helmchart-helper
# Download a release binary from
# https://github.com/sgaunet/helmchart-helper/releases
# Or build from source
go install github.com/sgaunet/helmchart-helper@latestGenerating a chart
The minimum invocation needs a name (-n) and an output directory (-o):
helmchart-helper -n myapp -o ./charts -deploy -svc -ingThat gives you myapp/ with Chart.yaml, values.yaml, and templates for a Deployment, a Service, and an Ingress. Nothing more, nothing less.
The full set of switches mirrors the manifest you want included:
-deploy deployment
-svc service
-ing ingress
-cj cronjob
-cm configmap
-ds daemonset
-sts statefulset
-hpa horizontal pod autoscaler
-pv volumes
-sa serviceaccountA CronJob with a ConfigMap and a dedicated ServiceAccount:
helmchart-helper -n nightly-report -o ./charts -cj -cm -saA stateful workload with persistent volumes:
helmchart-helper -n postgres-ha -o ./charts -sts -svc -pvThe generated templates use the standard {{ .Values.* }} plumbing and the conventional helpers.tpl for labels and selectors, so once the chart is created it behaves like any chart you’d hand-write.
Why I keep using it
The win isn’t that it does anything magical. It’s that it removes a small but recurring tax: I no longer reach for an old project to copy templates, and I no longer ship a chart with three manifests I forgot to delete. Pick the resources, get the skeleton, fill in values.yaml. Done.
Project status
The repo’s README is honest: this one is in low-priority maintenance mode. It works, releases happen occasionally, but don’t expect a rapid response on issues. For a tool that scaffolds files and gets out of the way, that’s fine.
Where to go next
It’s open source, MIT-licensed, and small enough that you can read it end to end in an afternoon. If helm create annoys you the way it annoys me, give it a try.