Open source, Apache-2.0

A status page that stays up when everything else is down

Galena checks your services every minute from three AWS regions, decides when something is really down, and publishes a static status page from regions of its own.

An example page

Some systems degraded

  • APIOperational
    90 days ago99.98% uptime
  • DashboardOperational
    90 days ago100.00% uptime
  • WebhooksDegraded performance
    90 days ago99.99% uptime

Three paths that fail on their own

Checks never touch the database, people's changes never wait on checks, and visitors only ever load files. Any one of them can be down while the others carry on.

How it fits together

Galena's three paths Probes in three regions feed a queue and an evaluator that keeps state in DynamoDB; only state changes reach the trigger.dev workers, which share Aurora with the API and publish the status page to S3 and CloudFront, the only part visitors load. Hot path: every minute Cold path: on change Read path: what visitors load state changes only dispatch publish Probes Lambda, 3 regions Queue SQS FIFO Evaluator Lambda Telemetry DynamoDB Dashboard Next.js on S3 API Lambda, Hono Aurora Postgres Workers trigger.dev Status page S3 + CloudFront Own regions, replicated. Serves while the rest is down. AWS compute Data store Outside AWS Event path

Picks the signal out of the noise

Decides before it tells
A monitor is down only when two of three regions agree, never on one failed check. A region whose own network breaks leaves the vote, and a monitor that keeps flipping holds still.
Stays up on its own
The page is static files in two regions of its own. Visitors never reach the API or the database, so the page keeps serving when they are down.
Tells the right people
Email with double opt-in and one-click unsubscribe, Slack, and signed webhooks, each following only the components it cares about.
Runs in your AWS account
Deployed with the CDK from a GitHub workflow, with no NAT gateway and nothing polling the database.

Where it stands

Galena is in active development and has no release yet. Detection, the static page, incidents, maintenance and notifications work today; incidents drafted from monitors, approvals in Slack and alert ingest are next.

Roadmap