Declare the operator's account in the openrazer group (hq ADR 0252, issue 247) #125

Merged
mesh-admin merged 1 commits from feat/module-groups into main 2026-10-08 10:09:24 +00:00
Contributor

The openrazer daemon refuses to start for an account outside the openrazer group, and the fix was sudo gpasswd -a $USER openrazer by hand, which nothing recorded.

The module now declares ${machine:account} as a user resource with the group openrazer and nothing else of the account, written after its three packages (the driver's package makes the group). The zsh module keeps the account's shell; the controller lets several modules add groups to one account.

  • module.json: the account resource.
  • manifest_test.go: holds that one resource, its one group, and its place after the packages.
  • openrazer_check: the finding for an account outside the group says the module declares it and a new login follows, instead of the sudo step.
  • README.md: the group section, the migration and relies on.

After the operator's send, the account is put in the group, and openrazer's health on that machine says relogin needed (mesh-host #54) until the operator logs out and in again.

merge-check.sh passes locally with MESH_GATE set to the controller of mesh-controller's branch.

The openrazer daemon refuses to start for an account outside the `openrazer` group, and the fix was `sudo gpasswd -a $USER openrazer` by hand, which nothing recorded. The module now declares `${machine:account}` as a `user` resource with the group `openrazer` and nothing else of the account, written after its three packages (the driver's package makes the group). The `zsh` module keeps the account's shell; the controller lets several modules add groups to one account. - `module.json`: the `account` resource. - `manifest_test.go`: holds that one resource, its one group, and its place after the packages. - `openrazer_check`: the finding for an account outside the group says the module declares it and a new login follows, instead of the `sudo` step. - `README.md`: the group section, the migration and *relies on*. After the operator's send, the account is put in the group, and openrazer's health on that machine says *relogin needed* (mesh-host #54) until the operator logs out and in again. `merge-check.sh` passes locally with `MESH_GATE` set to the controller of mesh-controller's branch.
Author
Contributor

Delivery novox/mesh-catalog@da57051fa3b9 — covered since 2026-10-09T15:05:08Z

Delivery plan — builds openrazer → g14, shanks; no bus step

  • tier 0: openrazer
  • g14: receives openrazer
  • shanks: receives openrazer

Group feat/module-groups, in order: novox/mesh-catalog@da57051fa3 → novox/mesh-host@ab4ca44f98

  • composed together: pass — every machine composes with the change as it did without (4 of 4 compose)

Transitions

  • 2026-10-08 10:04 (new) → proposed (announced): novox/mesh-catalog#125's head announced
  • 2026-10-08 10:06 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 10:06 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 10:09 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 10:09 published → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it
  • 2026-10-09 15:05 held → covered (covered): covered: a later merge that contains it was delivered: novox/mesh-catalog@5d7d9020b8 (merged as bf542128 into main, walk plan-1791469645497863448): openrazer

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@da57051fa3b9` — **covered** since 2026-10-09T15:05:08Z **Delivery plan** — builds openrazer → g14, shanks; no bus step - tier 0: openrazer - g14: receives openrazer - shanks: receives openrazer **Group** `feat/module-groups`, in order: novox/mesh-catalog@da57051fa3b9 → novox/mesh-host@ab4ca44f98e8 - composed together: pass — every machine composes with the change as it did without (4 of 4 compose) **Transitions** - 2026-10-08 10:04 (new) → proposed (announced): novox/mesh-catalog#125's head announced - 2026-10-08 10:06 proposed → checked (checked): the verdict names this commit - 2026-10-08 10:06 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 10:09 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 10:09 published → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it - 2026-10-09 15:05 held → covered (covered): covered: a later merge that contains it was delivered: novox/mesh-catalog@5d7d9020b8c7 (merged as bf542128 into main, walk plan-1791469645497863448): openrazer The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
jschoubben added 1 commit 2026-10-08 10:04:31 +00:00
Declare the operator's account in the openrazer group (hq ADR 0252, issue 247)
mesh/merge-gate pass: builds openrazer → g14, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery covered: a later merge that contains it was delivered: novox/mesh-catalog@5d7d9020b8c7 (merged as bf542128 into main, walk plan-17914696454…
mesh/delivery-group group feat/module-groups merged: every member is merged
da57051fa3
The daemon refuses to start outside the group, and the fix was a sudo step by hand that nothing
recorded. The module now declares it; the operator logs in again once.
jschoubben force-pushed feat/module-groups from a68371f30c to da57051fa3 2026-10-08 10:04:31 +00:00 Compare
mesh-admin changed title from Declare the operator's account in the openrazer group (hq ADR 0251, issue 247) to Declare the operator's account in the openrazer group (hq ADR 0252, issue 247) 2026-10-08 10:04:37 +00:00
Author
Contributor

Merge check at a68371f3

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

Delivery plan — builds openrazer → g14, shanks; no bus step

  • tier 0: openrazer
  • g14: receives openrazer
  • shanks: receives openrazer

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

--- the gate: openrazer
openrazer: ok, 3 tool(s)
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-08T09:54:03Z 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-08T09:54:03Z

modules the change moves:
  - openrazer (changed)

machines:
  - a machine (f35): composes; the change adds 1 resource(s) and removes 0 (+user:openrazer.account)
  - 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; the change adds 1 resource(s) and removes 0 (+user:openrazer.account)

a merge would rebuild 1 module(s) in 1 tier(s): openrazer
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.002s
words: 12 retired words, none in the 28729 strings of 533 files
long-running resources without health: 70, as kept
testing modules/openrazer
ok  	openrazer/cmd/openrazer-tools	1.302s
**Merge check** at `a68371f3` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: openrazer) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds openrazer → g14, shanks; no bus step - tier 0: openrazer - g14: receives openrazer - shanks: receives openrazer Run by the build seat on novox as `build-1791453791198541636` (`builds --log build-1791453791198541636`). ``` --- the gate: openrazer openrazer: ok, 3 tool(s) 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-08T09:54:03Z 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-08T09:54:03Z modules the change moves: - openrazer (changed) machines: - a machine (f35): composes; the change adds 1 resource(s) and removes 0 (+user:openrazer.account) - 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; the change adds 1 resource(s) and removes 0 (+user:openrazer.account) a merge would rebuild 1 module(s) in 1 tier(s): openrazer --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.002s words: 12 retired words, none in the 28729 strings of 533 files long-running resources without health: 70, as kept testing modules/openrazer ok openrazer/cmd/openrazer-tools 1.302s ```
Author
Contributor

Merge check at da57051f

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

Delivery plan — builds openrazer → g14, shanks; no bus step

  • tier 0: openrazer
  • g14: receives openrazer
  • shanks: receives openrazer

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

--- the gate: openrazer
openrazer: ok, 3 tool(s)
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-08T10:04:03Z 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-08T10:04:03Z

modules the change moves:
  - openrazer (changed)

machines:
  - a machine (f35): composes; the change adds 1 resource(s) and removes 0 (+user:openrazer.account)
  - 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; the change adds 1 resource(s) and removes 0 (+user:openrazer.account)

a merge would rebuild 1 module(s) in 1 tier(s): openrazer
--- its merge-check.sh (go toolchain)
ok  	git.novox.be/novox/mesh-catalog/checks/words	0.001s
words: 12 retired words, none in the 28729 strings of 533 files
long-running resources without health: 70, as kept
testing modules/openrazer
ok  	openrazer/cmd/openrazer-tools	1.246s
**Merge check** at `da57051f` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: openrazer) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds openrazer → g14, shanks; no bus step - tier 0: openrazer - g14: receives openrazer - shanks: receives openrazer Run by the build seat on g14 as `build-1791453884552345624` (`builds --log build-1791453884552345624`). ``` --- the gate: openrazer openrazer: ok, 3 tool(s) 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-08T10:04:03Z 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-08T10:04:03Z modules the change moves: - openrazer (changed) machines: - a machine (f35): composes; the change adds 1 resource(s) and removes 0 (+user:openrazer.account) - 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; the change adds 1 resource(s) and removes 0 (+user:openrazer.account) a merge would rebuild 1 module(s) in 1 tier(s): openrazer --- its merge-check.sh (go toolchain) ok git.novox.be/novox/mesh-catalog/checks/words 0.001s words: 12 retired words, none in the 28729 strings of 533 files long-running resources without health: 70, as kept testing modules/openrazer ok openrazer/cmd/openrazer-tools 1.246s ```
mesh-admin merged commit a638547924 into main 2026-10-08 10:09:24 +00:00
mesh-admin deleted branch feat/module-groups 2026-10-08 10:09:24 +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#125