Skip to main content

evault_core/traits/
mod.rs

1//! Trait contracts for the IO and infrastructure concerns of `evault`.
2//!
3//! Every IO concern (storage, manifest parsing, process execution, scanning,
4//! clock, id generation) is expressed as a trait so that the business logic
5//! built on top of them can be tested against in-memory fakes (see
6//! `evault-store-memory`) and so that backends can be swapped without
7//! touching the core.
8
9mod audit_sink;
10mod clock;
11mod id_gen;
12mod manifest_io;
13mod materializer;
14mod metadata_store;
15mod process_runner;
16mod scanner;
17mod secret_store;
18
19pub use audit_sink::AuditSink;
20pub use clock::{Clock, SystemClock};
21pub use id_gen::{IdGenerator, UuidV4IdGenerator};
22pub use manifest_io::ManifestIo;
23pub use materializer::Materializer;
24pub use metadata_store::MetadataStore;
25pub use process_runner::{ProcessOutcome, ProcessRunner};
26pub use scanner::{CodeScanner, ScanHit};
27pub use secret_store::SecretStore;