Skip to main content

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

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 unless nats.url is set)
  • CLAWQL_NATS_JETSTREAM=1 (when nats.jetStream.enabled=true)

For full architecture + operations details, use NATS JetStream.

Helm vs Kustomize

Kubernetes / KustomizeHelm (this page)
Installkubectl apply -k, make deploy-k8shelm upgrade --install, make local-k8s-up (Docker Desktop default)
ConfigOverlays 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