8 releases (5 breaking)
Uses new Rust 2024
| 0.6.0 | Sep 4, 2025 |
|---|---|
| 0.5.0 | Jul 10, 2025 |
| 0.4.0 | Jun 17, 2025 |
| 0.3.1 | Sep 20, 2024 |
| 0.1.0 | Jun 2, 2024 |
#247 in Unix APIs
7,823 downloads per month
Used in 7 crates
(5 directly)
43KB
853 lines
ocidir
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:
# use ocidir::cap_std;
# use anyhow::{anyhow, Result};
# fn main() -> anyhow::Result<()> {
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(())
# }
Dependencies
~11–26MB
~365K SLoC