Kubernetes via Helm (Production)
The recommended way to deploy Hades in production is with Helm. The Hades Helm chart bundles the API, Scheduler, and NATS broker and is configured to use the Hades Operator executor — the modern, Kubernetes-native execution mode.
Prerequisites
- Kubernetes v1.25+
- Helm v3.12+
kubectlconfigured to point to your target cluster
Install
1. Add the NATS Sub-chart Dependency
helm repo add nats https://nats-io.github.io/k8s/helm/charts
helm dependency build ./helm/hades/
2. Review Default Values
cat ./helm/hades/values.yaml
At minimum, update the ingress.host to match your domain.
3. Install the Chart
helm upgrade --install hades ./helm/hades -n hades --create-namespace
Or override values inline:
helm upgrade --install hades ./helm/hades -n hades --create-namespace \
--set ingress.host=hades.example.com \
--set tls.secretName=my-tls-secret
The first
hadesis the Helm release name (can be anything). The-n hadesflag specifies the namespace.
4. Verify Connectivity
Tail the Scheduler logs to confirm it connected to NATS and started correctly:
kubectl -n hades logs deploy/hades-scheduler -f
Expected healthy output:
INFO Connected to NATS server url=nats://hades-nats.hades.svc:4222
INFO Started HadesScheduler in Kubernetes mode
INFO Using service account for Kubernetes access
Upgrade
helm upgrade hades ./helm/hades -n hades
Uninstall
helm uninstall hades -n hades
# Optionally remove the namespace and any leftover resources
kubectl delete namespace hades
Next Steps
- Learn about the Hades Operator execution mode.
- Expose the API with TLS using Traefik.