Docker Compose bundle for a single-tenant Twin Cloud Control Center with persisted snapshot storage.
Full runbook: docs/hosted-twin-cloud.md · Product GA: docs/hosted-twin-cloud-product.md
cd deploy/twin-cloud-hosted
cp .env.example .env
# Edit SPANDA_API_KEY and optional SPANDA_TENANT_ID
docker compose up --build
Edge clients:
export SPANDA_TWIN_CLOUD_URL=http://localhost:8080
export SPANDA_TWIN_CLOUD_API_KEY="$SPANDA_API_KEY"
spanda twin cloud push examples/showcase/mission_twin/patrol.sd
spanda twin cloud list
Run one compose stack per tenant (different SPANDA_TENANT_ID, API key, and volume), or operate a shared Control Center with per-key tenant_id scoping — see the hosted runbook.
# Build image (from repo root)
docker build -f deploy/twin-cloud-hosted/Dockerfile -t spanda-twin-cloud:latest .
# Raw manifests
kubectl apply -f deploy/twin-cloud-hosted/k8s/namespace.yaml
kubectl apply -f deploy/twin-cloud-hosted/k8s/configmap.yaml
kubectl apply -f deploy/twin-cloud-hosted/k8s/secret.example.yaml # edit first
kubectl apply -f deploy/twin-cloud-hosted/k8s/pvc.yaml
kubectl apply -f deploy/twin-cloud-hosted/k8s/deployment.yaml
kubectl apply -f deploy/twin-cloud-hosted/k8s/service.yaml
helm upgrade --install twin-cloud deploy/twin-cloud-hosted/helm/twin-cloud \
--set apiKey="$SPANDA_API_KEY" \
--set tenantId=default
./scripts/hosted_twin_cloud_smoke.sh