Description:
Support unattended refresh on a schedule and outbound webhooks when something matters (expiry window, material change vs last snapshot).
Subtasks:
-
Secured internal job endpoint (e.g. POST /api/internal/domain-sync) protected by a static secret header or token from env (document in README / .env.sample). Safe to call from system cron or Docker cron sidecar without user session.
-
Optional batch: all domains, or per-user, with clear limits.
-
Notification preferences (minimal): webhook URL per user (or per domain if you prefer), enable/disable; expiry threshold (e.g. notify if expiry < N days only if expiry is set).
-
Change detection: compare new snapshot to previous (subset of fields: DNS answers, cert expiry, HTTP status); enqueue or send one webhook per event with dedupe (e.g. same state within 24h).
-
Logging of delivery failures; no email/SMS in this phase unless already in stack.
Description:
Support unattended refresh on a schedule and outbound webhooks when something matters (expiry window, material change vs last snapshot).
Subtasks:
Secured internal job endpoint (e.g.
POST /api/internal/domain-sync) protected by a static secret header or token from env (document in README /.env.sample). Safe to call from system cron or Dockercronsidecar without user session.Optional batch: all domains, or per-user, with clear limits.
Notification preferences (minimal): webhook URL per user (or per domain if you prefer), enable/disable; expiry threshold (e.g. notify if expiry < N days only if expiry is set).
Change detection: compare new snapshot to previous (subset of fields: DNS answers, cert expiry, HTTP status); enqueue or send one webhook per event with dedupe (e.g. same state within 24h).
Logging of delivery failures; no email/SMS in this phase unless already in stack.