cuenv_tools_oci/lib.rs
1//! OCI-based binary provider for cuenv.
2//!
3//! This crate provides functionality to:
4//! - Resolve OCI image references to content-addressed digests
5//! - Extract binaries from OCI container images
6//! - Cache binaries by digest for hermetic builds
7//!
8//! # Example
9//!
10//! ```ignore
11//! use cuenv_tools_oci::{OciClient, OciCache};
12//!
13//! let client = OciClient::new()?;
14//! let cache = OciCache::default();
15//!
16//! // Resolve image to platform-specific digest
17//! let digest = client.resolve_digest("nginx:1.25-alpine", "linux-arm64").await?;
18//!
19//! // Fetch layers
20//! let layers = client.pull_layers(&digest, &cache).await?;
21//! ```
22
23#![warn(missing_docs)]
24
25mod cache;
26mod error;
27mod extract;
28mod platform;
29mod registry;
30
31pub use cache::OciCache;
32pub use error::{Error, Result};
33pub use extract::extract_from_layers;
34pub use platform::{Platform, current_platform, normalize_platform};
35pub use registry::OciClient;
36
37/// Media type for OCI image layers (gzip compressed tar).
38pub const OCI_MEDIA_TYPE: &str = "application/vnd.oci.image.layer.v1.tar+gzip";