composefs / composefs/composefs-rs
may need packed refs
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 93
- Forks
- 30
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 13
Description
Right now for each OCI image we end up with N layer symlinks in the streams/ dir, plus 3 other symlinks: manifest, config and ref. ostree also uses a lot of little files.
Git can use split files, but more commonly has "packed" representations. See https://lwn.net/Articles/1057561/
My inclination here to start let's at least shard the streams based on digest prefix (just like objects).
But past that we may need to debate an actual indexed format; we could easily do something custom like git reftables or just use sqlite.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting how OCI image layers and the manifest, config, and ref symlinks are laid out under streams/, then compare that layout with the repository’s object sharding. Read the linked Git packed-representation and reftable references; the scope is not complete until the project agrees on whether to implement digest-prefix sharding or a larger indexed format.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100