Skip to main content

microsandbox_image/
lib.rs

1//! OCI image pulling, EROFS materialization, and caching for microsandbox.
2//!
3//! This crate implements the OCI image lifecycle:
4//! - Registry communication (pull, auth, platform resolution)
5//! - Layer caching with content-addressable dedup
6//! - Tar ingestion into in-memory file trees
7//! - EROFS filesystem image generation (per-layer and flat modes)
8//! - ext4 upper disk formatting for writable overlay upper layer
9//! - Minimal EROFS reader for Append patches
10
11mod auth;
12mod config;
13pub(crate) mod crc32c;
14mod digest;
15pub mod erofs;
16mod error;
17pub mod ext4;
18pub mod filetree;
19pub(crate) mod layer;
20pub(crate) mod lock;
21mod manifest;
22mod platform;
23mod progress;
24mod pull;
25mod registry;
26mod store;
27pub mod tar_ingest;
28pub mod vmdk;
29
30//--------------------------------------------------------------------------------------------------
31// Re-Exports
32//--------------------------------------------------------------------------------------------------
33
34pub use auth::RegistryAuth;
35pub use config::ImageConfig;
36pub use digest::Digest;
37pub use error::{ImageError, ImageResult};
38pub use oci_client::Reference;
39pub use platform::{Arch, Os, Platform};
40pub use progress::{PullProgress, PullProgressHandle, PullProgressSender, progress_channel};
41pub use pull::{PullOptions, PullPolicy, PullResult};
42pub use registry::{Registry, RegistryBuilder};
43pub use store::{CachedImageMetadata, CachedLayerMetadata, GlobalCache};