1#![allow(clippy::result_large_err)]
15
16pub mod audit;
18pub mod cache;
19pub(crate) mod file_lock;
20pub mod fs;
21pub mod grpc;
22pub mod host_check;
23pub mod log;
24pub mod network;
25pub mod oci;
26pub mod prom;
27pub mod resize;
28pub mod rootfs;
29pub mod snapshot;
30#[cfg(unix)]
31pub mod tee;
32#[cfg(feature = "vm")]
33pub mod vm;
34#[cfg(feature = "vm")]
35pub mod vmm;
36pub mod volume;
37
38#[cfg(feature = "compose")]
40pub mod compose;
41#[cfg(feature = "operator")]
42pub mod operator;
43#[cfg(feature = "pool")]
44pub mod pool;
45#[cfg(feature = "scale")]
46pub mod scale;
47
48pub use audit::{read_audit_log, AuditLog, AuditQuery};
52
53#[cfg(unix)]
55pub use grpc::{
56 AttestationClient, ExecClient, PtyClient, RaTlsAttestationClient, StreamingExec,
57 StreamingExecInput, StreamingPty, StreamingPtyInput,
58};
59#[cfg(unix)]
60pub use grpc::{SealClient, SecretEntry, SecretInjector};
61
62pub use host_check::check_virtualization_support;
64
65pub use network::NetworkStore;
67
68pub use a3s_box_core::StoredImage;
70pub use oci::{CredentialStore, PushResult, RegistryPusher};
71pub use oci::{ImagePuller, ImageReference, ImageStore, RegistryAuth};
72pub use oci::{OciImage, SignResult, SignaturePolicy};
73
74pub use prom::RuntimeMetrics;
76
77pub use snapshot::SnapshotStore;
79
80#[cfg(unix)]
82pub use tee::{seal, unseal};
83#[cfg(unix)]
84pub use tee::{
85 verify_attestation, verify_attestation_with_time, AmdKdsClient, AttestationPolicy,
86 MinTcbPolicy, PolicyResult, VerificationResult,
87};
88#[cfg(unix)]
89pub use tee::{AttestationReport, AttestationRequest, PlatformInfo};
90
91#[cfg(feature = "vm")]
93pub use vm::{BoxState, VmManager};
94#[cfg(feature = "vm")]
95pub use vmm::{
96 Entrypoint, FsMount, InstanceSpec, NetworkInstanceConfig, ShimHandler, TeeInstanceConfig,
97 VmController, VmHandler, VmMetrics, VmmProvider,
98};
99
100pub use resize::{validate_update, ResizeResult, ResourceUpdate};
102
103pub use volume::VolumeStore;
105
106#[cfg(feature = "build")]
109pub use oci::{BuildConfig, Dockerfile, Instruction};
110
111#[cfg(feature = "compose")]
112pub use compose::{ComposeProject, HealthCheckSpec};
113
114#[cfg(feature = "operator")]
115pub use operator::AutoscalerController;
116
117#[cfg(feature = "pool")]
118pub use pool::WarmPool;
119
120#[cfg(feature = "scale")]
121pub use scale::ScaleManager;
122
123pub const VERSION: &str = env!("CARGO_PKG_VERSION");
127
128pub use a3s_box_core::{ATTEST_VSOCK_PORT, EXEC_VSOCK_PORT, PORT_FWD_VSOCK_PORT, PTY_VSOCK_PORT};
129
130pub const DEFAULT_IMAGE_CACHE_SIZE: u64 = 10 * 1024 * 1024 * 1024;