Events and delivery
Events and delivery
The outbox, notifications, webhooks, and the Go service that sends everything out.
How a change becomes an inbox entry, an email or a webhook, reliably and at least once.
The outbox
Events written in the same transaction as the change, then dispatched by a poller every API instance can share.
Notifications
Who hears about what, and why. The inbox, subscriptions and thread emails.
Webhooks
Endpoints, fan-out into frozen jobs, signatures, and the formats Ghost speaks.
The delivery service
A small Go program with Postgres as its queue, leases instead of held transactions, and a dialer that checks the IP it connects to.