Files
mesh-delivery/modules/mesh-delivery-indexer/module.json
T
jschoubben 07b5f13474 mesh-delivery-indexer reads a registered module again once its repository becomes readable, and takes one in on ask (issue 1945)
A registered module whose repository the forge answered 404 (car-hunter, snake, before the forge's account could read
them) was read again only when the indexer started again or the controller wrote a new build record of it, so the grants
part's composed user list stayed short of their subjects and the take-over was refused. A failed read now keeps the
module as unread, read again on the next source revision and the next merged message (no timer of its own), and the new
tool indexer_take_in (the tools bundle mesh-delivery-indexer-tools, through the indexer's takeins state, as the
builder's builder_ask_again) takes one in now and answers what it stored or why not.
2026-10-26 14:01:34 +01:00

94 lines
2.1 KiB
JSON

{
"module": "mesh-delivery-indexer",
"version": "1",
"slug": "indexer",
"tools": [
"indexer_take_in"
],
"consumes": [
"mesh-build-go.toolchain.reported",
"mesh-build-node.toolchain.reported",
"mesh-delivery-checker.preview.written",
"mesh-delivery-forge-bridge.forge.**"
],
"state": [
{ "name": "candidates", "history": 10 },
{ "name": "manifests", "history": 1 },
{ "name": "modules", "history": 20 },
{ "name": "takeins", "history": 1 }
],
"reads": [
"mesh-build-go.toolchains",
"mesh-build-node.toolchains",
"mesh-controller.assignments",
"mesh-controller.builds",
"mesh-delivery-checker.previews",
"mesh-delivery-gate.source"
],
"invokes": [
"gitea.gitea_commit_trees",
"gitea.gitea_contains",
"gitea.gitea_get_file"
],
"own-secrets": {
"broker": "${dir:state}/broker"
},
"secrets-owner": "mesh-delivery-indexer",
"resources": [
{
"id": "account",
"type": "user",
"name": "mesh-delivery-indexer",
"shell": "/usr/bin/nologin",
"home": "/var/lib/mesh-delivery-indexer"
},
{
"id": "state",
"type": "directory",
"mode": "0700",
"owner": "mesh-delivery-indexer",
"place": ".",
"unknown": "program"
},
{
"id": "indexer",
"type": "process",
"name": "mesh-delivery-indexer",
"artifact": "program",
"run": [
"./mesh-delivery-indexer"
],
"env": {
"MESH_BROKER_FILE": "${dir:state}/broker"
},
"user": "mesh-delivery-indexer",
"health": {
"kind": "unit"
}
}
],
"build": {
"artifacts": [
{
"name": "program",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/mesh-delivery-indexer",
"binary": "mesh-delivery-indexer"
},
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/mesh-delivery-indexer-tools",
"binary": "mesh-delivery-indexer-tools",
"loads": [
"mesh-delivery-indexer-tools"
]
}
]
}
}