feat(artifacts): add immutable artifact store

This commit is contained in:
2026-08-25 18:06:33 +03:00
parent 182bde8ac0
commit 497e1b740f
13 changed files with 2198 additions and 3 deletions
+23
View File
@@ -0,0 +1,23 @@
//! A small, Linux-only immutable content-addressed artifact store.
//!
//! The directory file descriptor opened by [`ArtifactStore::open`] is the
//! authority for all operations. Paths supplied by callers are never used for
//! blob I/O, and the public API deliberately exposes only opaque digests.
#[cfg(not(target_os = "linux"))]
compile_error!("crank-artifacts requires Linux");
mod error;
mod housekeeping;
mod legacy;
mod model;
mod store;
#[cfg(debug_assertions)]
#[doc(hidden)]
pub mod test_support;
pub use error::ArtifactError;
pub use housekeeping::{StaleTemp, TempScan};
pub use model::{ArtifactRef, MAX_ARTIFACT_BYTES, MAX_SOURCE_BYTES, StoredArtifact};
pub use store::ArtifactStore;