StateBridge preview
Compatibility, evidence, and controls for KinoCloud's hosted checkpoint-and-restore preview.
Type: Preview guide · Audience: Pipeline TDs and automation builders
StateBridge is a hosted-only, default-off checkpoint-and-restore preview for narrowly compatible Azure render jobs. It is not a downloadable checkpoint engine, is not available through DCC plugins, and has no recovery-time SLA. A compatible request can still be unavailable when its fleet is disabled or not fully configured.
Evidence and limits
- CUDA: recovery on one real NVIDIA T4 host passed 10/10 consecutive runs. This is same-host repeatability evidence, not proof of cross-node restore or a real Azure Spot eviction.
- CPU: the control-plane and software paths are covered by tests, but no CPU hardware profile has been qualified.
- StateBridge is not production-ready or generally available.
Check compatibility first
Always call compatibility before estimating, uploading, or submitting. Preserve the selected backend in the estimate and submit requests.
POST /api/v1/statebridge/compatibilityPOST /api/v1/jobs/estimate- Upload and finalize the scene file.
POST /api/v1/jobs/submit- Poll
GET /api/v1/jobs/{id}/migration.
The compatibility endpoint accepts a strict object. A CPU request looks like:
{
"backend": "criu-cpu",
"computeClass": "cpu",
"jobType": "render",
"renderHost": "blender",
"provider": "azure",
"operatingSystem": "linux",
"gpuCount": 0,
"cpuSku": "Standard_D8s_v5",
"multiNode": false,
"topology": "single-node",
"recovery": {
"mode": "uninterruptible",
"checkpointIntervalSeconds": 300
}
}
Use the deployed SKU, not the example value. For CUDA, use criu-cuda,
computeClass: "gpu", gpuCount: 1, and the configured T4 gpuSku.
Use this canonical recovery object in both the estimate and submit bodies:
{
"recovery": {
"mode": "uninterruptible",
"backend": "criu-cuda",
"checkpointIntervalSeconds": 300
}
}
For the CPU route, change backend to criu-cpu. The checkpoint interval must
be an integer from 60 through 3600 seconds.
Compatibility requirements
CPU (criu-cpu)
- KinoCloud-managed Azure, Linux, Blender render, single node, and zero GPUs.
- The requested CPU SKU must exactly match the configured source SKU, and the source and receiver VM SKUs must match each other.
- The CPU fleet and render-job allowlist must be enabled.
- No CPU hardware configuration has completed qualification.
CUDA (criu-cuda)
- KinoCloud-managed Azure, Linux render, single node, and exactly one GPU.
- The requested GPU SKU must exactly match the configured source pool's validated NVIDIA T4 SKU.
- The CUDA fleet and render-job allowlist must be enabled.
- Multi-GPU, multi-node/NCCL, Windows, CPU workloads on the CUDA profile, and unvalidated GPU families are rejected.
Public REST operations
| Operation | Endpoint | Scope |
|---|---|---|
| Check compatibility | POST /api/v1/statebridge/compatibility |
jobs:read |
| Read migration timeline | GET /api/v1/jobs/{id}/migration |
jobs:read |
| Queue a manual checkpoint | POST /api/v1/jobs/{id}/checkpoint |
jobs:write |
| Queue a restore | POST /api/v1/jobs/{id}/restore |
jobs:write |
| List retained checkpoints | GET /api/v1/jobs/{id}/checkpoints |
jobs:read |
| Queue checkpoint deletion | DELETE /api/v1/jobs/{id}/checkpoints/{checkpointId} |
jobs:write |
Checkpoint, restore, and deletion requests require an Idempotency-Key.
Restore accepts a checkpoint UUID or { "checkpoint": "latest" }; only an
available, integrity-verified checkpoint can be restored. At this revision,
manual checkpoint, restore, and deletion routes also require the CUDA fleet gate,
so do not advertise those controls for a CPU-only deployment.
CLI and MCP
The CLI exposes compatibility, migration, checkpoint, restore, snapshot, and
doctor commands. kino submit ... --recovery uninterruptible currently omits a
backend selector, so submission defaults to CUDA; it cannot select CPU recovery.
Use REST or the cloud MCP for CPU submission.
Cloud MCP tools for compatibility, quote, and submission accept backend: "cpu"
or backend: "gpu" and route to criu-cpu or criu-cuda. Query tools/list
for the current catalogue. The MCP server controls the hosted KinoCloud API; it
does not make StateBridge self-hosted.
Status names
- Job:
SUBMITTING,SUBMITTED,PENDING,RUNNING,PAUSED,MIGRATING,RESTORING,SUCCEEDED,COMPLETED,FAILED,CANCELLED,CANCELED, orUNKNOWN; both success spellings and both cancellation spellings are terminal - Migration:
not_applicable,running,checkpoint_healthy,eviction_detected,capturing_final,checkpoint_stored,capacity_requested,restoring,resumed,failed,cancelled - Operation:
queued,claimed,running,succeeded,failed,cancelled - Checkpoint:
creating,available,restoring,expired,deleted,failed; integrity ispending,verified, orfailed