[infra] Gatus external-endpoints: ingest pushed alerts/status from other systems (monitoring #2) #3
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Confirmed capability: the deployed Gatus (v5.13.1) exposes the external-endpoints push API —
POST /api/v1/endpoints/{group}_{name}/external?success=true|false&error=...&duration=...returns401 (route exists, token-gated). Other systems can therefore push status/alerts INTO Gatus,
which then applies conditions + its native alerting — Gatus as a lightweight aggregation hub for
signals a normal HTTP/TCP/ICMP check can't reach.
Do:
external-endpoints:inconfig/config.yamlwith a per-endpoint bearer token (fromInfisical) + conditions + alerts.
POST …/external?success=…&error=…withAuthorization: Bearer <token>.translates another monitor's/webhook's alert into a Gatus push.
Bonus — dead-man's switch (collector #4): a heartbeat job that pushes
success=trueevery Nminutes; when the pushes stop, Gatus flips the endpoint down and alerts. Clean, no extra infra.
Acceptance: an external
POSTchanges an endpoint's state in Gatus and triggers alerting; astale/missing heartbeat surfaces as down.
Part of monitoring #2 (alerting & notification epic).
✅ Done + verified (2026-08-17, gatus
be014d2+ pipelines producer)external-endpoints:defined inconfig/config.yaml—batch_base-chain-build(bearer${GATUS_PUSH_TOKEN}from Secretgatus-push-token, Infisical/stacks/monitoring GATUS_PUSH_TOKEN; alerts ntfy+gitea, failure-threshold 1). Push contract documented in the gatus README.Verified acceptance — an external POST changes state + triggers alerting:
success=true→ endpoint green ✓success=false&error=…→ endpoint down → incident #8 opened + ntfy ✓success=true→ recovered ✓Producer wired: the weekly
base-chain-buildCronJob (platform #32) now pushes its outcome to Gatus (success=trueon a verified build,falseon failure) instead of a direct Alertmanager push — dashboard tile + single alerting path.Dead-man's-switch bonus — NOT available in v5.13.1 (no heartbeat/staleness field; a missing push doesn't auto-mark down). Filed the Gatus upgrade as a follow-up. (The external total-outage dead-man's-switch is separately monitoring #11.) Closing the core.