Skip to main content

Local Standalone Setup

scripts/dev/local-setup-standalone.sh bootstraps a full CASA stack on a local Minikube cluster in a single command. It builds all images from source, deploys the control plane and demo agents via Helm, sets up Istio, and starts port-forwards so every service is reachable immediately.

No external YAML files are needed — all Helm values are inlined in the script.

Prerequisites

Install the required CLI tools:

brew install minikube istioctl helm kubectl crane

Docker Desktop (or equivalent) must be running before you start.

Environment Variables

Export these before running the script.

Required

VariableDescription
CASA_LLM_HOSTHostname of the OpenAI-compatible LLM API (e.g. litellm.example.com)
CASA_LLM_API_KEYAPI key used for both the auth service LLM calls and the demo agents

Optional

VariableDefaultDescription
CASA_LLM_MODEL_IDbedrock/global.anthropic.claude-sonnet-4-6Model used for auth-check semantic verification

The script derives http://${CASA_LLM_HOST} for all helm parameters that expect the full base URL.

Usage

export CASA_LLM_HOST=your-llm-host.example.com
export CASA_LLM_API_KEY=your-api-key

# Install / upgrade
bash scripts/dev/local-setup-standalone.sh

# Wipe all data and reinstall from scratch
bash scripts/dev/local-setup-standalone.sh reset

What the Script Does

StepAction
1Starts Minikube (docker driver, 7 GB RAM, 6 CPUs); enables registry and ingress addons
2Installs Istio with the minimal profile
3Creates the casa-dev namespace with Istio injection enabled
4Builds all Docker images locally (control plane, sidecars, demo agents, UIs) and pushes Wasm plugins to the in-cluster registry
5Installs/upgrades the casa-runtime Helm chart (casa-dev release) including the sidecar subchart
6Installs/upgrades the demo agents Helm chart (casa-demo release)
7Waits for all pods to reach the Ready state
8Starts port-forwards and patches /etc/hosts for ingress hostnames

Services After Setup

ServiceAddress
Auth server APIhttp://localhost:8000 (Swagger: /docs)
Keycloakhttp://localhost:8080
Jaeger traceshttp://localhost:16686
Explorer UIhttp://explorer.casa.outshift.ai
Safe chat UIhttp://chat-safe.casa.outshift.ai
Compromised chat UIhttp://chat-compromised.casa.outshift.ai

Reset Mode

The reset argument strips MAS finalizers, uninstalls both Helm releases, and deletes all PVCs before re-running the full install. Use it when you want a clean slate without tearing down Minikube itself:

bash scripts/dev/local-setup-standalone.sh reset

To fully tear down the cluster, run minikube delete.