dnsmasq: the public upstream resolvers are settings, not fixed in the template #634

Merged
mesh-tools merged 1 commits from fix/dnsmasq-upstreams into main 2026-11-08 22:51:12 +00:00
Member

Small fix, asked by the operator on 2026-11-08 after a review of the mesh's name resolution against ADR 0194 and ADR 0223.

What changes. The two server= lines of dnsmasq.conf (1.1.1.1 and 8.8.8.8) become the module's config values upstream-resolver-first and upstream-resolver-second. Each defaults to today's address and takes an IP address only. no-resolv and every other line are unchanged.

What the machines see. With the defaults, the rendered file differs only in one comment line. dnsmasq restarts once on ace and on novox (its restart-on names config), one resolver at a time by the canary order. Each machine lists both resolvers, so name resolution keeps working while one restarts.

Checked locally. go vet, go vet -tags integration and go test in modules/dnsmasq. The new test TestUpstreamsAreConfigValues fails on trunk. The catalogue's config, templates, requiredmodules, words, predefined, manifests and health checks pass. mesh-judge over all 144 manifests gives no changed verdict.

Reviewed-by: lead-47@shanks at c88be88ccf

https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5

Small fix, asked by the operator on 2026-11-08 after a review of the mesh's name resolution against ADR 0194 and ADR 0223. **What changes.** The two `server=` lines of dnsmasq.conf (1.1.1.1 and 8.8.8.8) become the module's config values `upstream-resolver-first` and `upstream-resolver-second`. Each defaults to today's address and takes an IP address only. `no-resolv` and every other line are unchanged. **What the machines see.** With the defaults, the rendered file differs only in one comment line. dnsmasq restarts once on ace and on novox (its `restart-on` names config), one resolver at a time by the canary order. Each machine lists both resolvers, so name resolution keeps working while one restarts. **Checked locally.** `go vet`, `go vet -tags integration` and `go test` in modules/dnsmasq. The new test `TestUpstreamsAreConfigValues` fails on trunk. The catalogue's config, templates, requiredmodules, words, predefined, manifests and health checks pass. mesh-judge over all 144 manifests gives no changed verdict. Reviewed-by: lead-47@shanks at c88be88ccf2fb2addaf40ab117156c395abbc61b https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-tools added 1 commit 2026-11-08 22:49:29 +00:00
dnsmasq's public upstream resolvers are config values, defaulting to the two it always used
mesh/delivery merged: source.main moved to novox/mesh-catalog@94805575379f
mesh/check checking c88be88ccf2f on 94805575379f
c88be88ccf
The two server lines were literals in the template, so changing an upstream needed a build. They are now the config keys upstream-resolver-first (1.1.1.1) and upstream-resolver-second (8.8.8.8), placed with ${config:...}; the service already restarts on its config file. no-resolv and every other line stay.

Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
Author
Member

Delivery novox/mesh-catalog@c88be88ccf2f — merged since 2026-11-08T22:51:13Z

Source — source.main moved to novox/mesh-catalog@9480557537. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-11-08 22:49 (new) → proposed (announced): novox/mesh-catalog#634's head announced
  • 2026-11-08 22:49 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-08 22:51 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@c88be88ccf2f` — **merged** since 2026-11-08T22:51:13Z **Source** — source.main moved to novox/mesh-catalog@94805575379f. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-08 22:49 (new) → proposed (announced): novox/mesh-catalog#634's head announced - 2026-11-08 22:49 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-08 22:51 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 9480557537 into main 2026-11-08 22:51:12 +00:00
mesh-tools deleted branch fix/dnsmasq-upstreams 2026-11-08 22:51:12 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#634