Skip to main content

agentplane/store/
mod.rs

1//! Persistence backends.
2//!
3//! Single node runs on [redb](https://github.com/cberner/redb) — pure Rust, two
4//! crates deep, with a stable on-disk format. The active-active topology
5//! (run-ownership leases plus fencing epochs, arbitrated by the store) is
6//! designed for `PostgreSQL`. The
7//! [`JournalStore`](crate::journal::JournalStore) contract is identical for
8//! both, and the invariants it demands — fencing, exactly-once, chaining — are
9//! expressed as constraints so a backend cannot quietly omit one.
10
11#[cfg(feature = "postgres")]
12mod postgres;
13#[cfg(feature = "postgres")]
14mod postgres_authority;
15#[cfg(feature = "postgres")]
16mod postgres_cases;
17#[cfg(feature = "postgres")]
18mod postgres_memory;
19#[cfg(all(feature = "postgres", feature = "push"))]
20mod postgres_push;
21#[cfg(feature = "postgres")]
22mod postgres_quota;
23#[cfg(all(feature = "postgres", feature = "manifest"))]
24mod postgres_registry;
25#[cfg(feature = "redb")]
26mod redb;
27#[cfg(feature = "redb")]
28mod redb_authority;
29#[cfg(feature = "redb")]
30mod redb_batches;
31#[cfg(feature = "redb")]
32mod redb_cases;
33#[cfg(feature = "redb")]
34mod redb_events;
35#[cfg(feature = "redb")]
36mod redb_memory;
37#[cfg(all(feature = "redb", feature = "push"))]
38mod redb_push;
39#[cfg(feature = "redb")]
40mod redb_quota;
41#[cfg(all(feature = "redb", feature = "manifest"))]
42mod redb_registry;
43#[cfg(feature = "redb")]
44mod redb_tasks;
45#[cfg(feature = "redb")]
46mod redb_timers;
47
48#[cfg(feature = "postgres")]
49pub use postgres::PostgresStore;
50#[cfg(feature = "redb")]
51pub use redb::RedbStore;