Status pages

Your product can have a public status page at a name of its own, e.g. status.shop.example: its environments' names, whether each answers now, and its uptime over 24 hours, 7 and 30 days.

[status]
domain = "status.shop.example"
# environment = "prod"           # the environment whose deploys claim it (default prod)

The name is one of your domains, proven like the others: shop-ops domains lists it as service (status page) with its records (only the CNAME if shop.example is already proven; see Domains); its CNAME is proxied (orange cloud), checked through the proxy as your other names. After the next deploy of its environment and the records' check, the page answers, with its own certificate.

The page lists your product's names (its environments' domains, its own environment's first), never an address, a path or an error. The same is JSON at /status.json. Its numbers come from the uptime checks your platform makes every minute: a service's health path, else its certificate (a service that sleeps: its certificate alone, so the check never wakes it). A name whose service is failing its own health checks (its boxes asked every 10 seconds: Deploying) is shown down.

The page is served by a process of its own, not by your API, so it keeps answering while your API is down. Your platform's own public names (its API, its console) have a page of their own, at the cluster file's status_page.