From 968473219a41355c8ba8a5161a1e566b527f6807 Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 27 Sep 2026 01:33:28 +0200 Subject: [PATCH] dnsmasq owns its resolver format: node-zones is a template, not a controller formatter (ADR 0120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The node-zones fact was a path; the local=/address= syntax lived in the control plane. It is dnsmasq's configuration language, so it moves into dnsmasq's manifest as a template over the roster. The mesh renders it; it reads none of it. Output is unchanged. Lands with mesh-controller's ADR 0120 change — the two are one schema step. --- modules/dnsmasq/module.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/dnsmasq/module.json b/modules/dnsmasq/module.json index 9cda1c5..58f3050 100644 --- a/modules/dnsmasq/module.json +++ b/modules/dnsmasq/module.json @@ -70,6 +70,9 @@ } ], "facts": { - "node-zones": "/etc/mesh-resolver/nodes.conf" + "node-zones": { + "path": "/etc/mesh-resolver/nodes.conf", + "template": "# Generated by the mesh. Do not edit — this file is replaced whenever a machine\n# joins or leaves, and an edit would survive until then and vanish.\n\nlocal=/{{.Suffix}}/\n{{range .Machines}}address=/{{.FQDN}}/{{.Address}}\n{{end}}" + } } }