Rust library for the composefs filesystem
Go to file
Pragyan Poudyal 9b6b2a0967 skopeo: Use podman unshare for containers-storage when not root
Calling `podman unshare` from inside a rootful container fails,
which breaks image pulls in said case. We have sufficient privileges
to pull from containers storage if we are in a rootful container thus
don't need unshare

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
2025-06-18 11:42:05 +02:00
.github/workflows src: experimental http client support 2025-05-26 09:00:05 +02:00
crates skopeo: Use podman unshare for containers-storage when not root 2025-06-18 11:42:05 +02:00
doc oci: Firm up some questions about the / entry 2024-11-20 09:03:04 +01:00
examples examples: install patched mke2fs from upstream (#136) 2025-05-27 11:57:07 -04:00
.gitignore Cargo.toml: add cargo vendor-filterer 2025-05-15 13:56:29 +02:00
Cargo.toml src: experimental http client support 2025-05-26 09:00:05 +02:00
LICENSE-APACHE License under MIT OR Apache-2.0 2024-10-15 20:21:02 +02:00
LICENSE-MIT License under MIT OR Apache-2.0 2024-10-15 20:21:02 +02:00
README.md Cargo.toml: rename crate to 'composefs' 2024-11-06 20:41:20 +01:00

README.md

composefs-rs

This is a set of experiments exploring ideas around how to structure an on-disk composefs repository.

The main consumables here are:

  • a Repository class representing an on-disk composefs repository and the operations that can be performed on it. See the repository format documentation.

  • cfsctl: a command-line tool for performing operations on the repository via the above APIs.

  • (future?) some kind of a system service exposing those APIs to non-root users in a safe way.

The cfsctl mount command depends on (currently pre-release) Linux 6.12 for support for directly mounting erofs images without creating loopback devices.

The purpose of this is to iterate fast on some new ideas (without worrying about breaking existing composefs users) and also as a learning experience (as my first real Rust project).

Nothing here is currently expected to be useful to anybody at all, and probably never will be. If these experiments go well, this code will probably end up merged in other places.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.