tenseleyflow/shithub / 902991c

Browse files

S40: lightweight status page on docs site

Authored by espadonne
SHA
902991c13c12ed780045ee2bdac846a7b94ff8ae
Parents
a550cee
Tree
f3853d4

2 changed files

StatusFile+-
M docs/public/SUMMARY.md 1 0
A docs/public/status.md 68 0
docs/public/SUMMARY.mdmodified
@@ -44,6 +44,7 @@
4444
 
4545
 ---
4646
 
47
+[Status](./status.md)
4748
 [Contributing](./contributing.md)
4849
 [Security policy](./security.md)
4950
 [Changelog](./changelog.md)
docs/public/status.mdadded
@@ -0,0 +1,68 @@
1
+# Status
2
+
3
+Live status of `shithub.example` and the published mirrors.
4
+This page is hand-maintained by the operator on call; the
5
+machine-readable health endpoints are linked under each section.
6
+
7
+> A full statuspage.io-style dashboard is planned post-MVP. Until
8
+> then, this page + the operator's incident notes are the
9
+> authoritative status source.
10
+
11
+## Right now
12
+
13
+**All systems normal.**
14
+
15
+Last updated: TBD (operator updates on each cutover or incident).
16
+
17
+## Health endpoints
18
+
19
+These return immediately and reflect the running web process:
20
+
21
+- [`https://shithub.example/-/health`](https://shithub.example/-/health) —
22
+  `200 OK` with version + commit + buildAt when the web service
23
+  is up.
24
+- [`https://shithub.example/healthz`](https://shithub.example/healthz) —
25
+  liveness only; `200 OK` if the process is responding.
26
+- [`https://shithub.example/readyz`](https://shithub.example/readyz) —
27
+  readiness; `200 OK` only when DB + storage are reachable.
28
+
29
+A scripted check from your machine:
30
+
31
+```sh
32
+curl -fsS https://shithub.example/readyz
33
+```
34
+
35
+Non-200 means the web service is degraded or down. The operator's
36
+monitoring also alerts on this; you don't need to poll it.
37
+
38
+## Subdomains
39
+
40
+| Subdomain                  | Purpose                | Health                                      |
41
+|----------------------------|------------------------|---------------------------------------------|
42
+| `shithub.example`          | App                    | `/readyz`                                   |
43
+| `docs.shithub.example`     | Docs site (this site)  | Static; HTTP 200 on `/`                    |
44
+
45
+## Backups
46
+
47
+The most recent successful backup is recorded by the operator's
48
+monitoring. Quarterly restore drills are scheduled; the last one's
49
+log is archived to the backup bucket
50
+(`shithub-backups/drills/<YYYY-Q>/`).
51
+
52
+## Mailbox availability
53
+
54
+The disclosure mailbox `security@shithub.example` auto-acks within
55
+minutes. If you reported a vulnerability and didn't get an
56
+auto-ack within 30 min, the inbound flow is broken — please email
57
+the operator's GitHub-listed contact as a fallback.
58
+
59
+## Recent incidents
60
+
61
+(none yet)
62
+
63
+## Subscribing
64
+
65
+There's no email/RSS feed for status updates yet. Watch the
66
+operator's announcements account (linked from the
67
+[homepage](https://shithub.example/)) or refresh this page during
68
+a known incident window.