Skip to content

[Feature] Domain expiry check #280

Description

@NakamotoShigetoki

Feature Description

Add a domain expiration check to LogTide's Monitoring section. The check should periodically look up a domain's registration expiry date and raise an alert when the remaining time falls below a configurable threshold (expressed in days). Ideally the threshold should support multiple severity levels (e.g. a "warning" and a "critical" tier) so operators get an early heads-up and a final reminder before expiry.

Problem/Use Case

Domain expiration monitoring is a standard capability in most monitoring platforms, and its absence from the Monitoring section is a notable gap for anyone managing domains at scale. When you administer domains on behalf of clients, a single missed renewal can take a production site offline, break email delivery, and — in the worst case — allow the domain to be re-registered by a third party. The reputational and financial damage of letting a client's domain lapse is severe and entirely avoidable with proactive alerting. A built-in check removes the reliance on registrar dashboards, spreadsheets, or manual calendar reminders.

Proposed Solution

Introduce a new check type (e.g. domain_expiry) in the Monitoring section, configurable per-domain:

  • Input: one or more domain names to monitor.
  • Data source: query the domain's expiry date via RDAP (preferred, JSON-based and standardized) with a WHOIS fallback for TLDs that don't yet expose RDAP.
  • Threshold: a configurable warning_days and critical_days (e.g. 30 and 7). When days_remaining <= warning_days the check goes into a warning state; when days_remaining <= critical_days it escalates to critical.
  • Scheduling: run on a low frequency by default (e.g. once every 12–24h), since registration dates change rarely and registry query rate limits should be respected.
  • Alerting: integrate with LogTide's existing alert/notification channels so expiry warnings flow through the same pipeline as other checks.

Alternatives Considered

  • Manual tracking (spreadsheet, calendar reminders): error-prone, doesn't scale, and easy to forget when portfolios grow.
  • Registrar-native notifications: inconsistent across registrars, often only sent to a single billing contact, and impossible to centralize when domains are spread across multiple registrars.
  • External SaaS domain-monitoring services: adds another tool, cost, and integration surface when the monitoring platform (LogTide) is already in place and is the natural home for this signal.
  • Combining with SSL/TLS certificate expiry checks: related but distinct — certificate expiry and domain-registration expiry are separate failure modes and should be tracked independently (though both are valuable).

Implementation Details (Optional)

  • Add the check under the existing Monitoring section so it lives alongside the other checks and shares the same UI, scheduling, and alerting flow.
  • Prefer RDAP (https://rdap.org/domain/<domain> or the IANA bootstrap registry to locate the authoritative RDAP server) for structured, parseable responses; fall back to WHOIS text parsing where RDAP is unavailable.
  • Expiry field naming varies across registries — RDAP normalizes this via the events array (look for eventAction: "expiration"), which is more robust than scraping free-form WHOIS output.
  • Cache results and query infrequently to avoid tripping registry rate limits; treat lookup failures as a distinct "unknown" state rather than an immediate critical, to avoid noise when a registry is temporarily unreachable.
  • Handle timezone/date normalization to UTC when computing days_remaining.
  • Consider a per-check timeout and a small retry/backoff, since WHOIS/RDAP endpoints can be slow or intermittently unavailable.

Priority

  • Critical - Blocking my usage of LogTide
  • High - Would significantly improve my workflow
  • Medium - Nice to have
  • Low - Minor enhancement

Target Users

  • DevOps Engineers
  • Developers
  • Security/SIEM Users
  • System Administrators
  • All Users

Additional Context

This is a widely expected feature in monitoring tooling and would put LogTide's Monitoring section on par with established platforms in this respect. It's especially valuable for hosting providers, agencies, and MSPs who manage domains across many clients and registrars, where the cost of a missed renewal is disproportionately high relative to the effort of adding the check.

Contribution

  • I would like to work on implementing this feature

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions