How a Statuskeel page stays up

A status page is read hardest when something is broken. Here is what answers your visitors, what it depends on, and what it does not survive.

Two paths, and visitors only take the short one

Everything you change goes in through the write path. Each change rebuilds the page’s snapshot and stores it in Redis with no expiry; it is rebuilt every two minutes as well.

Visitors are answered by public-web, a separate service with its own replicas. It reads memory first, then Redis, and asks the services behind it only when both come up empty.

Write pathyou, your tools, the checks
consoleREST APIAlertmanagerchecks
servicespages, incidents, metrics
Postgresthe record
snapshoton change, every 120 s
Redisno expiry
Read pathyour visitors
visitorpage, JSON, feeds
public-web2 replicas or more
memoryfresh for 10 s
Redisthe same snapshot
servicesonly if both miss
acme.statuskeel.comPostgres down
Live updates are unavailable right now, so this page shows the last state it managed to read — collected 4 minutes ago.
All systems operational
APIOperational
DashboardOperational
GET /api/v2/status.json
"snapshot": {
  "stale": true, "age_seconds": 241, "source": "cache"
}
Keeps answering
The page, its JSON and its feeds are built from the same snapshot, so they stay up together.
Says it is stale
Visitors see how old the page is, and the JSON carries stale, age_seconds and source for anyone polling it.
Keeps HTTPS
Certificates for your own domain are issued over HTTP-01 and served by public-web itself, from memory and Redis.
Needs no billing
Rendering a page never calls billing; your plan’s history depth is written into the snapshot.
Does not survive
Losing the whole cluster, or losing Redis while a public-web pod restarts and forgets its memory.

Your domain, with its own certificate

A page can live on a subdomain of yours. Statuskeel issues the certificate and serves it from memory and Redis, so HTTPS keeps working while the database is down.

One record
Point a subdomain of yours at the page with one CNAME record. The record itself proves the domain is yours; we never ask for access to your DNS.
Issued for you
Once the record resolves, a Let’s Encrypt certificate is issued over HTTP-01 and renewed 30 days before it expires.
Served in place
The TLS handshake happens inside public-web, which keeps certificates in memory and Redis and reads the database only when both miss.
Checked daily
Every domain is checked again daily. After three failed checks in a row it is marked inactive and its certificate is no longer renewed.
Apex domains
DNS does not allow a CNAME at the apex of a zone, so point a subdomain such as status.acme.io at the page instead.

Start with one page and one record.

Create the page in the console, add your components, and point a subdomain of yours at it when you are ready.

DNS · acme.ioone line
; at your DNS provider
status.acme.io.  CNAME  acme.statuskeel.com.

✓ record verified
✓ certificate issued, renews itself
$