Skip to main content

rawops.dev

Skip to tool content

Helm Chart Generator

Generate a complete Helm chart scaffold with Chart.yaml, values.yaml, and templates/. 100% client-side — nothing leaves your browser.

Chart Metadata

Container Image

Deployment

Service

Ingress

Hosts
TLS
Annotations

Resources

Horizontal Pod Autoscaler

Service Account

Annotations

Security Context

Pod Security Context

Container Security Context

ConfigMap

Secret

Persistence (PVC)

Health Probes

Liveness Probe

Readiness Probe

Environment Variables

Node Selector

Output Options

Chart.yaml
apiVersion: v2
name: myapp
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: 1.0.0

Quick Recipes

Click a recipe to populate the form with a ready-to-use Helm chart configuration.

Helm Chart Guide

Helm is the package manager for Kubernetes. A Helm chart is a collection of files that describe a related set of Kubernetes resources. Charts use Go templates with values.yaml to generate Kubernetes manifests, making deployments configurable and repeatable across environments.

Chart Structure

FilePurpose
Chart.yamlChart metadata (name, version, description, type)
values.yamlDefault configuration values (overridable at install time)
templates/_helpers.tplNamed templates for name, labels, selectors
templates/deployment.yamlKubernetes Deployment with Go template directives
templates/service.yamlKubernetes Service (ClusterIP, NodePort, LoadBalancer)
templates/ingress.yamlIngress resource (conditionally rendered)
templates/hpa.yamlHorizontalPodAutoscaler (conditionally rendered)
templates/NOTES.txtPost-install instructions shown to the user

Helm Workflow

Install a chart: helm install myrelease ./mychart. Override values: helm install myrelease ./mychart -f production.yaml or --set image.tag=2.0.0. Preview rendered manifests: helm template ./mychart. Upgrade: helm upgrade myrelease ./mychart. Rollback: helm rollback myrelease 1.

Go Template Syntax

SyntaxDescription
{{ .Values.key }}Access a value from values.yaml
{{ include "name" . }}Include a named template
{{- if .Values.enabled }}Conditional rendering
{{- range .list }}Loop over a list
{{- with .Values.obj }}Change scope (use . for obj fields)
{{- toYaml . | nindent 4 }}Serialize to YAML with indentation

Best Practices

  • Use _helpers.tpl — define reusable named templates for names, labels, and selectors.
  • Set resource requests and limits — this ensures proper scheduling and prevents resource starvation.
  • Enable security contexts — run as non-root, read-only filesystem, drop all capabilities.
  • Use health probes — liveness and readiness probes ensure traffic only reaches healthy pods.
  • Parameterize everything — put all configurable values in values.yaml, not hardcoded in templates.
  • Version your chart and app separately — Chart.yaml version is the chart version, appVersion is the application version.

Privacy First

All chart generation happens entirely in your browser using JavaScript. Your chart configurations, image names, and secret data are never sent to any server. This tool has zero backend dependencies.

Related Tools & Resources