Files

Helm (Kubernetes)

This chart installs the Hanzo Agents control plane and optional demo agents.

Install with PostgreSQL and the demo Python agent (no custom image required):

helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
  -n hanzo-agents --create-namespace \
  --set postgres.enabled=true \
  --set controlPlane.storage.mode=postgres \
  --set demoPythonAgent.enabled=true

Port-forward the UI/API:

kubectl -n hanzo-agents port-forward svc/hanzo-agents-control-plane 8080:8080

Wait for the demo agent to become ready (first run installs Python deps):

kubectl -n hanzo-agents wait --for=condition=Ready pod -l app.kubernetes.io/component=demo-python-agent --timeout=600s

Open:

  • http://localhost:8080/ui/

Execute via the control plane:

curl -X POST http://localhost:8080/api/v1/execute/demo-python-agent.hello \
  -H "Content-Type: application/json" \
  -d '{"input":{"name":"World"}}'

Check VCs:

resp=$(curl -s -X POST http://localhost:8080/api/v1/execute/demo-python-agent.hello \
  -H "Content-Type: application/json" \
  -d '{"input":{"name":"VC"}}')
run_id=$(echo "$resp" | python3 -c 'import sys,json; print(json.load(sys.stdin)["run_id"])')
curl -s http://localhost:8080/api/v1/did/workflow/$run_id/vc-chain | head -c 1200

Options

Local storage (SQLite/BoltDB)

helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
  -n hanzo-agents --create-namespace \
  --set controlPlane.storage.mode=local

Go demo agent (requires a custom image)

The Go demo agent is useful, but you must build/push/load an image that your cluster can pull.

For Minikube, build and load the default image used by the chart:

docker build -t hanzo-agents-demo-go-agent:local -f deployments/docker/Dockerfile.demo-go-agent .
minikube image load hanzo-agents-demo-go-agent:local
helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
  -n hanzo-agents --create-namespace \
  --set demoAgent.enabled=true

Authentication (optional)

helm upgrade --install hanzo-agents deployments/helm/hanzo-agents \
  -n hanzo-agents --create-namespace \
  --set apiAuth.enabled=true \
  --set apiAuth.apiKey='change-me'

When auth is enabled, API calls must include the key (UI remains accessible):

curl -H "X-API-Key: change-me" http://localhost:8080/api/v1/nodes

Notes

  • The chart defaults HANZO_AGENTS_CONFIG_FILE=/dev/null so the control plane uses built-in defaults + environment variables.
  • Admin ZAP wire listens on (HANZO_AGENTS_PORT + 100) and is exposed via the Service port named zap.