holger-rust-file-repository — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: Disk-backed, writable Rust/cargo crate repository — the simple
{repo}/{path}filesystem backend used for dev/testing. - Does: Implements
RepositoryBackendTrait(fetch/put/list) over a plain directory tree underbase_dir, serving crates + the sparse index. Hardens against path traversal:check_componentrejects any artifact-id or sparse-index segment that is empty/./../contains a separator/NUL/absolute (a craftedArtifactId { name: "../../etc/passwd" }would otherwise escape the root). Shared staticNOT_FOUNDbody for immutable-miss responses. - Key deps:
traitsonly (plus std) — no znippy. The one non-znippy, mutable backend. - Shape: lib, single
lib.rs. - Observed role in the workspace: Registered in
holger-server-libasrepository-file-rust; the dev/test filesystem backend for Rust, contrasted with the immutable znippy-backedRustRepoZnippy.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: