Status: Pilot (managed service) · OSS backend: Stable at /v1/twins/*
Commercial hosted Twin Cloud builds on the open-source Control Center twin registry. This document covers product concerns beyond the OSS pilot (hosted-twin-cloud.md).
| Tier | Artifact | Use case |
|---|---|---|
| Docker Compose | deploy/twin-cloud-hosted/ | Single-tenant pilot |
| Kubernetes (raw) | deploy/twin-cloud-hosted/k8s/ | One tenant per namespace |
| Helm | deploy/twin-cloud-hosted/helm/twin-cloud/ | Repeatable fleet rollout |
# Helm install (single tenant)
helm upgrade --install acme-twin-cloud deploy/twin-cloud-hosted/helm/twin-cloud \
--set tenantId=acme \
--set apiKey="$SPANDA_API_KEY" \
--set ingress.enabled=true \
--set ingress.host=twins.acme.example.com
| Model | Isolation | Ops |
|---|---|---|
| Stack per tenant | Dedicated Deployment + PVC + SPANDA_TENANT_ID |
Recommended for GA pilots |
| Shared Control Center | Per API key tenant_id; store filters by tenant |
Internal platform teams |
| Regional cells | One Helm release per region; DNS geo-routing | Multi-region GA |
| Capability | Pilot | GA target |
|---|---|---|
| Snapshot push/pull/sync/history | Shipped (OSS) | Same API |
| RBAC + tenant scoping | Shipped | Per-tenant key rotation |
| Persistent volume / backup | K8s PVC + compose volume | Automated backup (S3-compatible) |
| Ingress + TLS | Helm optional ingress | Required |
| Billing meter | — | API calls / stored snapshots per tenant |
| SLA / status page | — | 99.9% target, public status |
| Multi-region | — | Active-passive or cell-per-region |
| Control Center tenant switcher | — | Per-tenant API key / tenant_id in shell — ROADMAP.md § Pillar 6 |
| Twin Cloud usage dashboard | — | Snapshot meters, sync status in Control Center Administration — ROADMAP.md § Pillar 6 |
Meter these dimensions per tenant_id:
POST /v1/twins/{id}/snapshots (push)POST /v1/twins/syncGET /v1/twins/{id}/history (egress-heavy)Export via Control Center audit (GET /v1/audit/mutations) or OTLP metrics to your billing
pipeline.
GET /v1/health (liveness/readiness probes in K8s)./scripts/hosted_twin_cloud_smoke.sh per cell after deployscripts/twin_cloud_field_soak_init.sh + 30-day clock