Files
mesh-host/internal/nodegrant/testdata/node.json
T
jschoubben 9a12f2851f The node-engine owns the composition it alone runs (H1, H2)
ADR 0593 §1 and §7: compose, its bus reader and runtime reader, takein,
validate, the overlay generator, the composer's run and mesh-compose, and
the judgement of a move leave mesh-sdk for the node-engine's internal
packages, so no other module composes and a change to them rebuilds only
the node-engine. The shapes others read (the composer's request and
verdict, the overlay's names, compositions and answers) stay in mesh-sdk.
The node's grant is now a golden file of what the grants part composes,
since the composer of the bus's user list leaves mesh-sdk too.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 18:24:05 +01:00

129 lines
6.3 KiB
JSON

{
"Publish": [
"$JS.ACK.NODES.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_composed-NODE.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-config_resolved.*.$KV.mesh-config_resolved.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-assigner_candidates.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-assigner_placement.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-assigner_wants.*.$KV.mesh-delivery-assigner_wants.want.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-builder_builds.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-indexer_manifests.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-delivery-indexer_modules.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-host_acts.*.$KV.mesh-host_acts.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-host_data.*.$KV.mesh-host_data.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_mesh-host_health.*.$KV.mesh-host_health.NODE",
"$JS.API.CONSUMER.CREATE.KV_mesh-host_packages.*.$KV.mesh-host_packages.NODE",
"$JS.API.CONSUMER.CREATE.KV_mesh-provisioner_provisions.*.$KV.mesh-provisioner_provisions.NODE.>",
"$JS.API.CONSUMER.CREATE.KV_node-engine_have.*.$KV.node-engine_have.*.node",
"$JS.API.CONSUMER.CREATE.KV_node-engine_have.*.$KV.node-engine_have.NODE.>",
"$JS.API.CONSUMER.CREATE.OBJ_declaration-files-NODE.*.$O.declaration-files-NODE.C.*",
"$JS.API.CONSUMER.DELETE.KV_composed-NODE.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-config_resolved.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-assigner_candidates.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-assigner_placement.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-assigner_wants.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-builder_builds.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-indexer_manifests.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-delivery-indexer_modules.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-host_acts.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-host_data.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-host_health.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-host_packages.>",
"$JS.API.CONSUMER.DELETE.KV_mesh-provisioner_provisions.>",
"$JS.API.CONSUMER.DELETE.KV_node-engine_have.>",
"$JS.API.CONSUMER.DELETE.OBJ_declaration-files-NODE.*",
"$JS.API.CONSUMER.INFO.NODES.NODE",
"$JS.API.DIRECT.GET.KV_composed-NODE.>",
"$JS.API.DIRECT.GET.KV_mesh-config_resolved.$KV.mesh-config_resolved.NODE.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-assigner_candidates.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-assigner_placement.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-assigner_wants.$KV.mesh-delivery-assigner_wants.want.NODE.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-builder_builds.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-indexer_candidates.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-indexer_manifests.>",
"$JS.API.DIRECT.GET.KV_mesh-delivery-indexer_modules.>",
"$JS.API.DIRECT.GET.KV_mesh-host_acts.$KV.mesh-host_acts.NODE.>",
"$JS.API.DIRECT.GET.KV_mesh-host_data.$KV.mesh-host_data.NODE.>",
"$JS.API.DIRECT.GET.KV_mesh-host_health.$KV.mesh-host_health.NODE",
"$JS.API.DIRECT.GET.KV_mesh-host_packages.$KV.mesh-host_packages.NODE",
"$JS.API.DIRECT.GET.KV_mesh-provisioner_provisions.$KV.mesh-provisioner_provisions.NODE.>",
"$JS.API.DIRECT.GET.KV_node-engine_have.$KV.node-engine_have.*.node",
"$JS.API.DIRECT.GET.KV_node-engine_have.$KV.node-engine_have.NODE.>",
"$JS.API.DIRECT.GET.OBJ_declaration-files-NODE.$O.declaration-files-NODE.M.*",
"$JS.API.STREAM.INFO.KV_composed-NODE",
"$JS.API.STREAM.INFO.KV_mesh-config_resolved",
"$JS.API.STREAM.INFO.KV_mesh-delivery-assigner_candidates",
"$JS.API.STREAM.INFO.KV_mesh-delivery-assigner_placement",
"$JS.API.STREAM.INFO.KV_mesh-delivery-assigner_wants",
"$JS.API.STREAM.INFO.KV_mesh-delivery-builder_builds",
"$JS.API.STREAM.INFO.KV_mesh-delivery-indexer_candidates",
"$JS.API.STREAM.INFO.KV_mesh-delivery-indexer_manifests",
"$JS.API.STREAM.INFO.KV_mesh-delivery-indexer_modules",
"$JS.API.STREAM.INFO.KV_mesh-host_acts",
"$JS.API.STREAM.INFO.KV_mesh-host_data",
"$JS.API.STREAM.INFO.KV_mesh-host_health",
"$JS.API.STREAM.INFO.KV_mesh-host_packages",
"$JS.API.STREAM.INFO.KV_mesh-provisioner_provisions",
"$JS.API.STREAM.INFO.KV_node-engine_have",
"$JS.FC.KV_composed-NODE.>",
"$JS.FC.KV_mesh-config_resolved.>",
"$JS.FC.KV_mesh-delivery-assigner_candidates.>",
"$JS.FC.KV_mesh-delivery-assigner_placement.>",
"$JS.FC.KV_mesh-delivery-assigner_wants.>",
"$JS.FC.KV_mesh-delivery-builder_builds.>",
"$JS.FC.KV_mesh-delivery-indexer_manifests.>",
"$JS.FC.KV_mesh-delivery-indexer_modules.>",
"$JS.FC.KV_mesh-host_acts.>",
"$JS.FC.KV_mesh-host_data.>",
"$JS.FC.KV_mesh-host_health.>",
"$JS.FC.KV_mesh-host_packages.>",
"$JS.FC.KV_mesh-provisioner_provisions.>",
"$JS.FC.KV_node-engine_have.>",
"$JS.FC.OBJ_declaration-files-NODE.>",
"$KV.composed-NODE.>",
"$KV.mesh-host_acts.NODE.>",
"$KV.mesh-host_data.NODE.>",
"$KV.mesh-host_health.NODE",
"$KV.mesh-host_packages.NODE",
"$KV.node-engine_have.NODE.>",
"$SRV.INFO",
"$SRV.INFO.>",
"$SRV.PING",
"$SRV.PING.>",
"$SRV.PING.node-tools.NODE",
"mesh.control.NODE.>",
"mesh.seat.node-backup.call.backed-up.NODE.node~NODE",
"mesh.seat.node-backup.call.now.NODE.node~NODE",
"mesh.seat.node-backup.tool.backed-up.NODE",
"mesh.seat.node-backup.tool.now.NODE",
"mesh.seat.node-engine.event.*.NODE"
],
"PublishDeny": null,
"Subscribe": [
"$JS.EVENT.ADVISORY.STREAM.CREATED.KV_mesh-delivery-assigner_candidates",
"$JS.EVENT.ADVISORY.STREAM.CREATED.KV_mesh-delivery-assigner_placement",
"$SRV.INFO",
"$SRV.INFO.node-engine",
"$SRV.INFO.node-engine.>",
"$SRV.PING",
"$SRV.PING.node-engine",
"$SRV.PING.node-engine.>",
"$SRV.STATS",
"$SRV.STATS.node-engine",
"$SRV.STATS.node-engine.>",
"_DELIVER.NODE",
"_DELIVER.NODE.>",
"_INBOX.node.NODE.>",
"mesh.mod.restic.event.backed-up",
"mesh.node.NODE.ask.access-act",
"mesh.node.NODE.ask.hand-over",
"mesh.node.NODE.ask.judge-directories",
"mesh.node.NODE.ask.move-secret",
"mesh.node.NODE.ask.report",
"mesh.node.NODE.ask.setuid-search",
"mesh.node.NODE.declare",
"mesh.seat.node-engine.call.*.NODE.*",
"mesh.seat.node-engine.tool.*.NODE"
],
"AllowResponses": true
}