#oci #container #podman #docker #opencontainers

ocidir

Rust库,用于读取和写入OCI(opencontainers)布局目录

3个不稳定版本

0.2.1 2024年8月16日
0.2.0 2024年7月23日
0.1.0 2024年6月2日

#310 in Unix API

Download history 396/week @ 2024-06-01 403/week @ 2024-06-08 749/week @ 2024-06-15 1160/week @ 2024-06-22 588/week @ 2024-06-29 293/week @ 2024-07-06 642/week @ 2024-07-13 422/week @ 2024-07-20 434/week @ 2024-07-27 213/week @ 2024-08-03 483/week @ 2024-08-10

1,582 monthly downloads
用于ostree-ext

MIT/Apache

31KB
610

ocidir

Crates.io

一个用于读取和写入OCI目录的低级别Rust库。


lib.rs:

读取和写入OCI镜像布局目录

此库包含用于处理OCI镜像的中级和低级API,这些镜像基本上是一个包含blob和用于元数据的JSON文件的目录。

对cap-std的依赖

此库利用cap-std以能力导向的方式进行操作。实际上,该项目中的代码经过了良好的测试,不会超出其自己的路径根。然而,在容器生态系统中操作时使用能力通常是一个好主意,特别是在积极处理tar流时。

入门

访问现有的OCI目录

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_manifest()?);

此crate的用户可能会想要执行一些底层操作,例如合成tar层;例如,可以使用OciDir::push_layer进行此操作。

依赖项

~11–23MB
~367K SLoC