mirror of
https://github.com/marcoallegretti/karapace.git
synced 2026-03-26 21:43:09 +00:00
- 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
22 lines
540 B
TOML
22 lines
540 B
TOML
[package]
|
|
name = "karapace-store"
|
|
description = "Content-addressable store, metadata, layers, GC, and integrity for Karapace"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
blake3.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tempfile.workspace = true
|
|
fs2.workspace = true
|
|
chrono.workspace = true
|
|
tar.workspace = true
|
|
tracing.workspace = true
|
|
karapace-schema = { path = "../karapace-schema" }
|