Files
mesh-catalog/modules/mesh-config/module.json
T
jschoubben 553cf50da7 CAT-V4, CAT-C10: the vault's retire and the config events and renames verb match the seat definitions of mesh-contracts
retire takes the definition's warrant (the hand act's id, naming node, module, name and ask) and answers
retired; own-retired, renamed, retiring and retired carry exactly the definition's bodies on its subjects.
The whole-module tests decode what the module published strictly into the generated types. The modules
require mesh-contracts, to be pinned with the group (a local replace in an uncommitted go.work until then).

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 11:59:24 +01:00

121 lines
2.4 KiB
JSON

{
"module": "mesh-config",
"version": "1",
"runs-as": "mesh-config",
"claims": [
{
"name": "mesh-config",
"scope": "mesh",
"serves": [
"config",
"renames"
]
}
],
"emits": [
"config-changed",
"renamed",
"retiring",
"retired"
],
"uses": [
"operator-channel"
],
"consumes": [
"gitea.pull.merged",
"gitea.pull.closed",
"gitea.forge.pull-request.closed",
"mesh-delivery-view.delivered",
"node-engine.manifest-reads-changed",
"mesh-delivery-indexer.manifest-accepted"
],
"invokes": [
"seat:mesh-hand-acts.hand-act",
"seat:mesh-hand-acts.warranted",
"gitea.gitea_get_pull_request",
"mesh-delivery-view.node_haves",
"seat:node-engine.manifest-reads",
"mesh-delivery-indexer.indexer_config_readers",
"seat:mesh-vault.retire"
],
"reads": [
"mesh-delivery-assigner.placement",
"mesh-delivery-assigner.wants",
"mesh-delivery-builder.builds",
"mesh-delivery-indexer.modules",
"mesh-delivery-indexer.manifests",
"mesh-delivery-indexer.predefined",
"mesh-delivery-indexer.config-candidates"
],
"tools": [
"config_declared",
"config_resync",
"config_renames",
"config_rename_again",
"config_rename_close",
"config_retiring"
],
"state": [
"values",
"resolved",
"predefined",
"proposals",
"pulls",
"kept",
"declared",
"renames",
"retiring",
"findings"
],
"logs": [
"history"
],
"own-secrets": {
"broker": "${dir:state}/broker"
},
"secrets-owner": "mesh-config",
"resources": [
{
"id": "account",
"type": "user",
"name": "mesh-config",
"shell": "/usr/bin/nologin",
"home": "/var/lib/mesh-config"
},
{
"id": "state",
"type": "directory",
"mode": "0700",
"owner": "mesh-config",
"place": ".",
"unknown": "program"
}
],
"build": {
"artifacts": [
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/mesh-config",
"binary": "mesh-config",
"loads": [
"mesh-config"
]
}
]
},
"streams": [
{
"name": "config-events",
"events": [
"renamed",
"retiring",
"retired"
],
"max-age-days": 7
}
]
}