Helm chart for deploying ZeroClaw on Kubernetes.
helm repo add zeroclaw https://niklasfrick.github.io/zeroclaw-helm
helm repo update
helm install zeroclaw zeroclaw/zeroclaw --set secret.apiKey="sk-..."Or with an existing Kubernetes secret:
helm install zeroclaw zeroclaw/zeroclaw \
--set secret.create=false \
--set secret.existingSecret=zeroclaw-api \
--set secret.existingSecretKey=API_KEYhelm install zeroclaw ./chart/zeroclaw --set secret.apiKey="sk-..."- Gateway & Daemon modes — run as a webhook-only server or a full autonomous runtime with channels (Telegram, Discord, etc.)
- Config-driven — provider, model, pairing, and bind settings via
values.yaml - Persistent storage — data volume at
/zeroclaw-databacked by a PVC - Ingress & Gateway API — first-class support for both
IngressandHTTPRoute - Security defaults — runs as non-root with dropped capabilities
All configuration is done through Helm values. Key settings:
| Value | Default | Description |
|---|---|---|
config.mode |
gateway |
gateway (webhook only) or daemon |
config.provider |
openrouter |
LLM provider |
config.model |
"" |
Model override (default: claude-sonnet-4-5-20250929) |
secret.apiKey |
"" |
API key (creates a Kubernetes Secret) |
persistence.size |
10Gi |
PVC size for /zeroclaw-data |
See the full values reference and examples in chart/zeroclaw/README.md.
# Lint
helm lint ./chart/zeroclaw
# Dry-run render
helm template zeroclaw ./chart/zeroclaw
# Install (local cluster)
helm install zeroclaw ./chart/zeroclaw --set secret.apiKey="sk-..."
# Upgrade
helm upgrade zeroclaw ./chart/zeroclaw -f my-values.yaml
# Uninstall
helm uninstall zeroclawThis repository uses GitHub Actions for continuous integration and release automation:
- Pull Requests — every PR to
mainruns chart linting (chart-testing), template rendering with multiple value combinations, and schema validation with kubeconform. A kind cluster is spun up for install testing. - Merge to main — automatically determines the next SemVer version from Conventional Commits, updates
Chart.yaml, packages the chart, creates a GitHub Release, and publishes to the Helm repository hosted on GitHub Pages.
Commit messages on main drive automatic version bumps:
| Commit prefix | Bump | Example |
|---|---|---|
fix: |
Patch | fix: correct probe path |
feat: |
Minor | feat: add ServiceMonitor |
feat!: / BREAKING CHANGE |
Major | feat!: rename values root key |
To enable the Helm repository on GitHub Pages:
- Go to Settings > Pages in this repository.
- Set Source to Deploy from a branch.
- Set Branch to
gh-pagesand path to/ (root). - Save.
The release workflow will create the gh-pages branch automatically on the first release.
See LICENSE.