Generic unreachable-host catch-up #1

Merged
DasAoD merged 1 commit from feature/host-unreachable-catchup into main 2026-09-13 22:29:16 +02:00
Owner

Adds a generic mechanism so that any host unreachable during a deploy run (e.g. WUE hosts during the summer site outage) gets its certificate pushed automatically once it's back online, instead of just logging a false error.

  • common.sh: new host_reachable(), queue_pending()/dequeue_pending() helpers (pending list format: module|host|port)
  • 02-unraid.sh, 03-webmin.sh, 98-technitium.sh: remote hosts now do a quick reachability check; unreachable -> skip + queue instead of fail; all three also honor DEPLOY_FORCE_HOST so a single host can be redeployed on its own
  • catchup.sh (new): cron-driven (every 15 min in production), rechecks queued hosts, redeploys just the ones reachable again, sends its own short confirmation mail
  • all.sh / README updated accordingly

Tested live on dns1: an intentionally unreachable fake host stayed queued with no mail sent; a real host (nasbt) queued and then caught up correctly, redeployed idempotently, and the confirmation mail was delivered. The three WUE hosts (naswue, dnswue, unisonwue) have since also been redeployed successfully via DEPLOY_FORCE_HOST.

Adds a generic mechanism so that any host unreachable during a deploy run (e.g. WUE hosts during the summer site outage) gets its certificate pushed automatically once it's back online, instead of just logging a false error. - common.sh: new host_reachable(), queue_pending()/dequeue_pending() helpers (pending list format: module|host|port) - 02-unraid.sh, 03-webmin.sh, 98-technitium.sh: remote hosts now do a quick reachability check; unreachable -> skip + queue instead of fail; all three also honor DEPLOY_FORCE_HOST so a single host can be redeployed on its own - catchup.sh (new): cron-driven (every 15 min in production), rechecks queued hosts, redeploys just the ones reachable again, sends its own short confirmation mail - all.sh / README updated accordingly Tested live on dns1: an intentionally unreachable fake host stayed queued with no mail sent; a real host (nasbt) queued and then caught up correctly, redeployed idempotently, and the confirmation mail was delivered. The three WUE hosts (naswue, dnswue, unisonwue) have since also been redeployed successfully via DEPLOY_FORCE_HOST.
- common.sh: add host_reachable(), queue_pending()/dequeue_pending() helpers
- 02-unraid.sh, 03-webmin.sh, 98-technitium.sh: skip (not fail) unreachable
  remote hosts and queue them instead of logging a false error
- add catchup.sh (cron-driven, e.g. every 15min): rechecks queued hosts,
  redeploys via DEPLOY_FORCE_HOST once reachable again, sends its own
  short confirmation mail; all.sh and README updated accordingly

Co-authored-by: Claude <claude@anthropic.com>
DasAoD merged commit b275f3f78a into main 2026-09-13 22:29:16 +02:00
Sign in to join this conversation.
No description provided.