mesh/delivery-group group fix/held-module-and-assigner-contract rejected: composed together: the checker's verdict at the members' heads (c82f18b5e6bb): integr…
mesh/delivery closed: the pull request closed unmerged
mesh/check failed: integration: mesh-healers/cmd/mesh-healers.TestTheHealersWholeActOnTheBusAndBrake: never: the would-act written | b8ce4f0c0ac5 on 3…
The sweep of 2026-10-30 20:10: <node>.claude-code.gitea-read and <node>.mesh-build-node.npm-package-registry failed on all four nodes with "gitea does not serve": gitea's provider helper answers only forge-account and refuses every other bind into gitea.bound, and the provisioner took any entry of a module declaring `bound` as the outcome. And novox.gitea.route, novox.keycloak.route and <node>.claude-code.mcp-endpoint stood asked: route-proxy and node-tools keep entries the manifest did not read. Quick fix: add route-proxy.bound and node-tools.bound to the reads. Thorough fix: judge each offer by who answers it (answered-by: helper reads the entries, any other offer of a module that names a helper is judged by its have), and say on gitea's forge-account that the helper answers it. Chose both: the reads alone leave gitea's two provisions failed.
85 lines
1.6 KiB
JSON
85 lines
1.6 KiB
JSON
{
|
|
"module": "mesh-provisioner",
|
|
"version": "1",
|
|
"runs-as": "mesh-provisioner",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-provisioner",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"provisioning"
|
|
]
|
|
}
|
|
],
|
|
"uses": [
|
|
"operator-channel"
|
|
],
|
|
"reads": [
|
|
"mesh-delivery-assigner.placement",
|
|
"mesh-delivery-assigner.wants",
|
|
"mesh-delivery-indexer.modules",
|
|
"mesh-delivery-indexer.manifests",
|
|
"mesh-delivery-builder.builds",
|
|
"node-engine.have",
|
|
"mesh-config.resolved",
|
|
"gitea.bound",
|
|
"keycloak.bound",
|
|
"postgres.bound",
|
|
"route-adapter.bound",
|
|
"route-proxy.bound",
|
|
"node-tools.bound",
|
|
"mesh-vault.bound"
|
|
],
|
|
"tools": [
|
|
"provisioner_provisions",
|
|
"provisioner_plans",
|
|
"provisioner_compose",
|
|
"provisioner_decide"
|
|
],
|
|
"state": [
|
|
"registry",
|
|
"needs",
|
|
"applied",
|
|
"collect",
|
|
"provisions",
|
|
"plans",
|
|
"refused"
|
|
],
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-provisioner",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-provisioner",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-provisioner"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-provisioner",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-provisioner",
|
|
"binary": "mesh-provisioner",
|
|
"loads": [
|
|
"mesh-provisioner"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|