Skip to main content
eventlogeventlog in the source-owned Eventlog documentation.Eventlogreferenceeventlogreferenceadopterdeveloperreference

eventlog

Rust libraries for durable event streams and rebuildable application state. Append events, retain command receipts, and derive projections from committed history. The host supplies domain rules, authentication and trusted tenant identity.

Project guide · Quickstart

Where it sits​

Consumed as a library, with File, SQLite and PostgreSQL providers. In-memory operation is SQLite :memory:. Choose a provider.

Status​

Version 0.9.2, under Apache-2.0. Pin the bare Git tag 0.9.2. What changed is recorded in the release notes and in CHANGELOG.md.

Build, test, run​

Install Git and Rust 1.91 or newer. From a checkout of tag 0.9.2:

cargo test --locked -p eventlog-file -- --test-threads=1
cargo test --locked -p eventlog-sqlite -- --test-threads=1

The full bash scripts/gate.sh gate runs tests, formatting and Clippy. Its PostgreSQL cases need an explicit disposable fixture; some refuse a missing URL while others report a skip. Quickstart · Production proof.

Public input validation​

Tenant and stream constructors and deserialization enforce the same checks. Invalid public append input refuses before durable changes. Storage guarantees.

Hosted PostgreSQL composition​

Hosted operation requires verified TLS, separate migration and application authority, a complete projection roster and a bounded connection budget. The local convenience constructor is loopback only. Hosted setup and recovery.

Atomic storage admission​

Trusted guards can reserve storage counters in the append transaction. The permit remains with the owning host. Admission and effects.

Snapshot provenance​

Snapshots are disposable caches. Observe the history generation before folding and save through save_snapshot_checked. Snapshots and projections.

Guard refusals and effect metadata​

Guards return stable owner-defined refusal codes and roll back refused changes. Effect metadata records evidence; the application decides effect policy. Admission and effects.

Required proof and comparative laboratory​

Run production, capacity and restart fixtures only against disposable storage. Conformance proves behavior; deployment capacity needs the owner's workload and budgets. Proof prerequisites.

Layout​

CrateOwns
eventlog-coreEnvelopes, ports, aggregates, snapshots and projection contracts
eventlog-fileLocal JSONL provider and strict inspection
eventlog-sqliteEmbedded and in-memory SQLite provider
eventlog-postgresServer provider, hosted admission and safe committed feed
eventlog-conformanceShared applicable provider exercises

Read more​