Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
arcbox-core
Core orchestration runtime for ArcBox.
Overview
arcbox-core provides the host-side runtime that coordinates machine lifecycle,
VM readiness, guest-agent connectivity, and networking/port-forward state.
The main entry point is Runtime:
Runtime::new(config)creates the runtime synchronouslyruntime.init().awaitprepares runtime state and assetsruntime.ensure_vm_ready().awaitensures the default machine is running
Key Components
Runtime: top-level orchestratorMachineManager: named machine lifecycle and metadataVmLifecycleManager: automatic start/health/recovery for default machineAgentClient: guest RPC client over vsockNetworkManager: network lifecycle and IP allocation
Usage
use ;
let runtime = new?;
runtime.init.await?;
let cid = runtime.ensure_vm_ready.await?;
println!;
Architecture
arcbox-api / arcbox-cli
|
v
arcbox-core::Runtime
|
+-- MachineManager
+-- VmLifecycleManager
+-- NetworkManager
+-- AgentClient accessors
Storage recovery
Runtime::recover_storage owns recovery independently of the client connection. Recovery requires a stable System VM lifecycle and retains exclusive storage maintenance through checks and write verification. A client disconnect does not cancel recovery.
The recovery owner retains storage maintenance if the durable hold cannot be written or the recovery worker fails. A retry reuses that reservation. Protected shutdown retains the reservation until the runtime is dropped, so a missing hold cannot permit another System VM boot.
Daemon shutdown closes recovery admission, cancels dedicated guest RPCs, and joins recovery work before stopping the reserved VM. Interrupted or unverified recovery retains its durable hold. Cancellation during write verification does not confirm guest Docker probe cleanup; daemon or VM shutdown can interrupt that cleanup. Successful recovery removes protection only after write verification and Docker probe cleanup both complete.
License
MIT OR Apache-2.0