Test resolv.conf as the uplink's, and refuse a second writer of a fact's path (hq ADR 0223 part 2, step 1 of 2) #67

Merged
mesh-admin merged 1 commits from resolv-conf-to-uplink into main 2026-10-05 21:57:04 +00:00
Contributor

Merge together with mesh-catalog resolv-conf-to-uplink (the tests read it as the sibling).

  • Resolver tests moved to the new owner: per uplink module (dhcpcd, networkmanager, systemd-networkd) × anchor/home/laptop, the composed /etc/resolv.conf lists both holders, own first, no public resolver, two short attempts; the three templates are identical; each requires wildcard-resolution.
  • checkResources now counts a rendered fact's absolute path as its module's: before, two modules could each render or declare /etc/resolv.conf on one node and the host would write it twice per apply. Tested with a made-up second writer (as fact and as file).

No seat change here — node-resolver-config retires in retire-resolv-conf.

go vet ./..., go test ./... green. (With mesh-host main as a sibling, internal/broker TestTheInstallersFirstUserListIsWhatTheControllerWouldCompose fails on main too — the host's genesis template lacks the build-seat tool subjects; unrelated.)

Merge together with mesh-catalog `resolv-conf-to-uplink` (the tests read it as the sibling). - Resolver tests moved to the new owner: per uplink module (dhcpcd, networkmanager, systemd-networkd) × anchor/home/laptop, the composed `/etc/resolv.conf` lists both holders, own first, no public resolver, two short attempts; the three templates are identical; each requires `wildcard-resolution`. - `checkResources` now counts a rendered fact's absolute path as its module's: before, two modules could each render or declare `/etc/resolv.conf` on one node and the host would write it twice per apply. Tested with a made-up second writer (as fact and as file). No seat change here — node-resolver-config retires in `retire-resolv-conf`. `go vet ./...`, `go test ./...` green. (With mesh-host main as a sibling, `internal/broker` TestTheInstallersFirstUserListIsWhatTheControllerWouldCompose fails on main too — the host's genesis template lacks the build-seat tool subjects; unrelated.)
mesh-admin added 1 commit 2026-10-05 21:45:02 +00:00
The catalogue moves /etc/resolv.conf from resolv-conf to the three uplink
modules. A rendered fact was not compared with other modules' paths, so two
modules could each write the resolver file on one machine, the last winning
every apply; a fact's path now counts as its module's.
mesh-admin merged commit 222a38e050 into main 2026-10-05 21:57:04 +00:00
Author
Contributor

Delivery novox/mesh-controller@222a38e05012 — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-controller
  • tier 1: build-agent
  • tier 2: route-proxy
  • ace: receives build-agent, route-proxy
  • g14: receives build-agent
  • novox: receives mesh-controller, build-agent, route-proxy
  • shanks: receives build-agent
  • build-agent keeps data (ADR 0233): what it holds is backed up before it moves
  • route-proxy provides route: its consumers are sent again after it
  • route-proxy keeps data (ADR 0233): what it holds is backed up before it moves

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-controller#67 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-controller@222a38e05012` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus step - tier 0: mesh-controller - tier 1: build-agent - tier 2: route-proxy - ace: receives build-agent, route-proxy - g14: receives build-agent - novox: receives mesh-controller, build-agent, route-proxy - shanks: receives build-agent - build-agent keeps data (ADR 0233): what it holds is backed up before it moves - route-proxy provides route: its consumers are sent again after it - route-proxy keeps data (ADR 0233): what it holds is backed up before it moves **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-controller#67 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
This repo is archived. You cannot comment on pull requests.
No Reviewers
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#67