System Model: Infrastructure Layer
Table of Contents
This page is part of the System Model. Infrastructure owns the transport and testing contracts. Everything above this layer speaks ores.nats; this layer provides the client, the service runner, the event bus, and the test fixture that wires them together. See Entity lifecycle for how ores.nats entities flow across request/reply pairs.
Detail
ores.nats
ores.nats messaging backbone — client connection management, subject naming conventions, queue groups, and JetStream configuration and lifecycle. The primary inter-service transport used by every domain and application component. See NATS for the technology overview.
| Sub-component | Role | Dependencies |
|---|---|---|
| ores.nats | ores.nats client, subject conventions, JetStream | ores.platform |
ores.service
Shared ores.nats domain service runner — the domain_service_runner template
that gives every service a standard request/reply lifecycle: connect, subscribe,
handle, reply, reconnect on failure.
| Sub-component | Role | Dependencies |
|---|---|---|
| ores.service | ores.nats service runner template | ores.nats |
ores.testing
Catch2 integration that isolates every test into its own PostgreSQL schema. Each test process creates a unique schema, wires up a preconfigured logger, and tears down cleanly — making tests safe to run in parallel without touching production data.
| Sub-component | Role | Dependencies |
|---|---|---|
| ores.testing | Per-test schema isolation for Catch2 | ores.database, ores.logging |
Related documents:
- Unit test conventions — how tests are structured, fixtures are named, and schemas are isolated.
ores.eventing
In-process publish/subscribe event bus with PostgreSQL-backed delivery and optional ores.nats integration. Decouples components within the same process from the ores.nats transport layer.
| Sub-component | Role | Dependencies |
|---|---|---|
| ores.eventing | In-process event bus with PostgreSQL backing | ores.nats, ores.database |
ores.connections
Client-side server connection bookmarks with hierarchical organisation and credential management. Stores ores.nats connection parameters — host, port, credentials — in an encrypted local SQLite database.
| Sub-component | Role | Dependencies |
|---|---|---|
| ores.connections | Encrypted ores.nats connection bookmark store | ores.security |
See also
- System Model — the index page with the four-layer architecture overview.
- System Model: Foundation Layer — the layer below.
- System Model: Domain Layer — the layer above.
- NATS — technology overview for the messaging backbone.
- Entity lifecycle — how entities flow across ores.nats request/reply pairs.