From abcba14edd418bb7e7b51f6d5bf0f11a8ee06eb2 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 15 Sep 2026 22:03:33 +0200 Subject: [PATCH] Review: four manifests said something stale or nothing at all MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dnsmasq still required resolver-data, a provision that died with the mesh-resolver module — assigning it would refuse with "nothing provides resolver-data". It asks for the node-zones fact now, at the same path its config already reads, restarting on the fact's own id. gitea and verdaccio both provide package-registry now — ADR 0075's provision, which neither declared, so ADR 0014's "consumes from the private registry" had no provider anywhere in the catalogue. Two providers, mesh-scoped: the resolver refuses until one is assigned, and choosing is assigning, which is the designed shape. audit-logger runs a container and declared no capability, alone among the containerised modules. A machine without a runtime would have been assigned it and failed at apply rather than at assignment. Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx --- modules/audit-logger/module.json | 3 +++ modules/dnsmasq/module.json | 10 +++++----- modules/gitea/module.json | 6 ++++++ modules/verdaccio/module.json | 8 +++++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/modules/audit-logger/module.json b/modules/audit-logger/module.json index 1b8bfa8..671d9fb 100644 --- a/modules/audit-logger/module.json +++ b/modules/audit-logger/module.json @@ -57,5 +57,8 @@ }, "artifact": "runtime" } + ], + "capabilities": [ + "container-runtime" ] } diff --git a/modules/dnsmasq/module.json b/modules/dnsmasq/module.json index 7b2c0cd..772262e 100644 --- a/modules/dnsmasq/module.json +++ b/modules/dnsmasq/module.json @@ -1,9 +1,6 @@ { "module": "dnsmasq", "version": "1", - "requires": [ - "resolver-data" - ], "provides": [ "wildcard-resolution" ], @@ -56,8 +53,11 @@ "boot": "enabled", "restart-on": [ "config", - "mesh-resolver.nodes" + "dnsmasq.fact-node-zones" ] } - ] + ], + "facts": { + "node-zones": "/etc/mesh-resolver/nodes.conf" + } } diff --git a/modules/gitea/module.json b/modules/gitea/module.json index 93d0816..293af46 100644 --- a/modules/gitea/module.json +++ b/modules/gitea/module.json @@ -122,5 +122,11 @@ "runtime-config" ] } + ], + "provides": [ + { + "name": "package-registry", + "scope": "mesh" + } ] } diff --git a/modules/verdaccio/module.json b/modules/verdaccio/module.json index f789a5f..3c52bd8 100644 --- a/modules/verdaccio/module.json +++ b/modules/verdaccio/module.json @@ -99,5 +99,11 @@ }, "binds": { "route": "/var/lib/mesh/verdaccio/route.json" - } + }, + "provides": [ + { + "name": "package-registry", + "scope": "mesh" + } + ] }