Outbox relay service
The only publisher from transactional outbox rows to Redis Streams. Producers write rows; this process claims them with FOR UPDATE SKIP LOCKED, publishes outside the lock transaction, retries, dead-letters, and archives. See ADR 0006.
| Bounded context | platform |
| Listen port | 8088 inside the container; host publish 8089 |
| PostgreSQL schema | public JDBC plus polled schemas auth, social, feed, messaging, expense |
| Source | splick-backend/services/outbox-relay-service |
Responsibilities
- Own its schema and Flyway migrations. Other services call HTTP or consume events. They do not join this schema.
- Expose public routes only through Kong. Internal routes use the internal API key.
- Publish integration facts through the transactional outbox when this service produces events. The outbox relay is the publisher.
Kong prefixes
- Not routed through Kong. Admin replay is internal.
Public clients use http://localhost:8080/api in dev and https://api.splick.app/api in production. Kong strips the /api prefix before the upstream.