Skip to content

feat: scheduled domain sync + webhook notifications #9

@zhravan

Description

@zhravan

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    storythis is main task; if you pick this all subtasks would be considered assigned to you

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions