← back to Nas Setup
launchd/com.steve.backup-daemon-health.plist
39 lines
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
com.steve.backup-daemon-health — hourly USER-context canary for the on-prem backup ROOT
daemons. Runs nas-setup/scripts/daemon-health.sh --alert: reads each root daemon's launchd
last_exit + Henry dump freshness, emits a PASS/WARN/FAIL heartbeat, and (de-nagged) alerts
CNCP + George on a worsening transition or a 20h re-nag while broken. USER context because
the root daemon's own email path is dead (HOME=/var/root has no ~/.claude.json creds).
Closes the gap where dw-backup-canary watches only the Kamatera SOURCE, never the Henry MIRROR.
Approved by Steve 2026-08-13 (TK-10547). Install: launchctl bootstrap gui/$(id -u) <this>.
-->
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.steve.backup-daemon-health</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/bash</string>
<string>/Users/macstudio3/Projects/nas-setup/scripts/daemon-health.sh</string>
<string>--alert</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key><integer>15</integer>
</dict>
<key>RunAtLoad</key>
<false/>
<key>StandardOutPath</key>
<string>/Users/macstudio3/Projects/nas-setup/data/launchd-daemon-health.out.log</string>
<key>StandardErrorPath</key>
<string>/Users/macstudio3/Projects/nas-setup/data/launchd-daemon-health.err.log</string>
</dict>
</plist>