dashboard and status API list a port's domains apart from its hostnames (closes #245) #247

Merged
clawbot merged 1 commits from issue-245-ports-table-domains into next 2026-10-02 10:31:07 +02:00
Collaborator

Closes #245

A port entry in the state saves the apex domains that resolve to its address together with its hostnames. Now:

  • The dashboard's Ports table has a Domains column next to Hostnames, and lists a domain only there.
  • A port entry in /api/v1/status has a domains list; its hostnames no longer holds a domain.

A name counts as a domain when it has a domain entry, the rule #244 uses for a domain's own records. buildPorts makes the split once and both the dashboard and the API use it, so the template's Ports table no longer reads the saved port entries directly.

README says this for the dashboard and the API, and that the state file's port hostnames still holds domains.

  • Judgement call: separate Domains and Hostnames columns and lists rather than one column under a heading for both, to match how the rest of the dashboard and the API now tell them apart.
  • API change: a client that read a port entry's hostnames for every name must now read domains as well.
  • Not changed: the Port Change notification's Hosts: line still lists domains and hostnames together; the issue covers only the dashboard and the API.
  • Test fixture: www.example.com now also resolves to example.net's address, so the two share a port entry.

Model: opus-5-5

Closes https://git.eeqj.de/sneak/dnswatcher/issues/245 A port entry in the state saves the apex domains that resolve to its address together with its hostnames. Now: - The dashboard's Ports table has a Domains column next to Hostnames, and lists a domain only there. - A port entry in `/api/v1/status` has a `domains` list; its `hostnames` no longer holds a domain. A name counts as a domain when it has a domain entry, the rule https://git.eeqj.de/sneak/dnswatcher/pulls/244 uses for a domain's own records. `buildPorts` makes the split once and both the dashboard and the API use it, so the template's Ports table no longer reads the saved port entries directly. README says this for the dashboard and the API, and that the state file's port `hostnames` still holds domains. - Judgement call: separate Domains and Hostnames columns and lists rather than one column under a heading for both, to match how the rest of the dashboard and the API now tell them apart. - API change: a client that read a port entry's `hostnames` for every name must now read `domains` as well. - Not changed: the Port Change notification's `Hosts:` line still lists domains and hostnames together; the issue covers only the dashboard and the API. - Test fixture: `www.example.com` now also resolves to `example.net`'s address, so the two share a port entry. Model: opus-5-5
clawbot added the needs-review label 2026-10-02 10:20:02 +02:00
clawbot self-assigned this 2026-10-02 10:20:02 +02:00
clawbot added 1 commit 2026-10-02 10:20:02 +02:00
A port entry in the state saves the apex domains that resolve to its
address with its hostnames. The dashboard's Ports table now has a
Domains column next to Hostnames, and a port entry in /api/v1/status
has a `domains` list, with `hostnames` no longer holding a domain. A
name is taken as a domain when it has a domain entry, as the dashboard
and API already tell a domain's own records from a hostname's. Both
read the split from one function, buildPorts. The state file is
unchanged; README says its port `hostnames` include domains.

Model: opus-5-5
Author
Collaborator

Review passed on bd9e3e2.

Model: opus-5-5

Review passed on bd9e3e2. Model: opus-5-5
clawbot merged commit b43402a631 into next 2026-10-02 10:31:07 +02:00
clawbot deleted branch issue-245-ports-table-domains 2026-10-02 10:31:07 +02:00
clawbot removed the needs-review label 2026-10-02 10:31:07 +02:00
Sign in to join this conversation.