kubectlinstalled and configured- GitHub account
- Local Kubernetes cluster (e.g., minikube, kind, Docker Desktop)
- Tilt for local development
Use the included decryption script.
If using Windows, find another way to get the decoded file, e.g. via https://www.cryptool.org/en/cto/openssl/?tab=encryption Alternatively, use https://web.localsend.org/ and ask a friend.
- Decrypt the kubeconfig (Kubernetes credentials file).
./decrypt-kubeconfig.sh kubeconfigs-encrypted/workshop-kubeconfig.yaml.enc <password-announced-during-workshop> kubeconfig.yaml- Connect to the cluster
export KUBECONFIG=kubeconfig.yaml kubectl get pods
- A running local Kubernetes cluster (e.g., minikube, kind, or Docker Desktop)
- Tilt installed
- A
.envfile in the project root with the following variables:
GOOGLE_API_KEY=<your-google-api-key>tilt upThis will deploy the full stack locally, including:
- Agent Runtime — core runtime for the agentic layer
- AI Gateway — LLM proxy (LiteLLM-based)
- Agent Gateway — KrakenD-based API gateway
- Tool Gateway — MCP tool routing
- EC Schedule MCP Server — the MCP server for this project
- Presidio — PII guardrail
- LibreChat — chat UI for interacting with the agent
- Testbench — experiment runner
- LGTM Stack — observability (Grafana + Loki + Tempo + Mimir)
Once Tilt is running, the following services are available locally:
| Service | URL |
|---|---|
| LGTM (Grafana) | http://localhost:11000 |
| AI Gateway | http://localhost:11001 |
| Agent Gateway | http://localhost:11002 |
| LibreChat | http://localhost:11003 |
| Observability Dashboard | http://localhost:11004 |
| Tool Gateway | http://localhost:11005 |
| EC Schedule MCP Server | http://localhost:11020 |
Replace <your-namespace> with your actual namespace in all files under deploy/local/.
kubectl apply -k deploy/local/kubectl apply -f deploy/local/<filename>.yamlkubectl delete -k deploy/local/