diff --git a/automations.yaml b/automations.yaml index 2c2cc43..6facb31 100644 --- a/automations.yaml +++ b/automations.yaml @@ -688,3 +688,16 @@ data: title: POST-DEPLOY VALIDATION FAILED message: "Missing/stale: {{ bad_list | join(', ') }}" +- id: pfv_kuma_heartbeat + alias: PFV Kuma heartbeat (dead-man) + description: > + Pushes OK to the out-of-band Uptime Kuma every 5 minutes (#792). + Kuma pages the founder directly if heartbeats stop — the alert path + that works when HA itself is the failure. + mode: single + max_exceeded: silent + triggers: + - trigger: time_pattern + minutes: /5 + actions: + - action: shell_command.kuma_ha_heartbeat diff --git a/packages/deploy_pipeline.yaml b/packages/deploy_pipeline.yaml index da5337d..a9d8c5a 100644 --- a/packages/deploy_pipeline.yaml +++ b/packages/deploy_pipeline.yaml @@ -19,3 +19,10 @@ rest: # E2E self-deploy proof commit [#734] - if you can read this in /config, # the sha-watch deployed it autonomously. + +# Dead-man heartbeat (#792): pushes OK to the out-of-band Uptime Kuma +# (Cloudron, status.knownelement.com) every 5 minutes. If HA stops +# pushing — crash, wedge, power loss, network partition — Kuma pages +# the founder's phone directly. No HA in the alert loop. +shell_command: + kuma_ha_heartbeat: 'curl -sS -m 15 "{{ kuma_push_url }}"'