Files
mesh-delivery/modules/mesh-delivery-indexer/module.json
T
jschoubben 31792235e6 indexer: the build-edges state for builds of another watched branch, pruned on registration-changed, outdated kind 1 against the branch's newest build
BuildEdges.fp is the entry's fingerprint in the branch's revision whose source the build names; the branch's newest build
is kept as heard in heard as branch-build.<module>.<branch>.

Builds: design 47 G §374, §375, A-83, A-80, A-85
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 23:24:41 +01:00

238 lines
6.6 KiB
JSON

{
"module": "mesh-delivery-indexer",
"version": "0.1",
"slug": "indexer",
"runs-as": "mesh-delivery-indexer",
"claims": [
{
"name": "mesh-catalog",
"scope": "mesh",
"serves": [
"modules",
"module",
"provides",
"dependents",
"seat-definitions",
"revision",
"entry",
"registrations",
"register",
"policy",
"watch",
"unwatch",
"versions",
"outdated",
"input"
]
}
],
"tools": [
"indexer_take_in",
"indexer_old_sections",
"indexer_verdicts",
"indexer_judge",
"manifests",
"verdicts",
"graph",
"indexer_read_manifests",
"indexer_read_predefined",
"indexer_read_config_candidates",
"indexer_read_candidates",
"indexer_read_packages",
"indexer_read_graph",
"indexer_read_heard",
"indexer_read_taken",
"indexer_read_findings",
"indexer_read_seat_definitions",
"indexer_read_unjudged",
"indexer_first_views",
"indexer_first_view_again",
"indexer_config_readers",
"indexer_bus_state",
"indexer_requirements",
"indexer_package_users",
"indexer_say_accepted",
"indexer_seat_definition",
"indexer_seat_definitions_again",
"indexer_out_of_step",
"indexer_pending",
"indexer_take_in_pending",
"indexer_drop_pending",
"indexer_try_candidates",
"indexer_drop_try_candidate",
"indexer_recover_tries",
"indexer_take_in_merge",
"indexer_fingerprints_again",
"indexer_catalog_revision",
"indexer_catalog_revisions",
"indexer_candidate_graphs",
"indexer_recompute",
"indexer_drop_candidate_graph",
"indexer_entries",
"indexer_proposals",
"indexer_proposal_drop",
"indexer_seed_again",
"indexer_inputs"
],
"consumes": [
"go-package-registry.published",
"mesh-build-go.toolchain.reported",
"mesh-build-node.toolchain.reported",
"mesh-conditions.findings-asked",
"mesh-delivery-assigner.views.assignments",
"mesh-delivery-checker.preview.written",
"mesh-delivery-checker.try.ended",
"mesh-delivery-checker.try.started",
"mesh-builds.package-published",
"mesh-builds.toolchain-agreed",
"mesh-wants.version-delivered",
"node-build-go.step-ended",
"node-engine.running",
"mesh-wants.wait-ended",
"mesh-delivery-checker.verdict",
"mesh-delivery-forge-bridge.forge.**",
"mesh-delivery.source-moved",
"operator-channel.decided",
"npm-package-registry.published"
],
"state": [
{ "name": "candidates", "history": 10 },
{ "name": "heard", "history": 64 },
{ "name": "manifests", "history": 1 },
{ "name": "predefined", "history": 5 },
{ "name": "config-candidates", "history": 5 },
{ "name": "taken", "history": 1 },
{ "name": "takeins", "history": 1 },
{ "name": "verdicts", "history": 5 },
{ "name": "oldsections", "history": 1 },
{ "name": "try-recovery", "history": 1 },
{ "name": "own-build", "history": 1 },
{ "name": "packages", "history": 5 },
{ "name": "view-marks", "history": 1 },
{ "name": "findings", "history": 5 },
{ "name": "first-views", "history": 1 },
{ "name": "requirements", "history": 5 },
{ "name": "seat-definitions", "history": 5 },
{ "name": "pending", "history": 1 },
{ "name": "unjudged", "history": 1 },
{ "name": "entry-index", "history": 1, "max-mib": 8 },
{ "name": "registrations", "history": 1 },
{ "name": "proposals", "history": 1, "max-mib": 4 },
{ "name": "versions", "history": 1, "max-mib": 64 },
{ "name": "build-edges", "history": 1 },
{ "name": "inputs", "history": 1 }
],
"streams": [
{ "name": "registration-history", "events": ["registration.*"], "retention": "history", "max-mib": 64 },
{ "name": "mesh-delivery-indexer-findings", "events": ["finding-written.*", "finding-cleared.*", "findings-stated.*"], "max-age-days": 7, "max-mib": 16 }
],
"objects": [
{ "name": "catalog-revisions", "max-mib": 512, "form": 1, "catch-up": "indexer_take_in" }
],
"emits": [
"take-in.pending",
"take-in.taken",
"views.candidates",
"views.config-candidates",
"views.findings",
"views.graph",
"views.heard",
"views.manifests",
"views.packages",
"views.predefined",
"views.seat-definitions",
"views.taken",
"views.verdicts"
],
"reads": [
"mesh-build-go.toolchains",
"mesh-build-node.toolchains",
"mesh-delivery-builder.build-log",
"mesh-delivery-checker.previews"
],
"invokes": [
"mesh-delivery-assigner.assignments",
"seat:git.trees",
"seat:git.file",
"seat:git.contains",
"seat:git.open-pulls",
"seat:git.branch",
"mesh-delivery-checker.checker_tries",
"mesh-delivery-forge-bridge.bridge_merged_message",
"seat:node-engine.composition",
"seat:mesh-module-assigner.placement",
"seat:mesh-delivery.source",
"seat:mesh-hand-acts.hand-act",
"seat:mesh-watchdogs.presence",
"seat:node-build-go.steps",
"seat:node-build-node.steps",
"seat:node-build-image.steps",
"mesh-delivery-builder.builder_versions"
],
"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"
],
"env": {
"MESH_VIEW_CALLERS_MANIFESTS": "mesh-grants,node-tools,mesh-delivery-assigner",
"MESH_VIEW_CALLERS_VERDICTS": "mesh-grants",
"MESH_VIEW_CALLERS_GRAPH": "mesh-delivery-assigner"
}
}
]
}
}