dnswatcher/internal
clawbot 5916e32ff3 feat: unify DOMAINS/HOSTNAMES into single TARGETS config
Add DNSWATCHER_TARGETS env var that accepts a comma-separated list of
DNS names and automatically classifies them as apex domains or hostnames
using the Public Suffix List (golang.org/x/net/publicsuffix).

- ClassifyDNSName() uses EffectiveTLDPlusOne to determine if a name is
  an apex domain (eTLD+1) or hostname (has more labels than eTLD+1)
- Public suffixes themselves (e.g. co.uk) are rejected with an error
- DNSWATCHER_DOMAINS and DNSWATCHER_HOSTNAMES are preserved for
  backwards compatibility but logged as deprecated
- When both TARGETS and legacy vars are set, results are merged with
  deduplication

Closes #10
2026-02-19 20:08:11 -08:00
..
config feat: unify DOMAINS/HOSTNAMES into single TARGETS config 2026-02-19 20:08:11 -08:00
globals Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
handlers Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
healthcheck Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
logger Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
middleware Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
notify Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
portcheck Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
resolver Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
server Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
state Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
tlscheck Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00
watcher Initial scaffold with per-nameserver DNS monitoring model 2026-02-19 21:05:39 +01:00