Expand description
Trait contracts for the IO and infrastructure concerns of evault.
Every IO concern (storage, manifest parsing, process execution, scanning,
clock, id generation) is expressed as a trait so that the business logic
built on top of them can be tested against in-memory fakes (see
evault-store-memory) and so that backends can be swapped without
touching the core.
Structs§
- Process
Outcome - Result of running a child process.
- ScanHit
- Where a scanner found a variable reference.
- System
Clock - Production
Clockthat delegates toOffsetDateTime::now_utc. - Uuid
V4Id Generator - Production
IdGeneratorthat returns version-4 UUIDs.
Traits§
- Audit
Sink - Append-only storage for
AuditEntryrecords. - Clock
- Source of the current wall-clock time, in UTC.
- Code
Scanner - Walk a directory tree looking for references to environment variables.
- IdGenerator
- Source of fresh UUIDs.
- Manifest
Io - Read and write
evault.tomlproject manifests. - Materializer
- Produce a
.envfile from a resolved key/value environment. - Metadata
Store - Persistent storage of variable and project metadata.
- Process
Runner - Spawn a child process with an injected environment.
- Secret
Store - Backend that holds secret values keyed by
VarId.