nfs-server: check every share against where the backup seat keeps its data, on every pass (review follow-up of #136) #142

Merged
mesh-admin merged 4 commits from fix/shares-review-followups into main 2026-10-09 12:55:41 +00:00
Contributor

Follow-up to the review of #136, point 4 (non-blocking). Not to be merged before review.

Why: the look below a share for a backup repository is believed for an hour (LookKept), so a repository that the backup seat starts keeping under a share inside that hour would be exported until the next look.

What:

  • Every five minutes the tools (which reach the bus; the root process does not) ask seat:mesh-controller.seats which module holds node-backup on this machine, and seat:mesh-controller.data (with this machine) every path that module keeps data in. On the home server that is the restic repository and its state.
  • They leave it in /var/lib/nfs-server/from-bus/backup.json. A failed ask keeps the last paths and records why.
  • Every pass refuses a share that is at, inside, or holding one of those paths. Nothing is kept between passes.
  • Until a list has been learnt, what is exported stays exported and the status says the list is not known. A slow bus is no reason to unexport the library, and the walk below still guards.
  • invokes gains the two controller verbs.
  • The parser is a small copy of the mounts module's approach. Shared code belongs in mesh-sdk and moves there when a third module needs it.

Tests (seen failing first, in backup_test.go):

  • A share holding the repository is refused on the next pass, inside the kept hour.
  • A share inside the repository is refused.
  • A share beside it is not refused.
  • Without the list, the exports stay and the status says so.
  • Parsing: an unheld seat and a missing data list are errors.
  • A failed ask keeps the last paths.

Checks run locally:

  • go vet is clean, and go test -race passes both as a normal user and under unshare -r (uid 0).
  • merge-check.sh passes with MESH_GATE set to a controller built from main. The module check says ok and lists the invokes.

Nothing assigned.

Follow-up to the review of #136, point 4 (non-blocking). **Not to be merged before review.** **Why:** the look below a share for a backup repository is believed for an hour (`LookKept`), so a repository that the backup seat starts keeping under a share inside that hour would be exported until the next look. **What:** - Every five minutes the tools (which reach the bus; the root process does not) ask `seat:mesh-controller.seats` which module holds `node-backup` on this machine, and `seat:mesh-controller.data` (with this machine) every path that module keeps data in. On the home server that is the restic repository and its state. - They leave it in `/var/lib/nfs-server/from-bus/backup.json`. A failed ask keeps the last paths and records why. - Every pass refuses a share that is at, inside, or holding one of those paths. Nothing is kept between passes. - Until a list has been learnt, what is exported stays exported and the status says the list is not known. A slow bus is no reason to unexport the library, and the walk below still guards. - `invokes` gains the two controller verbs. - The parser is a small copy of the mounts module's approach. Shared code belongs in mesh-sdk and moves there when a third module needs it. **Tests** (seen failing first, in `backup_test.go`): - A share holding the repository is refused on the next pass, inside the kept hour. - A share inside the repository is refused. - A share beside it is not refused. - Without the list, the exports stay and the status says so. - Parsing: an unheld seat and a missing data list are errors. - A failed ask keeps the last paths. **Checks run locally:** - `go vet` is clean, and `go test -race` passes both as a normal user and under `unshare -r` (uid 0). - `merge-check.sh` passes with `MESH_GATE` set to a controller built from main. The module check says ok and lists the invokes. Nothing assigned.
Author
Contributor

Delivery novox/mesh-catalog@26f9c6e10deb — superseded since 2026-10-09T12:56:05Z

Covered: delivered after its walk was superseded: the walk plan-1791550565943086936, which took its walk plan-1791550565168314297 over, ended done

Delivery plan — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person

  • tier 0: nfs-server
  • ace: waits for a person: nfs-server
  • nfs-server waits for a person: its policy records (module)
  • nfs-server provides nfs-share: its consumers are sent again after it
  • nfs-server keeps data (ADR 0233): what it holds is backed up before it moves

Machines

  • build-agent on ace: passed — carried by plan-1791552345700677791
  • route-proxy on ace: passed — carried by plan-1791552345700677791

Transitions

  • 2026-10-09 12:45 (new) → proposed (announced): novox/mesh-catalog#142's head announced
  • 2026-10-09 12:46 proposed → checked (checked): the verdict names this commit
  • 2026-10-09 12:46 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-09 12:56 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-09 12:56 published → superseded (superseded): a newer delivery to the same trunk took over its walk

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@26f9c6e10deb` — **superseded** since 2026-10-09T12:56:05Z **Covered**: delivered after its walk was superseded: the walk plan-1791550565943086936, which took its walk plan-1791550565168314297 over, ended done **Delivery plan** — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person - tier 0: nfs-server - ace: waits for a person: nfs-server - nfs-server waits for a person: its policy records (module) - nfs-server provides nfs-share: its consumers are sent again after it - nfs-server keeps data (ADR 0233): what it holds is backed up before it moves **Machines** - build-agent on ace: passed — carried by plan-1791552345700677791 - route-proxy on ace: passed — carried by plan-1791552345700677791 **Transitions** - 2026-10-09 12:45 (new) → proposed (announced): novox/mesh-catalog#142's head announced - 2026-10-09 12:46 proposed → checked (checked): the verdict names this commit - 2026-10-09 12:46 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-09 12:56 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-09 12:56 published → superseded (superseded): a newer delivery to the same trunk took over its walk The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Contributor

Merge check at f48a3355

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds nfs-server, sent nowhere; no bus step

  • tier 0: nfs-server

Run by the build seat on novox as build-1791486987691679681 (builds --log build-1791486987691679681).

--- the gate: nfs-server
nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s
long-running resources without health: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:18:42Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T19:18:42Z

modules the change moves:
  - nfs-server (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): nfs-server
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.002s
words: 12 retired words, none in the 32531 strings of 585 files
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.006s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 70, as kept
testing modules/nfs-server
ok  	nfsserver/cmd/nfs-server	1.114s
**Merge check** at `f48a3355` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds nfs-server, sent nowhere; no bus step - tier 0: nfs-server Run by the build seat on novox as `build-1791486987691679681` (`builds --log build-1791486987691679681`). ``` --- the gate: nfs-server nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s long-running resources without health: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:18:42Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T19:18:42Z modules the change moves: - nfs-server (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): nfs-server --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.002s words: 12 retired words, none in the 32531 strings of 585 files ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 70, as kept testing modules/nfs-server ok nfsserver/cmd/nfs-server 1.114s ```
Author
Contributor

Merge check at 68b158d5

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds nfs-server, sent nowhere; no bus step

  • tier 0: nfs-server

Run by the build seat on ace as build-1791487413864748045 (builds --log build-1791487413864748045).

--- the gate: nfs-server
nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s
long-running resources without health: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:18:42Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T19:18:42Z

modules the change moves:
  - nfs-server (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): nfs-server
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.002s
words: 12 retired words, none in the 32541 strings of 585 files
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 70, as kept
testing modules/nfs-server
ok  	nfsserver/cmd/nfs-server	1.378s
**Merge check** at `68b158d5` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds nfs-server, sent nowhere; no bus step - tier 0: nfs-server Run by the build seat on ace as `build-1791487413864748045` (`builds --log build-1791487413864748045`). ``` --- the gate: nfs-server nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s long-running resources without health: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:18:42Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T19:18:42Z modules the change moves: - nfs-server (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): nfs-server --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.002s words: 12 retired words, none in the 32541 strings of 585 files ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 70, as kept testing modules/nfs-server ok nfsserver/cmd/nfs-server 1.378s ```
Author
Contributor

Merge check at 7996d75e

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds nfs-server, sent nowhere; no bus step

  • tier 0: nfs-server

Run by the build seat on g14 as build-1791488388515673810 (builds --log build-1791488388515673810).

--- the gate: nfs-server
nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s
long-running resources without health: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:34:11Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T19:34:11Z

modules the change moves:
  - nfs-server (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): nfs-server
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.003s
words: 12 retired words, none in the 32566 strings of 585 files
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 70, as kept
testing modules/nfs-server
ok  	nfsserver/cmd/nfs-server	1.386s
**Merge check** at `7996d75e` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds nfs-server, sent nowhere; no bus step - tier 0: nfs-server Run by the build seat on g14 as `build-1791488388515673810` (`builds --log build-1791488388515673810`). ``` --- the gate: nfs-server nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s long-running resources without health: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T19:34:11Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T19:34:11Z modules the change moves: - nfs-server (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): nfs-server --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.003s words: 12 retired words, none in the 32566 strings of 585 files ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 70, as kept testing modules/nfs-server ok nfsserver/cmd/nfs-server 1.386s ```
Author
Contributor

Merge check at 7996d75e

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server)
  • mesh/repo-check: PASS — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)

Delivery plan — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person

  • tier 0: nfs-server
  • ace: waits for a person: nfs-server
  • nfs-server waits for a person: its policy records (module)
  • nfs-server provides nfs-share: its consumers are sent again after it
  • nfs-server keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on ace as build-1791548933958064164 (builds --log build-1791548933958064164).

--- the gate: nfs-server
nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s; WARNING: config ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-09T12:24:01Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-09T12:24:01Z

modules the change moves:
  - nfs-server (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): nfs-server
--- THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull requests after it merges
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.002s
words: 12 retired words, none in the 32566 strings of 585 files
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.006s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 70, as kept
testing modules/nfs-server
ok  	nfsserver/cmd/nfs-server	1.403s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `7996d75e` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server) - `mesh/repo-check`: **PASS** — THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull requests after it merges; its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript) **Delivery plan** — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person - tier 0: nfs-server - ace: waits for a person: nfs-server - nfs-server waits for a person: its policy records (module) - nfs-server provides nfs-share: its consumers are sent again after it - nfs-server keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on ace as `build-1791548933958064164` (`builds --log build-1791548933958064164`). ``` --- the gate: nfs-server nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s; WARNING: config ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339) long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 1 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-09T12:24:01Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-09T12:24:01Z modules the change moves: - nfs-server (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): nfs-server --- THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh, merge-check-typescript.sh): main's version judged it; the change's judges the pull requests after it merges --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.002s words: 12 retired words, none in the 32566 strings of 585 files ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 70, as kept testing modules/nfs-server ok nfsserver/cmd/nfs-server 1.403s --- its merge-check-typescript.sh (typescript toolchain) ```
jschoubben added 4 commits 2026-10-09 12:45:06 +00:00
jschoubben force-pushed fix/shares-review-followups from 7996d75e57 to 26f9c6e10d 2026-10-09 12:45:06 +00:00 Compare
Author
Contributor

Merge check at 26f9c6e1

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server)
  • mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)

Delivery plan — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person

  • tier 0: nfs-server
  • ace: waits for a person: nfs-server
  • nfs-server waits for a person: its policy records (module)
  • nfs-server provides nfs-share: its consumers are sent again after it
  • nfs-server keeps data (ADR 0233): what it holds is backed up before it moves

Run by the build seat on ace as build-1791549911715342467 (builds --log build-1791549911715342467).

--- the gate: nfs-server
nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s; WARNING: config ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-09T12:43:20Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-09T12:43:20Z

modules the change moves:
  - nfs-server (changed)

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): nfs-server
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.002s
words: 12 retired words, none in the 35240 strings of 615 files
ok  	git.novox.be/novox/mesh-catalog/checks/paths	0.006s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 70, as kept
testing modules/nfs-server
ok  	nfsserver/cmd/nfs-server	1.401s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `26f9c6e1` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: nfs-server) - `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript) **Delivery plan** — builds nfs-server, sent nowhere; no bus step; 1 wait(s) for a person - tier 0: nfs-server - ace: waits for a person: nfs-server - nfs-server waits for a person: its policy records (module) - nfs-server provides nfs-share: its consumers are sent again after it - nfs-server keeps data (ADR 0233): what it holds is backed up before it moves Run by the build seat on ace as `build-1791549911715342467` (`builds --log build-1791549911715342467`). ``` --- the gate: nfs-server nfs-server: ok, 1 tool(s), invokes seat:mesh-controller.seats, seat:mesh-controller.data, keeps state exports, reads mounts.shares, ready: server by unit every 30s; exports by its tool nfs_health every 1m0s; WARNING: config ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339) long-running resources without health: 0 files asking for a setting without saying whether it is trusted: 1 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 1 module(s) changed against 4 machine(s), as the snapshot of 2026-10-09T12:43:20Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-09T12:43:20Z modules the change moves: - nfs-server (changed) machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): nfs-server --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.002s words: 12 retired words, none in the 35240 strings of 615 files ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s paths: no module names another's state on its machine (3 known, listed to go) long-running resources without health: 70, as kept testing modules/nfs-server ok nfsserver/cmd/nfs-server 1.401s --- its merge-check-typescript.sh (typescript toolchain) ```
mesh-admin merged commit 954e3e2087 into main 2026-10-09 12:55:41 +00:00
mesh-admin deleted branch fix/shares-review-followups 2026-10-09 12:55:41 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#142