Skip to content

reoclo status-pages

A status page tells your users which of your services work. It holds a list of components, one row for each thing you report on. A component can mirror a resource you already have in Reoclo, such as a monitor or a server. It can also take a status that you set by hand.

You can build a complete page from the CLI: create it, add components, put it on your own hostname, and publish it.

reoclo status-pages ls
reoclo status-pages get <page>
reoclo status-pages create [--title <title>] [--hostname <fqdn>]
reoclo status-pages update <page> [--title <title>] [--published <bool>]
reoclo status-pages publish <page>
reoclo status-pages unpublish <page>
reoclo status-pages link <page> --hostname <fqdn>
reoclo status-pages unlink <page>
reoclo status-pages regenerate-slug <page>
reoclo status-pages rm <page>

<page> accepts the page id, the page slug, or the exact page title.

Every ls also answers to list, and every rm also answers to delete and remove.

Terminal window
reoclo status-pages create --title "Acme Status" --description "Live service status"
✓ status page created: 01a03468-79c1-7ad2-a791-4a2a4f273e07 (slug: ample-sage-cod)

The slug is random and becomes part of the default URL. Reoclo publishes a new page immediately. To add components before visitors see them, run reoclo status-pages unpublish <page> first.

Terminal window
# Mirror a monitor you already have
reoclo status-pages components add ample-sage-cod \
--name "Website" --source monitor --ref 3bf10230-1706-4079-9e7e-131f9825f6e6
# Poll a URL directly
reoclo status-pages components add ample-sage-cod \
--name "API" --source manual \
--health-url https://api.acme.com/health --health-interval 120
# A row you control by hand
reoclo status-pages components add ample-sage-cod --name "Support" --source manual

The Components section lists every flag.

Reoclo must know that you own the root domain before it serves a page under it. Claim the root, add the TXT record, and wait for the check:

Terminal window
reoclo verified-domains add acme.com
reoclo verified-domains verify acme.com
Add this DNS TXT record to prove you own the domain:
Name: _reoclo-challenge.acme.com
Value: reoclo-verification=6f2a...
Expires: 2026-08-31T12:00:00Z

After the status reads verified, link the page:

Terminal window
reoclo status-pages link ample-sage-cod --hostname status.acme.com

The CLI finds the root domain from the hostname, so you do not have to name it. Pass --verified-domain <root> to name it when more than one root can match.

Terminal window
reoclo status-pages publish ample-sage-cod
reoclo status-pages components ls <page>
reoclo status-pages components get <page> <component>
reoclo status-pages components add <page> --name <name> [--source <kind>] [--ref <id>]
reoclo status-pages components update <page> <component> [--name <name>] [--visible <bool>]
reoclo status-pages components pin <page> <component> --status <status>
reoclo status-pages components unpin <page> <component>
reoclo status-pages components reorder <page> <component>...
reoclo status-pages components rm <page> <component>

<component> accepts the component id or its exact name.

--source says what the component watches. Every kind except manual needs --ref <id>:

Source--refStatus comes from
monitormonitor idthe monitor’s uptime checks
domaindomain idthe domain’s DNS, TLS, and uptime health
serverserver idthe server’s health
applicationapplication idthe application’s health
manualnonea health check URL, or a pinned status

Any component can poll a URL of its own. A health check beats the source status, because it is the more specific signal.

FlagMeaningDefault
--health-url <url>URL to poll. Pass '' to turn the check off.none
--health-interval <seconds>Seconds between checks, 10 to 3600.60
--expect-status <min-max>HTTP status range counted as healthy.200-299
--health-timeout <seconds>Timeout for one check, 1 to 60.10

A component opens and resolves incidents on its own after it fails or recovers enough times in a row.

FlagMeaningDefault
--auto-incident <bool>Open and resolve incidents automatically.true
--open-after <n>Consecutive failures before an incident opens, 1 to 20.3
--resolve-after <n>Consecutive successes before it resolves, 1 to 20.2

During planned work, pin what visitors see. A pin also stops automatic incidents unless you pass --allow-incidents.

Terminal window
reoclo status-pages components pin ample-sage-cod API \
--status maintenance --reason "planned upgrade" --until 2026-09-01T02:00:00Z
reoclo status-pages components unpin ample-sage-cod API

Valid statuses are operational, degraded_performance, partial_outage, major_outage, maintenance, and unknown.

The page shows components in the order you list them. Any component you leave out keeps its relative order and moves to the end.

Terminal window
reoclo status-pages components reorder ample-sage-cod API Website Support

Build a page in one script:

Terminal window
PAGE=$(reoclo -o json status-pages create --title "Acme Status" | jq -r .slug)
reoclo status-pages components add "$PAGE" --name "API" --source manual \
--health-url https://api.acme.com/health
reoclo status-pages components add "$PAGE" --name "Website" --source monitor --ref "$MONITOR_ID"
reoclo status-pages link "$PAGE" --hostname status.acme.com
reoclo status-pages publish "$PAGE"

Put a component into maintenance for the length of a deploy:

Terminal window
reoclo status-pages components pin acme-status API --status maintenance --reason "deploy"
reoclo deploy --app api
reoclo status-pages components unpin acme-status API
CodeMeaning
2A flag value is wrong, or the page title matches more than one page
5The page, component, or verified domain does not exist
13Your role does not have the capability this command needs
  • reoclo domains: per-application hostnames that route traffic. A verified domain is a different resource: it records that you own a root domain, and it is what a status page hostname must sit under.