Skip to content

RFC 0002: Add cubesandbox provider (lifecycle-capable, Cloud Hypervisor microVM) - #136

Open
JackWeiw wants to merge 1 commit into
mainfrom
feat/cubesandbox-provider-rfc
Open

RFC 0002: Add cubesandbox provider (lifecycle-capable, Cloud Hypervisor microVM)#136
JackWeiw wants to merge 1 commit into
mainfrom
feat/cubesandbox-provider-rfc

Conversation

@JackWeiw

@JackWeiw JackWeiw commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

Draft RFC 0002 for a new cubesandbox provider under src/env_provider/ — the second lifecycle-capable backend alongside aenv, driven by the native cubesandbox Python SDK (Cloud Hypervisor / KVM microVM, Tencent Cloud).

Implements all three replay Protocols (LifecycleCapable pause/resume with memory snapshot, EphemeralCapable create_one/kill_one, SnapshotSizeCapable), so every replay mode (exec_only / lifecycle / trajectory) works with --provider cubesandbox, on a different VMM than aenv/e2b (Firecracker).

  • Approach A (recommended): standalone package + native SDK, mirroring the e2b/docker BaseSandboxManager structure. (Alternatives B/C in the RFC.)
  • Non-goals for v1: host-level vm_monitor (cube-hypervisor type), real VM-id parsing, NUMA binding, real snapshot_sizes attribution — documented follow-ons.
  • Contract, kernel, BaseSandboxManager, ReadyChecker unchanged except two one-line registrations (_build_provider + CLI --provider choices).

Snapshot-size / CubeCoW-path / VMM-process-name questions stay Unresolved (CubeSandbox not yet deployed — verified at implementation time).

Full design, drawbacks, alternatives, and open questions in docs/rfcs/0002-cubesandbox-provider.md.

Status

Draft — open for discussion per docs/rfcs/README.md. On acceptance the file keeps 0002 and status flips to Active (index row added).


Stacked implementation PRs will follow on top of this branch.

…ervisor microVM)

Draft RFC 0002 proposes a new env_provider backend driven by the native
cubesandbox SDK (Cloud Hypervisor / KVM microVM, Tencent Cloud). It
implements LifecycleCapable/EphemeralCapable/SnapshotSizeCapable so all
three replay modes (exec_only/lifecycle/trajectory) work with
--provider cubesandbox, mirroring aenv on a different VMM. Host-level
vm_monitor (cube-hypervisor type) and real snapshot-size attribution
are deferred follow-ons; the contract and kernel stay untouched except
two one-line registrations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant