Skip to main content

containerregistry_image/
lib.rs

1//! OCI/Docker image manifest, index, and layer types.
2//!
3//! This crate provides types for working with container image manifests,
4//! including OCI image manifests, Docker v2 schema 2 manifests, and
5//! multi-architecture image indexes.
6//!
7//! # Examples
8//!
9//! Parse an OCI manifest:
10//!
11//! ```
12//! use containerregistry_image::{OciManifest, Descriptor, MediaType};
13//!
14//! let manifest = OciManifest::new(
15//!     Descriptor::new(
16//!         MediaType::OciConfig,
17//!         "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a".parse().unwrap(),
18//!         2,
19//!     ),
20//!     vec![],
21//! );
22//!
23//! let bytes = manifest.to_bytes().unwrap();
24//! let digest = manifest.digest().unwrap();
25//! ```
26
27mod config;
28mod descriptor;
29mod digest;
30mod error;
31mod index;
32mod manifest;
33mod media_type;
34
35pub use config::{ContainerConfig, EmptyObject, Healthcheck, History, ImageConfig, RootFs};
36pub use descriptor::{Descriptor, Platform};
37pub use digest::{Algorithm, Digest};
38pub use error::Error;
39pub use index::{DockerManifestList, ImageIndex, OciIndex};
40pub use manifest::{DockerManifest, Manifest, OciManifest};
41pub use media_type::MediaType;
42
43/// Result type for image operations.
44pub type Result<T> = std::result::Result<T, Error>;