Helm
The repository includes a Helm 3 chart at charts/clawql-mcp that deploys clawql-mcp-http: Streamable HTTP MCP on /mcp, health on /healthz, GraphQL on /graphql, and (optionally) gRPC on port 50051—matching the Kustomize layout.
Install
From a clone of the repo (chart path is relative):
helm upgrade --install clawql ./charts/clawql-mcp \
--namespace clawql \
--create-namespace \
--wait
The default image is ghcr.io/danielsmithdevelopment/clawql-mcp:latest. Override image.tag or image.repository for your registry.
Kyverno: the chart defaults kyverno.imageSignaturePolicy.enabled: true, which installs a ClusterPolicy that verifyImages for the default ClawQL GHCR images (MCP, website, dashboard, and bridge)—install Kyverno in the cluster first, or use --set kyverno.imageSignaturePolicy.enabled=false until you do. How this connects to CI signing: golden-image-pipeline.md; policy tuning: image-signature-enforcement.md.
Docker Desktop: make local-k8s-up runs Helm with values-docker-desktop.yaml and installs Kyverno for you (see Kubernetes).
Access bundled UIs locally
With Docker Desktop defaults, the Helm install deploys both UIs and exposes them with ingress-nginx.
- Dashboard UI:
http://clawql.localhost - Docs UI:
http://docs.localhost - MCP URL (local
values-docker-desktop.yaml):http://clawql-mcp.localhost/mcp(Ingress)
Quick check:
curl -s http://clawql.localhost/api/k8s/health
curl -s http://docs.localhost/api/health
Expected responses include {"status":"ok"}.
Docs and values
- Full guide (examples: ClusterIP, gRPC, tokens, Ingress, persistence):
docs/deployment/helm.mdon GitHub - Default values:
charts/clawql-mcp/values.yaml - Docker Desktop preset:
charts/clawql-mcp/values-docker-desktop.yaml - Dashboard image build:
dashboard/Dockerfile - Detailed Flink guide for Onyx index sync: Flink Onyx sync
- Detailed NATS guide for event-driven sync: NATS JetStream
- Dashboard guide: Dashboard on Kubernetes
Optional event-driven topology (NATS)
Enable in-cluster NATS JetStream when you need durable event streams for multi-step orchestration:
helm upgrade --install clawql ./charts/clawql-mcp -n clawql --create-namespace \
--set nats.enabled=true \
--set nats.persistence.enabled=true
The chart auto-wires:
CLAWQL_NATS_URL(internal service URL unlessnats.urlis set)CLAWQL_NATS_JETSTREAM=1(whennats.jetStream.enabled=true)
For full architecture + operations details, use NATS JetStream.
Helm vs Kustomize
| Kubernetes / Kustomize | Helm (this page) | |
|---|---|---|
| Install | kubectl apply -k, make deploy-k8s | helm upgrade --install, make local-k8s-up (Docker Desktop default) |
| Config | Overlays under docker/kustomize/overlays/ | values.yaml, values-docker-desktop.yaml, --set |
Docker Desktop: make local-k8s-up defaults to Helm. For kubectl apply -k instead, use CLAWQL_LOCAL_K8S_INSTALLER=kustomize (see Kubernetes). Remote dev / prod often use scripts/deploy/deploy-k8s.sh.
Validate the chart locally
make helm-lint
