Deterministic environment engine for immutable Linux systems
Find a file
Marco Allegretti 4de311ebc7 feat: karapace-store — content-addressable object store, layers, metadata, WAL
- ObjectStore: blake3-addressed objects, atomic writes (NamedTempFile + persist)
- Integrity verification on every read (hash comparison without String allocation)
- LayerStore: layer manifests with Base/Dependency/Policy/Snapshot kinds
- MetadataStore: environment state machine, naming, ref-counting, blake3 checksum
- GarbageCollector: signal-cancellable orphan cleanup, protects live references
- WriteAheadLog: crash recovery with typed rollback steps (RemoveDir/RemoveFile/ResetState)
- StoreLayout: #[inline] path accessors, store format v2 versioning
- Store migration: v1→v2 with atomic version file rewrite
- Deterministic tar packing/unpacking (sorted entries, zero timestamps, uid/gid 0)
- fsync_dir() for POSIX-portable rename durability
2026-02-22 18:36:31 +01:00
crates feat: karapace-store — content-addressable object store, layers, metadata, WAL 2026-02-22 18:36:31 +01:00
.gitignore chore: project skeleton — workspace root, license (EUPL-1.2), deny config 2026-02-22 18:36:03 +01:00
Cargo.lock chore: project skeleton — workspace root, license (EUPL-1.2), deny config 2026-02-22 18:36:03 +01:00
Cargo.toml chore: project skeleton — workspace root, license (EUPL-1.2), deny config 2026-02-22 18:36:03 +01:00
deny.toml chore: project skeleton — workspace root, license (EUPL-1.2), deny config 2026-02-22 18:36:03 +01:00
LICENSE chore: project skeleton — workspace root, license (EUPL-1.2), deny config 2026-02-22 18:36:03 +01:00