How tencentcloud/cubesandbox works
CubeSandbox provides hardware-isolated, E2B-compatible sandboxes, from API requests through cluster placement to a per-sandbox microVM. Its major capabilities include templates, snapshots and cross-node resume, volumes, and sandbox networking; CubeOps covers separate node management. The map follows documented product boundaries and the sampled route, workflow, storage, and network code. Several internal connections are inferred from module roles and the README rather than inspected call sites, so uncertain wiring is omitted.
Main entry points: sandbox_run.go Sandbox Service · routes.go Master HTTP API · engine.go Cubelet Workflow · snapshot_ops.go Snapshot Management
Components 20
Client APIs
- CubeAPI
CubeAPI/src/routes.rs - Master HTTP API
CubeMaster/pkg/service/httpservice/cube/routes.go
Sandbox Control
- CubeMaster
CubeMaster/cmd/cubemaster/app/main.go - Sandbox Service
CubeMaster/pkg/service/sandbox/sandbox_run.go - Placement Scheduler
CubeMaster/pkg/scheduler/schedule.go - Node Selector
CubeMaster/pkg/selector/filter/init.go
Node Runtime
- Cubelet Workflow
Cubelet/plugins/workflow/engine.go - Sandbox Networking
Cubelet/network/runtime/controller.go - Container Shim
CubeShim/shim/src/service/srv.rs - MicroVM Device Manager
hypervisor/vmm/src/device_manager.rs - Volume Plugins
CubeMaster/pkg/volume/plugin/plugin.go - CubeNet
CubeNet/cubevs/cubevs.go
Images And State
- Template Center
CubeMaster/pkg/templatecenter/template_request.go - Snapshot Management
CubeMaster/pkg/templatecenter/snapshot_ops.go - Metadata Database
CubeMaster/pkg/base/db/db.go - CoW Snapshots
Cubelet/pkg/cubecow/engine.go - Snapshot Storage
Cubelet/services/cubebox/storage_backend.go - Template Center Service
CubeTemplateCenter/pkg/httpservice/server.go
Cluster Operations
- CubeOps Node Management
CubeOps/internal/nodemanagement/nodemanagement.go
Other components
- SDK or CLI
Connections 20
- SDK or CLI → CubeAPI: calls API
- SDK or CLI → Master HTTP API: calls API
- CubeAPI → Master HTTP API: forwards requests
- Master HTTP API → Sandbox Service: handles sandbox requests
- Master HTTP API → Template Center: handles template requests
- Sandbox Service → Placement Scheduler: requests placement
- Placement Scheduler → Node Selector: selects node
- Sandbox Service → Metadata Database: persists metadata
- Sandbox Service → Cubelet Workflow: dispatches sandbox work
- Cubelet Workflow → Container Shim: manages containers
- Container Shim → MicroVM Device Manager: configures VM devices
- Cubelet Workflow → Sandbox Networking: sets up networking
- Sandbox Networking → CubeNet: configures dataplane
- Sandbox Service → Snapshot Management: requests snapshots
- Snapshot Management → Metadata Database: persists snapshot state
- Snapshot Management → Snapshot Storage: stores snapshot data
- Snapshot Storage → CoW Snapshots: uses CoW backend
- Sandbox Service → Volume Plugins: mounts volumes
- CubeMaster → CubeOps Node Management: uses node management
- Template Center → Template Center Service: delegates image work