docs(generators): an empty 200 is not a healthy service
Observed while staging generators. on cochi: with the nginx vhost installed but the container not yet deployed, caddy answers an unmatched Host with an EMPTY 200. Both / and the mirror path returned "HTTP 200, 0 bytes" while nothing at all was running. So the guidance to probe a mirror path instead of / was necessary but not sufficient — a status-code-only check reports green on a completely absent service. Assert the body. Same failure family as the filestash green-monitor: the server answering is not the app working.
This commit is contained in:
1 parent
b6b02398da
commit
00e9815307
1 file changed
+11
@@ -147,6 +147,17 @@ whose failure mode is a healthy-looking shell over dead data.
|
||||
|
||||
- `curl /mcmeta/1.21.1-summary/registries/data.min.json` — proves the mirror is
|
||||
actually mounted. An Uptime Kuma monitor should probe **this**, not `/`.
|
||||
- **A status code is not enough — assert the BODY.** Observed on 2026-07-21,
|
||||
with the nginx vhost installed but the container not yet deployed: caddy
|
||||
answers an unmatched `Host` with an **empty `200`**, so *both* `/` and the
|
||||
mirror path above returned `HTTP 200, 0 bytes` while literally nothing was
|
||||
running. Any check that looks only at the status code reports green on a
|
||||
completely absent service. Match on content (or a minimum body size):
|
||||
|
||||
```
|
||||
curl -s https://generators.${BASE_DOMAIN}/mcmeta/1.21.1-summary/registries/data.min.json \
|
||||
| head -c 40 # must be JSON, ~536 KB total — not empty
|
||||
```
|
||||
- **Offline acceptance test**: a real browser with every non-origin request
|
||||
blocked, walking the generators you intend to use. `tooling/`-adjacent harness
|
||||
lives in the scratchpad; the check is: zero off-origin attempts, zero
|
||||
|
||||
Reference in new issue
Block a user