# 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.
