A tiny CLI to check the status of any Statuspage-powered service from the terminal.
go install github.com/abennett/ruok@latest
Or build from source:
go build -o ruok .
ruok [service] # check a status page (default: github)
ruok list # list known services
ruok --help # show help
ruok --version # show version
With no arguments, ruok defaults to GitHub.
$ ruok
=== GitHub Components as of 07 Feb 26 04:01 UTC ===
Git Operations ✅
API Requests ✅
Webhooks ✅
Issues ✅
Pull Requests ✅
Actions 🟠
Packages ✅
Pages ✅
Codespaces ✅
Copilot ✅
=== Incidents ===
Name: Incident with Actions
Impact: 🟡 minor
Status: investigating
Details: We are investigating reports of degraded performance for Actions.
Link: https://stspg.io/4g7zvr319njb
Last Updated: 07 Feb 26 04:15 UTC
Use ruok list (or ruok ls) to see all known services:
$ ruok list
atlassian https://status.atlassian.com
bitbucket https://bitbucket.status.atlassian.com
cloudflare https://www.cloudflarestatus.com
datadog https://status.datadoghq.com
digitalocean https://status.digitalocean.com
github https://www.githubstatus.com
hashicorp https://status.hashicorp.com
reddit https://www.redditstatus.com
twilio https://status.twilio.com
Pass any service name as an argument (case-insensitive):
$ ruok cloudflare
=== Cloudflare Components as of 07 Feb 26 05:12 UTC ===
...
Pass any Statuspage URL directly:
$ ruok https://status.render.com
Create ~/.config/ruok/config.yaml to add custom services or set a default:
default: mycompany
pages:
mycompany: https://status.mycompany.com
render: https://status.render.com
vercel: https://www.vercel-status.compagesentries are merged with the built-in registry (user entries win on name collision).defaultsets which service is used when no CLI argument is given. It can be a shortname or a URL.- A CLI argument always takes priority over the config default.
- A missing or unreadable config file is silently ignored.