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
12 changes: 6 additions & 6 deletions doc/acceptance-case-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ its own in turn.
| [The adapter's other tests](#the-adapters-other-tests) | 169 | 0 | 9 | 160 |
| [MicroVM scenarios](#microvm-scenarios) | 54 | 51 | 2 | 1 |
| [CI](#ci) | 69 | 43 | 3 | 23 |
| [Docs](#docs) | 36 | 32 | 1 | 3 |
| [Docs](#docs) | 36 | 28 | 2 | 6 |

## The adapter's scenarios

Expand Down Expand Up @@ -498,15 +498,15 @@ this matrix. The README's own code is no doctest.
| `nvx-rs/src/guest/terminal.rs - guest::terminal (line 10)` | kept | |
| `nvx-rs/src/guest/time/mod.rs - guest::time (line 15)` | kept | |
| `nvx-rs/src/host/sandbox/prepared.rs - host::sandbox::prepared::PreparedLaunch (line 92)` | kept | Its launch type leaves with the old launch paths (#1087), whose PR retires it |
| `nvx-rs/src/host/store/mod.rs - host::store (line 72)` | kept | The sandbox store leaves (#1121), whose PR retires it |
| `nvx-rs/src/host/supervisor/mod.rs - host::supervisor (line 32)` | kept | The old supervisor leaves (#1087), whose PR retires it |
| `nvx-rs/src/host/store/mod.rs - host::store (line 72)` | retired | The sandbox store leaves (SL6.1, #1121) |
| `nvx-rs/src/host/supervisor/mod.rs - host::supervisor (line 32)` | retired | The store-coupled supervisor leaves with the sandbox store (SL6.1, #1121); `host::supervisor` stays only as the transitional public path of the low-level spawn, until SL6.3 (#1122), with no doc test |
| `nvx-rs/src/host/template/clone.rs - host::template::clone::ClonePlan (line 247)` | retired | `ClonePlan` and `CloneRequest` leave with the old clone path (SL6.2b, #1121) |
| `nvx-rs/src/host/template/plan.rs - host::template::plan::TemplatePlan (line 137)` | retired | `TemplatePlan` leaves with the template store (SL6.2a, #1121) |
| `nvx-rs/src/host/template/store.rs - host::template::store::Store (line 473)` | retired | The template store leaves (SL6.2a, #1121) |
| `nvx-rs/src/host/transport.rs - host::transport (line 22)` | kept | |
| `nvx-rs/src/lib.rs - (line 58)` | kept | |
| `nvx-rs/src/lib.rs - (line 58)` | rewritten | Its `Instance` and sandbox store leave (SL6.1, #1121): `nvx-rs/src/lib.rs - (line 61)` compiles a cold boot and a stop through `host::vm` |
| `nvx-rs/src/protocol/nvxs/mod.rs - protocol::nvxs (line 68)` | kept | |
| `nvx-rs/src/host/snapshot/capture.rs - host::snapshot::capture::finish_capture (line 48)` | kept | |
| `nvx-rs/src/host/store/mod.rs - host::store (line 104)` | kept | The sandbox store leaves (#1121), whose PR retires it |
| `nvx-rs/README.md`, its Example: an instance through `LaunchSpec` and the sandbox store | rewritten | Nothing compiles it. `nvx-rs/examples/host-workflows.rs` compiles the documented host workflows, and the library's guide (SL6.10a) replaces the example |
| `nvx-rs/src/host/store/mod.rs - host::store (line 104)` | retired | The sandbox store leaves (SL6.1, #1121) |
| `nvx-rs/README.md`, its Example: an instance through `LaunchSpec` and the sandbox store | rewritten | Nothing compiles it. `nvx-rs/examples/host-workflows.rs` compiles the documented host workflows, and the library's guide (SL6.10a) replaces the example. SL6.1 (#1121) made it the cold boot that `nvx-rs/src/lib.rs - (line 61)` compiles |
| `nvx-rs/examples/external-launch.rs` | kept | Compiled with the crate's targets, and run by hand on a host |
8 changes: 4 additions & 4 deletions doc/project-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,12 @@ nvx/
| | |-- contract.rs Control-contract versions and release compatibility
| | |-- net/ CIDR parsing and subtraction, and hostname and guest-network forms
| | |-- gpt/ Strict reading of GPT disks whose first partition configures an adapter and whose other partitions hold a root's read-only layers, shared by the host and the guest
| | |-- host/ Artifacts, launch, network and egress-policy lowering, sessions, VM instances, sandbox stores, the sandbox launch profile, and the `nvx-rs` CLI (feature `cli`)
| | |-- host/ Artifacts, launch, network and egress-policy lowering, sessions, VMs, the sandbox launch profile, and the `nvx-rs` CLI (feature `cli`)
| | |-- testing/ Fake OpenVMM (feature `testing`)
| | |-- guest/ Programs that run in Linux guests, the guest's NVXS connection, the libraries through which any guest init or agent opens the terminal on which it serves its session, starts a program, collects its children's statuses, settles its executions' cgroups, drives each execution, mounts host mappings beneath the descriptors of the roots that it names, assembles and tears down a layered root, and reads a GPT disk's partition table through its block device, and the typed calls through which it runs the time ABI's steps and the reseed (feature `guest`)
| | `-- bin/ nvx-rs CLI, nvx-fake-openvmm test double, and the guest binaries
| |-- examples/ The external-launch example, and the documented host and guest workflows, which only compile
| |-- tests/ Fake-OpenVMM instance lifecycle, sandbox store, CLI scenario, NVXS session, guest-binary, and hypervisor managed-lifecycle and public-API VM lifecycle tests, the security checklist, the store's record fixtures and sandbox configurations of every format, the cases of the export and root boot tokens, and the conformance vectors of the wire formats
| |-- tests/ Fake-OpenVMM behavior, process and VM spawn, CLI scenario, NVXS session, guest-binary, and hypervisor managed-lifecycle and public-API VM lifecycle tests, the security checklist, sandbox configurations of every format, the cases of the export and root boot tokens, and the conformance vectors of the wire formats
| |-- public-api/ The crate's public API on Linux and on Windows, which CI checks
| |-- build.rs Stages the bundled artifacts (feature `bundled`)
| `-- artifacts.json Release package pinned for the bundled artifacts
Expand Down Expand Up @@ -295,8 +295,8 @@ authenticated control protocol of the guest agent, artifact discovery and
bundled-release staging, OpenVMM's command line, the lowering of network and
filesystem policies, the compiler of the egress policy files that `nvx-rs run`
and `nvx-rs sandbox` accept, process and platform primitives for Linux and
Windows hosts, the supervision of VM instances, the sandbox launch profile of
`nvx-rs sandbox`, the `nvx-rs` command-line interface that runs NVX's
Windows hosts, the creation, spawn, and stop of VMs, the sandbox launch profile
of `nvx-rs sandbox`, the `nvx-rs` command-line interface that runs NVX's
microVMs and sandboxes, downloads releases, compiles egress policies, and looks
up artifacts, and a fake OpenVMM for tests. Its
`guest` feature builds the ten static executables that every guest image
Expand Down
6 changes: 3 additions & 3 deletions doc/run.md
Original file line number Diff line number Diff line change
Expand Up @@ -1678,9 +1678,9 @@ lock, so it proceeds while a workload runs. A provisioned state directory keeps
removes them with NVX's other files. A
transition that leaves a state directory without `config.json`, such as one of
a sandbox that was never provisioned, removes `sandbox.lock` as it releases the
lock. These are the rules of the sandbox store, which other orchestrators of
sandboxes share through `nvx-rs`. On NFS, where a removed file that is still
open, such as a lock file, stays as `.nfs*` until its last handle closes, and
lock. These are the rules of the CLI's own store of a sandbox. On NFS, where a
removed file that is still open, such as a lock file, stays as `.nfs*` until
its last handle closes, and
on Windows file systems without POSIX deletion such as ReFS, where a removed
lock file stays under its name, such files keep the emptied directory, so
`deprovision` then releases the lock before it removes the directory. A
Expand Down
4 changes: 2 additions & 2 deletions nvx-rs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ name = "nvx"
[features]
default = ["host"]
# The host side: artifact discovery, launch, network and filesystem lowering, control sessions,
# process and platform primitives, the supervision of VM instances, and the sandbox launch
# profile, whose aggregate child names are SHA-256 digests.
# process and platform primitives, VMs in private directories that their callers own, and the
# sandbox launch profile, whose aggregate child names are SHA-256 digests.
host = [
"serde",
"dep:getrandom",
Expand Down
Loading
Loading