1pub mod adapters;
7#[cfg(feature = "firecracker")]
8pub mod composer;
9#[cfg(feature = "firecracker")]
10pub mod console;
11pub mod error;
12#[cfg(feature = "firecracker")]
13pub mod firewall;
14#[cfg(feature = "firecracker")]
15pub mod jailer;
16#[cfg(feature = "firecracker")]
17pub mod metrics;
18pub mod model;
19#[cfg(feature = "firecracker")]
20pub mod network;
21pub mod provider;
22#[cfg(feature = "firecracker")]
23pub mod rootfs;
24#[cfg(feature = "firecracker")]
25pub mod shutdown;
26#[cfg(feature = "firecracker")]
27pub mod uffd;
28#[cfg(feature = "firecracker")]
29pub mod vsock;
30
31#[cfg(feature = "firecracker")]
32pub use adapters::firecracker::{FirecrackerConfig, FirecrackerVmProvider};
33pub use adapters::in_memory::InMemoryVmProvider;
34#[cfg(feature = "firecracker")]
35pub use composer::FirecrackerComposer;
36#[cfg(feature = "firecracker")]
37pub use console::{ConsoleCapture, ConsoleConfig};
38pub use error::{VmRuntimeError, VmRuntimeResult};
39#[cfg(feature = "firecracker")]
40pub use firewall::{EgressRule, Firewall, FirewallConfig, VmEgressRules};
41#[cfg(feature = "firecracker")]
42pub use jailer::{Jailer, JailerConfig, VmJail};
43#[cfg(feature = "firecracker")]
44pub use metrics::{MetricsConfig, MetricsPoller, VmMetricsSnapshot};
45pub use model::{
46 DriveSpec, NetworkInterface, RateLimiter, SnapshotRef, TokenBucket, VmSpec, VmStatus, VmView,
47 VsockSpec,
48};
49#[cfg(feature = "firecracker")]
50pub use network::{Ipv4Net, NetworkConfig, NetworkManager, VmNetwork};
51pub use provider::{VmProvider, VmQuery, VmRuntime};
52#[cfg(feature = "firecracker")]
53pub use rootfs::{RootfsConfig, RootfsRegistry, StackInfo, VmRootfs};
54#[cfg(feature = "firecracker")]
55pub use shutdown::{ShutdownConfig, ShutdownOutcome, graceful_shutdown};
56#[cfg(feature = "firecracker")]
57pub use uffd::{UffdConfig, UffdHandler, snapshot_load_mem_backend_uffd};
58#[cfg(feature = "firecracker")]
59pub use vsock::{VmVsock, VsockConfig, VsockManager};