Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion doc/design/code-ownership-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,15 @@ contracts between them.
| State-unit quiesce, start, rollback, inventory, and downtime advance | OpenVMM state-unit framework |
| Snapshot format, machine contract, publication, and artifact validation | OpenVMM snapshot helpers and platform file primitives |
| Backend CPU contracts and snapshot clocks | KVM, MSHV, and WHP backends |
| Sandbox launch and kernel features | NVX sandbox launcher and microVM kernel configuration |
| Layered sandbox launch and kernel features | NVX sandbox launcher and microVM kernel configuration |
| Edge sandbox lifecycle API, request validation, backend capabilities, and the serializable contract model | NVX `aci_edge_sandboxes` crate and its data-model crate |
| Blockless managed launch, durable sandbox records, OpenVMM process reconciliation, host-path export, and egress-rule translation | `aci_edge_sandboxes` default OpenVMM backend |
| Image-backed edge sandboxes | `aci_edge_sandboxes` optional agent backend, which delegates to a separately supplied native library |
| Workload namespace and root construction | NVX guest container launch and entry helpers |
| Guest workload, scratch quiesce, managed lifecycle, and post-restore CPU/RAM repair | NVX guest init agent and snapshot helper |
| Blockless managed workloads, host-path binds, and workload account creation | NVX guest init and managed agent |
| OpenVMM control-plane and guest-artifact integration tests | OpenVMM microVM and management-RPC VMM tests |
| NVX Linux and device integration tests | NVX microVM process tests and guest test scripts |
| Edge sandbox contract, fake-OpenVMM, and real-hypervisor lifecycle tests | `aci_edge_sandboxes` crate tests |
| Copilot adversarial controller and typed broker | NVX adversarial controller and broker |
| Credential-free adversarial executor and independent oracles | NVX adversarial executor and oracle watchdog |
11 changes: 11 additions & 0 deletions doc/design/sandbox-filesystem-and-agent-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,17 @@ configuration, Rust agent, and production runtime protocol described below
are **Proposed**. They must not be inferred from the presence of block devices
or snapshot-tier metadata alone.

Two host components launch sandboxes on this foundation. The `nvx sandbox`
command attaches image layers and scratch, from which the guest assembles the
[layered root](#implemented-filesystem-bootstrap). The
[`aci_edge_sandboxes` crate](../../aci_edge_sandboxes/README.md) exposes a
provision, start, exec, stop, and deprovision API. Its default backend launches
OpenVMM directly, without NVX tooling, with the managed lifecycle and no
sandbox blocks, so each workload runs in the Alpine initramfs root, as
[Control protocol and checkpoint handoff](#control-protocol-and-checkpoint-handoff)
describes. Its optional agent backend delegates the lifecycle to a separately
supplied native library and an image-backed edge guest that NVX does not build.

## Implemented filesystem bootstrap

The public `nvx sandbox` command accepts one to three role-bearing EROFS lower
Expand Down
Loading