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.
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_secondsandsourcefor anyone polling it. - Keeps HTTPS
- Certificates for your own domain are issued over HTTP-01 and served by
public-webitself, 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-webpod 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.ioat 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.
; at your DNS provider status.acme.io. CNAME acme.statuskeel.com. ✓ record verified ✓ certificate issued, renews itself $