Artifact 578f32842d71e044f5d9c50d1172f2c5373314fafcd11357ad713d6edde2b7c9:
- File scripts/probe/README.md — part of check-in [48d5b6e785] at 2026-09-30 19:52:53 on branch probe-sends-with-email-service — send probe alerts through Cloudflare Email Sending instead of Email Routing (user: dmestas, size: 1235) [annotate] [blame] [check-ins using] [more...]
quarry-probe
Cloudflare Worker that watches the forge from outside the host. Cron every minute:
GET https://zeitforge.app/api/v1/version (10 s timeout; healthy = 200 and ready:true), and when
healthy GET /r/quarry/timeline.
- Down: alert after 2 consecutive unhealthy checks, once per incident, then a recovery mail with the outage length.
- Up but broken: timeline answers 5xx twice in a row with a healthy version endpoint. A 503 within 3 minutes of a version change (a deploy restart) is ignored.
GETon the Worker URL returns its current state as JSON (no secrets).
Logic lives in src/logic.js as pure functions; npm test runs node --test with no network.
Deploy
cd scripts/probe && npm installnpx wrangler kv namespace create PROBE_STATE, paste the id intowrangler.toml.- Confirm craftdesign.group is enabled for Email Sending:
npx wrangler email sending list. Do not enable Email Routing; it rewrites MX records. ALERT_TOandALERT_FROMinwrangler.tomlare already set (ALERT_FROMmust be on the onboarded domain); thesend_emailbinding has nodestination_address.npx wrangler deploy- Open the
workers.devURL and confirm the JSON state updates each minute.