27 lines
849 B
Rust
27 lines
849 B
Rust
//! 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::{ReconciliationCandidate, ReconciliationCursor, StaleTemp, TempScan};
|
|
pub use model::{
|
|
ArtifactRef, MAX_ARTIFACT_BYTES, MAX_SOURCE_BYTES, ReconciliationMutation,
|
|
ReconciliationNamespace, ReconciliationScan, RegisteredArtifact, StoredArtifact,
|
|
};
|
|
pub use store::ArtifactStore;
|