Six states (modules, manifests, predefined, config-candidates, placement, wants) are asked of the owners' read tools at start and kept from their views.<state> events, a gap asks again; a reader started while an owner is down keeps asking and writes a finding past two minutes. The builder's builds has no owner tool and stays a read. The returning node-engine's event is read by its node token (ADR 0618 as built). Tools config_first_views and config_first_view_again. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
129 lines
2.8 KiB
JSON
129 lines
2.8 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",
|
|
"mesh-delivery-indexer.views.modules",
|
|
"mesh-delivery-indexer.views.manifests",
|
|
"mesh-delivery-indexer.views.predefined",
|
|
"mesh-delivery-indexer.views.config-candidates",
|
|
"mesh-delivery-assigner.views.placement",
|
|
"mesh-delivery-assigner.views.wants"
|
|
],
|
|
"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",
|
|
"mesh-delivery-indexer.indexer_read_modules",
|
|
"mesh-delivery-indexer.indexer_read_manifests",
|
|
"mesh-delivery-indexer.indexer_read_predefined",
|
|
"mesh-delivery-indexer.indexer_read_config_candidates",
|
|
"mesh-delivery-assigner.assigner_read_placement",
|
|
"mesh-delivery-assigner.assigner_read_wants"
|
|
],
|
|
"reads": [
|
|
"mesh-delivery-builder.builds"
|
|
],
|
|
"tools": [
|
|
"config_declared",
|
|
"config_resync",
|
|
"config_renames",
|
|
"config_rename_again",
|
|
"config_rename_close",
|
|
"config_retiring",
|
|
"config_first_views",
|
|
"config_first_view_again"
|
|
],
|
|
"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
|
|
}
|
|
]
|
|
}
|