Add Helm Chart
Scaffold a new Helm chart following project conventions.
Arguments
{chart-name}— Name of the chart (required, e.g.,signalbeam-platform,device-manager)
Process
- Create the chart directory structure under
deploy/charts/{chart-name}/:
deploy/charts/{chart-name}/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── configmap.yaml
│ ├── ingress.yaml
│ └── hpa.yaml
-
Read
.claude/rules/helm-charts.mdfor project conventions. -
Generate files following these conventions:
- Namespace:
signalbeam - Standard Kubernetes labels:
app.kubernetes.io/name,app.kubernetes.io/instance,app.kubernetes.io/version - Health check paths:
/health/live(liveness),/health/ready(readiness) - Resource limits and requests with sensible defaults
- HPA with min 1, max 3 replicas
- Namespace:
-
Chart.yaml template:
yaml1apiVersion: v2 2name: {chart-name} 3description: {description} 4type: application 5version: 0.1.0 6appVersion: "0.1.0"
-
values.yaml — Include configurable values for:
image.repository,image.tag,image.pullPolicyreplicaCountresources.requestsandresources.limitsservice.type,service.portingress.enabled,ingress.hostsenv(environment variables as key-value map)
-
Validate the chart:
bash1helm lint deploy/charts/{chart-name} 2helm template test deploy/charts/{chart-name} > /dev/null
After Scaffolding
Report what was created and remind to:
- Customize
values.yamlfor the specific service - Add environment-specific value overrides if needed
- Update any umbrella chart dependencies if applicable