mirror of
https://github.com/hanzoai/agent.git
synced 2026-09-11 21:08:51 +00:00
Consolidate all Hanzo agent infrastructure into one repo: - control-plane/: Go control plane server (was agents-new) - sdk/: Go, Python, TypeScript SDKs - deployments/: Docker, Kubernetes, Helm configs - Dockerfile.sdk: Python SDK image (ghcr.io/hanzoai/agent:latest) - CI builds both SDK + control-plane images No more agentfield — everything is hanzoai/agent.
2.6 KiB
2.6 KiB
Helm (Kubernetes)
This chart installs the Hanzo Agents control plane and optional demo agents.
Quick start (recommended)
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/nullso the control plane uses built-in defaults + environment variables. - Admin gRPC listens on
(HANZO_AGENTS_PORT + 100)and is exposed via the Service port namedgrpc.