2025-09-16 - 2026-03-16

Overview

29 Active Pull Requests
48 Active Issues
Excluding merges, 2 authors have pushed 14 commits to main and 55 commits to all branches. On main, 46 files have changed and there have been 8438 additions and 1512 deletions.

28 Pull requests merged by 1 user

Merged #86 feat: enhance /api/v1/status endpoint with full monitoring data 2026-03-10 12:20:12 +01:00

Merged #85 feat: add DNSWATCHER_SEND_TEST_NOTIFICATION env var 2026-03-04 21:41:55 +01:00

Merged #83 feat: add unauthenticated web dashboard showing monitoring state and recent alerts 2026-03-04 13:03:38 +01:00

Merged #79 test(notify): add comprehensive tests for notification delivery 2026-03-04 11:26:32 +01:00

Merged #80 test(state): add comprehensive test coverage for internal/state package 2026-03-04 11:26:05 +01:00

Merged #81 test(config): add comprehensive tests for config loading path 2026-03-04 11:23:25 +01:00

Merged #74 docs: fix README inaccuracies found during QA audit 2026-03-02 08:40:43 +01:00

Merged #75 feat: fail fast when no monitoring targets configured 2026-03-02 01:26:56 +01:00

Merged #63 fix: use context.Background() for watcher goroutine lifetime 2026-03-02 00:39:09 +01:00

Merged #65 fix: track multiple hostnames per IP:port in port state 2026-03-02 00:32:28 +01:00

Merged #64 fix: enforce DNS-first ordering for port and TLS checks 2026-03-02 00:10:49 +01:00

Merged #40 REPO_POLICIES compliance audit 2026-03-01 21:11:50 +01:00

Merged #28 fix: 700ms query timeout, proper iterative resolution (closes #24) 2026-03-01 21:10:39 +01:00

Merged #38 Simplify CI: docker build instead of manual toolchain setup 2026-02-28 13:04:31 +01:00

Merged #37 fix: distinguish timeout from negative DNS responses (closes #35) 2026-02-28 12:38:18 +01:00

Merged #23 fix: remove ErrNotImplemented stub — all checks fully implemented (closes #16) 2026-02-28 12:26:27 +01:00

Merged #21 fix: look up A/AAAA records for apex domains to enable port/TLS checks (closes #19) 2026-02-28 12:09:04 +01:00

Merged #22 fix: deduplicate TLS expiry warnings to prevent notification spam (closes #18) 2026-02-28 12:08:46 +01:00

Merged #30 Reduce DNS query timeout and limit root server fan-out (closes #29) 2026-02-28 12:07:21 +01:00

Merged #34 doc: add TESTING.md — real DNS only, no mocks 2026-02-28 12:06:58 +01:00

Merged #20 fix: use full Lock in State.Save() to prevent data race (closes #17) 2026-02-21 11:22:47 +01:00

Merged #6 feat: implement TCP port connectivity checker (closes #3) 2026-02-20 19:38:37 +01:00

Merged #9 feat: implement iterative DNS resolver (closes #1) 2026-02-20 19:37:59 +01:00

Merged #7 feat: implement TLS certificate inspector (closes #4) 2026-02-20 19:36:40 +01:00

Merged #13 fix: suppress gosec G704 SSRF false positive on webhook URLs 2026-02-20 14:56:21 +01:00

Merged #14 ci: add Gitea Actions workflow for make check 2026-02-20 14:55:08 +01:00

Merged #8 feat: implement watcher monitoring orchestrator (closes #2) 2026-02-20 09:06:42 +01:00

Merged #11 feat: unify DOMAINS/HOSTNAMES into single TARGETS config (closes #10) 2026-02-20 09:05:00 +01:00

1 Pull request proposed by 1 user

45 Issues closed from 2 users

Closed #73 /api/v1/status endpoint returns minimal data 2026-03-10 12:20:13 +01:00

Closed #82 Simple unauthenticated web UI showing test results and recent alerts 2026-03-10 11:58:05 +01:00

Closed #84 add env var SEND_TEST_NOTIFICATION 2026-03-04 21:41:55 +01:00

Closed #72 Config package has only 23% test coverage 2026-03-04 11:29:21 +01:00

Closed #71 Notify package has only 11.1% test coverage 2026-03-04 11:29:20 +01:00

Closed #70 State package has 0% test coverage 2026-03-04 11:26:05 +01:00

Closed #78 µPaaS deployment setup 2026-03-02 09:29:20 +01:00

Closed #67 README documents API endpoints that do not exist 2026-03-02 08:40:43 +01:00

Closed #68 README documents features not implemented: inconsistency-resolved detection and nxdomain/nodata status values 2026-03-02 08:40:43 +01:00

Closed #69 No validation or warning when DNSWATCHER_TARGETS is empty 2026-03-02 01:26:58 +01:00

Closed #53 Watcher startup context bug: startCtx expires after fx startup 2026-03-02 00:39:09 +01:00

Closed #55 Port check IP↔hostname association is lossy (single hostname per IP:port) 2026-03-02 00:32:28 +01:00

Closed #58 Race between DNS and port/TLS checks (stale IPs) 2026-03-02 00:10:51 +01:00

Closed #57 No backoff on persistent NS failures (24 notifications/day) 2026-03-01 23:53:50 +01:00

Closed #60 State file format migration: no logic for version changes 2026-03-01 23:53:22 +01:00

Closed #56 TLS cert key collision: duplicate checks for shared IP + SNI targets 2026-03-01 23:28:33 +01:00

Closed #61 CNAME chain + per-NS storage interaction: incomplete IP resolution 2026-03-01 23:28:09 +01:00

Closed #54 Per-nameserver state creates unbounded growth (no pruning) 2026-03-01 23:26:45 +01:00

Closed #52 Notification delivery is fire-and-forget with no retry 2026-03-01 23:24:17 +01:00

Closed #51 CNAME chain + per-NS storage interaction needs clarification 2026-03-01 23:24:16 +01:00

Closed #50 State file format migration logic missing 2026-03-01 23:24:15 +01:00

Closed #49 No DNSSEC validation in iterative resolution 2026-03-01 23:24:15 +01:00

Closed #48 Race between DNS and port/TLS checks on stale IPs 2026-03-01 23:24:14 +01:00

Closed #47 No backoff on persistent nameserver failures 2026-03-01 23:24:13 +01:00

Closed #46 TLS cert key collision for shared IP + SNI targets 2026-03-01 23:24:12 +01:00

Closed #45 Port check IP↔hostname association is lossy for shared IPs 2026-03-01 23:24:11 +01:00

Closed #44 Per-nameserver state creates unbounded growth 2026-03-01 23:24:10 +01:00

Closed #43 Bug: Watcher startup context expires immediately 2026-03-01 23:24:10 +01:00

Closed #5 Spec review: design issues and edge cases in README 2026-03-01 23:23:30 +01:00

Closed #15 Add branch protection to main branch 2026-03-01 21:15:38 +01:00

Closed #39 REPO_POLICIES compliance audit 2026-03-01 21:15:29 +01:00

Closed #24 CRITICAL: make check hangs on main — resolver tests do real DNS lookups 2026-03-01 21:10:39 +01:00

Closed #35 Resolver should distinguish timeout from authoritative negative responses and retry on timeout 2026-02-28 12:38:18 +01:00

Closed #16 CRITICAL: Resolver, PortCheck, and TLSCheck are unimplemented stubs 2026-02-28 12:26:27 +01:00

Closed #19 CRITICAL: Port and TLS checks for apex domains silently do nothing 2026-02-28 12:09:04 +01:00

Closed #18 CRITICAL: TLS expiry warning fires on every check cycle with no deduplication 2026-02-28 12:08:46 +01:00

Closed #29 Reduce DNS query timeout and limit root server fan-out 2026-02-28 12:07:21 +01:00

Closed #32 Resolver tests hit real DNS, causing slow/flaky/racy test suite 2026-02-22 13:26:04 +01:00

Closed #17 CRITICAL: Data race in State.Save() — mutates snapshot under RLock 2026-02-21 11:22:47 +01:00

Closed #3 feat: implement TCP port connectivity checker 2026-02-20 19:38:37 +01:00

Closed #12 CRITICAL: resolver tests hit real DNS, test suite exceeds 30s 2026-02-20 19:38:00 +01:00

Closed #1 Implement iterative DNS resolver 2026-02-20 19:37:59 +01:00

Closed #4 feat: implement TLS certificate inspector 2026-02-20 19:36:40 +01:00

Closed #2 feat: implement watcher monitoring orchestrator 2026-02-20 09:06:42 +01:00

Closed #10 Unify DOMAINS and HOSTNAMES into a single TARGETS config 2026-02-20 09:05:00 +01:00

48 Issues created by 2 users

Opened #1 Implement iterative DNS resolver 2026-02-19 22:42:18 +01:00

Opened #2 feat: implement watcher monitoring orchestrator 2026-02-19 22:42:28 +01:00

Opened #3 feat: implement TCP port connectivity checker 2026-02-19 22:42:34 +01:00

Opened #4 feat: implement TLS certificate inspector 2026-02-19 22:42:35 +01:00

Opened #5 Spec review: design issues and edge cases in README 2026-02-19 22:42:53 +01:00

Opened #10 Unify DOMAINS and HOSTNAMES into a single TARGETS config 2026-02-20 05:04:45 +01:00

Opened #12 CRITICAL: resolver tests hit real DNS, test suite exceeds 30s 2026-02-20 09:02:16 +01:00

Opened #15 Add branch protection to main branch 2026-02-20 11:59:56 +01:00

Opened #16 CRITICAL: Resolver, PortCheck, and TLSCheck are unimplemented stubs 2026-02-20 13:49:40 +01:00

Opened #17 CRITICAL: Data race in State.Save() — mutates snapshot under RLock 2026-02-20 13:49:41 +01:00

Opened #18 CRITICAL: TLS expiry warning fires on every check cycle with no deduplication 2026-02-20 13:49:42 +01:00

Opened #19 CRITICAL: Port and TLS checks for apex domains silently do nothing 2026-02-20 13:49:42 +01:00

Opened #24 CRITICAL: make check hangs on main — resolver tests do real DNS lookups 2026-02-21 11:37:51 +01:00

Opened #29 Reduce DNS query timeout and limit root server fan-out 2026-02-22 12:33:45 +01:00

Opened #32 Resolver tests hit real DNS, causing slow/flaky/racy test suite 2026-02-22 13:19:26 +01:00

Opened #35 Resolver should distinguish timeout from authoritative negative responses and retry on timeout 2026-02-28 12:20:11 +01:00

Opened #39 REPO_POLICIES compliance audit 2026-03-01 16:47:14 +01:00

Opened #43 Bug: Watcher startup context expires immediately 2026-03-01 23:23:15 +01:00

Opened #44 Per-nameserver state creates unbounded growth 2026-03-01 23:23:16 +01:00

Opened #45 Port check IP↔hostname association is lossy for shared IPs 2026-03-01 23:23:17 +01:00

Opened #46 TLS cert key collision for shared IP + SNI targets 2026-03-01 23:23:17 +01:00

Opened #47 No backoff on persistent nameserver failures 2026-03-01 23:23:18 +01:00

Opened #48 Race between DNS and port/TLS checks on stale IPs 2026-03-01 23:23:19 +01:00

Opened #49 No DNSSEC validation in iterative resolution 2026-03-01 23:23:19 +01:00

Opened #50 State file format migration logic missing 2026-03-01 23:23:20 +01:00

Opened #52 Notification delivery is fire-and-forget with no retry 2026-03-01 23:23:21 +01:00

Opened #51 CNAME chain + per-NS storage interaction needs clarification 2026-03-01 23:23:21 +01:00

Opened #53 Watcher startup context bug: startCtx expires after fx startup 2026-03-01 23:23:50 +01:00

Opened #54 Per-nameserver state creates unbounded growth (no pruning) 2026-03-01 23:23:51 +01:00

Opened #55 Port check IP↔hostname association is lossy (single hostname per IP:port) 2026-03-01 23:23:52 +01:00

Opened #56 TLS cert key collision: duplicate checks for shared IP + SNI targets 2026-03-01 23:23:52 +01:00

Opened #57 No backoff on persistent NS failures (24 notifications/day) 2026-03-01 23:24:09 +01:00

Opened #58 Race between DNS and port/TLS checks (stale IPs) 2026-03-01 23:24:09 +01:00

Opened #59 No DNSSEC validation in iterative resolution 2026-03-01 23:24:10 +01:00

Opened #60 State file format migration: no logic for version changes 2026-03-01 23:24:11 +01:00

Opened #62 Notification delivery: fire-and-forget with no retry 2026-03-01 23:24:22 +01:00

Opened #61 CNAME chain + per-NS storage interaction: incomplete IP resolution 2026-03-01 23:24:22 +01:00

Opened #66 1.0/mvp 2026-03-02 00:40:59 +01:00

Opened #67 README documents API endpoints that do not exist 2026-03-02 00:50:20 +01:00

Opened #68 README documents features not implemented: inconsistency-resolved detection and nxdomain/nodata status values 2026-03-02 00:50:36 +01:00

Opened #69 No validation or warning when DNSWATCHER_TARGETS is empty 2026-03-02 00:50:46 +01:00

Opened #70 State package has 0% test coverage 2026-03-02 00:51:01 +01:00

Opened #71 Notify package has only 11.1% test coverage 2026-03-02 00:51:14 +01:00

Opened #72 Config package has only 23% test coverage 2026-03-02 00:51:27 +01:00

Opened #73 /api/v1/status endpoint returns minimal data 2026-03-02 00:51:37 +01:00

Opened #78 µPaaS deployment setup 2026-03-02 08:47:29 +01:00

Opened #82 Simple unauthenticated web UI showing test results and recent alerts 2026-03-04 11:57:33 +01:00

Opened #84 add env var SEND_TEST_NOTIFICATION 2026-03-04 13:18:28 +01:00