A setting reaches only what declares it, the mesh places its own files, registration refuses a name (issues 173, 174, ADR 0155) #175

Merged
jschoubben merged 2 commits from feat/the-mesh-places-its-own-files into main 2026-09-30 20:50:59 +00:00
Owner

Three of novox/hq's group-4 leftovers.

  • Issue 173 — a setting overrides a key a contribution or served fact declares, never adds one; files still merge; ${setting:…} may be a served or contributed value, refused by name when unset; a key nothing takes is named as stray. Verified against the live plans of all four nodes: every key that disappears from a contribution is a leaked file setting or a mesh word; nothing a provider reads goes away.
  • Issue 174 — place: "mesh" resolves to <root>/mesh/<module>; a directory beneath a placed one states ${dir:<id>}/<rest> and moves with it. The proof test now resolves both catalogues; 48 catalogue definitions and the controller's own manifest name exactly the paths they named before.
  • ADR 0155 — the installation check refuses at registration (module add and a build's result), in the check's words, with the way out.

Merge order: mesh-catalog #196 (declared served keys) → rebuilt mailu + keycloak registered → this → mesh-catalog #197 (the placement; needs the word mesh).

Three of novox/hq's group-4 leftovers. - **Issue 173** — a setting overrides a key a contribution or served fact declares, never adds one; files still merge; `${setting:…}` may be a served or contributed value, refused by name when unset; a key nothing takes is named as stray. Verified against the live plans of all four nodes: every key that disappears from a contribution is a leaked file setting or a mesh word; nothing a provider reads goes away. - **Issue 174** — `place: "mesh"` resolves to `<root>/mesh/<module>`; a directory beneath a placed one states `${dir:<id>}/<rest>` and moves with it. The proof test now resolves both catalogues; 48 catalogue definitions and the controller's own manifest name exactly the paths they named before. - **ADR 0155** — the installation check refuses at registration (`module add` and a build's result), in the check's words, with the way out. **Merge order:** mesh-catalog #196 (declared served keys) → rebuilt mailu + keycloak registered → this → mesh-catalog #197 (the placement; needs the word `mesh`).
jschoubben added 2 commits 2026-09-30 20:35:53 +00:00
Three of novox/hq's group-4 leftovers, one branch.

Issue 173: a module's settings reached every route it contributed, every database it asked for and
every served fact its consumers read — a mail server's site name arrived at the proxy as a route
fact. A setting now overrides a key a contribution or served fact declares and adds none; a file
still merges any key, and a key nothing takes is named as stray instead of dropped silently.

Issue 174: the mesh's own files for a module — its bus credential, its merged config, its bindings —
were placed by the definition under /var/lib/mesh/<module>, 232 host paths in 50 definitions. A
directory may now say `place: "mesh"` and resolves to <root>/mesh/<module>; a directory beneath a
placed one may state its path as `${dir:<id>}/<rest>` and moves with it. The proof test resolves
both catalogues and compares: 48 definitions, no path moved. The controller's own manifest is
converted here; the catalogue in mesh-catalog.

ADR 0155: the installation check moves to registration. `module add` and a build's result both
refuse a definition that names an installation, in the check's words, with the way out; the build
stays recorded.
Issue 173's rule needs it: a mail provider serves its domain and an identity provider its issuer,
and neither is the definition's to state. Declared as ${setting:<key>}, filled from the layers after
the overrides; a key so asked for is not stray.
jschoubben merged commit 5b832918df into main 2026-09-30 20:50:59 +00:00
jschoubben deleted branch feat/the-mesh-places-its-own-files 2026-09-30 20:51:00 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-controller#175