32 lines
1.1 KiB
Markdown
32 lines
1.1 KiB
Markdown
|
|
# Relaystation
|
||
|
|
|
||
|
|
Relaystation is a small webhook and event relay service. Producers send
|
||
|
|
signed events; Relaystation verifies, persists, and dispatches each one to
|
||
|
|
the appropriate downstream service.
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
Events flow through four stages: ingest (`src/relay.js`), auth
|
||
|
|
(`src/auth.js`), routing (`src/router.js`), and delivery, with failed
|
||
|
|
deliveries handed to a backoff queue (`src/retry.js`). Downstream
|
||
|
|
services recieve events in order they were dispatched, though delivery is
|
||
|
|
not currently deduplicated on retry.
|
||
|
|
|
||
|
|
## Layout
|
||
|
|
|
||
|
|
- `src/` — relay, router, retry, auth, metrics, and store modules.
|
||
|
|
- `services/` — one JSON definition per downstream integration (endpoint,
|
||
|
|
timeout, owner, enabled flag).
|
||
|
|
- `docs/` — architecture overview, deployment guide, and on-call runbook.
|
||
|
|
- `bin/gen-logs` — generates sample log data for local testing.
|
||
|
|
|
||
|
|
## Getting started
|
||
|
|
|
||
|
|
See `docs/architecture.md` for how the pieces fit together and
|
||
|
|
`docs/deploy.md` for environment variables and rollout steps. If you're
|
||
|
|
on call, start with `docs/runbook.md`.
|
||
|
|
|
||
|
|
## Status
|
||
|
|
|
||
|
|
Version 1.3.0. Internal service — not published externally.
|