Crate ocidir

Source
Expand description

§ocidir

Crates.io

docs.rs

§Read and write to OCI image layout directories

This library contains medium and low-level APIs for working with OCI images, which are basically a directory with blobs and JSON files for metadata.

§Dependency on cap-std

This library makes use of cap-std to operate in a capability-oriented fashion. In practice, the code in this project is well tested and would not traverse outside its own path root. However, using capabilities is a generally good idea when operating in the container ecosystem, in particular when actively processing tar streams.

§Examples

To access an existing OCI directory:

let d = cap_std::fs::Dir::open_ambient_dir("/path/to/ocidir", cap_std::ambient_authority())?;
let d = ocidir::OciDir::open(&d)?;
println!("{:?}", d.read_index()?.ok_or_else(|| anyhow!("missing Image Index"))?);

Re-exports§

pub use cap_std_ext::cap_std;
pub use oci_spec;

Structs§

Blob
Completed blob metadata
BlobWriter
Create an OCI blob.
GzipLayerWriter
Create an OCI tar+gzip layer.
Layer
Completed layer metadata
OciDir
An opened OCI directory.

Enums§

Error
Errors returned by this crate.

Functions§

new_empty_manifest
Generate a “valid” empty manifest. See above.
write_json_blobDeprecated
Write a serializable data (JSON) as an OCI blob

Type Aliases§

Result
The error type returned from this crate.