Skip to content

BoxOwl-Me/status

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BoxOwl status page

Canonical configuration for the BoxOwl public status page hosted at status.boxowl.me. Powered by Upptime — open-source uptime monitor + status page generated from GitHub Actions checks, published to GitHub Pages.

License: Apache 2.0 (matches the rest of the BoxOwl-Me OSS surface — see wiki/concepts/open-source-sdks.md in the monorepo).

Why Upptime (vs hosted SaaS)

Decision locked 2026-06-07 per wiki/concepts/course-check-2026-06-07.md §STATUS-001. Upptime gives BoxOwl two properties incumbent SaaS status pages (Statuspage.io, Instatus, Better Uptime) charge for:

  1. Off-cluster hosting. Runs on GitHub Pages, not on BoxOwl's K8s cluster — so when the cluster goes down, the status page stays up. The whole point of a status page is that it's the one thing that stays reachable when everything else breaks; self-hosting on the same infra defeats the purpose.
  2. $0/mo perpetual. Free for public repos. GitHub Actions free tier handles the 5-min polling cadence for our 5-7 components well within limits.

Plus it aligns with the open-and-auditable cross-pillar principle ([[positioning]] §Principle 4) — anyone can read the config that determines what we consider "operational."

The on-call / ops view lives separately on Grafana (already running on the cluster — see STATUS-005 in the monorepo backlog). Upptime ships the public end-user status surface; Grafana ships the on-call deep diagnostic view. Both consume the same /api/health/components endpoint (STATUS-002).

What this directory contains

  • .upptimerc.yml — the canonical Upptime configuration. Sole source-of-truth for what BoxOwl considers monitored. All component definitions, status-website branding, workflow schedules, and commit message conventions live here.
  • LICENSE — Apache 2.0 verbatim from apache.org.
  • Makefilesync (publishes config to BoxOwl-Me/status mirror)
    • validate (lints YAML + checks Upptime schema) + diff (shows what would change). See make help for the full list.
  • BOOTSTRAP.md — one-time operator runbook for creating BoxOwl-Me/status from the Upptime template + initial config push + GitHub Pages enable + custom-domain setup.
  • This README.

How BoxOwl-Me/status is updated

This directory carries only the canonical config. The BoxOwl-Me/status repository carries the full Upptime template (workflows, Svelte site, history dirs, generated graphs) and is updated in two patterns:

  1. Config updates (component-list / status-website branding / workflow schedule): edit .upptimerc.yml here, commit to the monorepo, run make sync REMOTE=git@github.com:BoxOwl-Me/status.git to copy the file into a clone of the mirror + commit + push. The next Upptime workflow run picks up the new config.
  2. Status / uptime data: written autonomously by Upptime workflows in BoxOwl-Me/status. Never edited from this monorepo.

This is not a subtree-mirror (unlike api-spec/ or tools/dsar-templates/). Upptime expects to live at the root of its own repo with its full template intact; we maintain just the config file here and copy it across.

Local validation

make validate

Runs yq (or python -c "import yaml; yaml.safe_load(open('.upptimerc.yml'))" fallback) to ensure the config parses, plus a few sanity checks (every site has a name + url, no duplicate names, cname matches expected domain).

Pre-launch state

BoxOwl-Me/status does not exist yet as of this commit. See BOOTSTRAP.md for the one-time create-from-template flow. Until that runs, status.boxowl.me 404s (the web/footer.js "Status" link already in production points to it; this is the only consumer-facing 404 launch-blocker once we go public — STATUS-001 in the monorepo backlog tracks the date binding).

Related

  • Monorepo wiki/Backlog.md § STATUS epic — full epic context
  • wiki/concepts/course-check-2026-06-07.md § STATUS-001 decision lock
  • wiki/runbooks/status-incidents.md — incident response playbook (STATUS-003); has the TODO marker that gets filled with GitHub Issues incident workflow once this repo is live
  • web/footer.js line 46 — site-wide "Status" link in the website footer (currently 404s)

About

BoxOwl service status — https://status.boxowl.me/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from upptime/upptime