The seat's pipeline record gains `held` (since, the fingerprint awaited). A take-in giving the runner's own module a new fingerprint holds every pipeline it starts, and a later take-in's while any is held; wait-held (step pipeline) is said, the 30-minute bound is a key of the state bounds. The node-engine seat's running of the runner's module at the awaited fingerprint, healthy, or the bound's expiry, releases them: steps placed and asked, wait-ended and pipeline-started said. A runner starting at the awaited fingerprint releases at its start. runner_waits lists the held pipelines. Builds: design 47 G §65, §266, §276, §534, §19 (lead answer A-195) Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
195 lines
3.9 KiB
JSON
195 lines
3.9 KiB
JSON
{
|
|
"module": "mesh-delivery-pipeline",
|
|
"version": "0.1",
|
|
"slug": "pipeline",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-pipeline-runner",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"run",
|
|
"start",
|
|
"show",
|
|
"list",
|
|
"stands",
|
|
"why-carried",
|
|
"kept",
|
|
"review",
|
|
"rerun",
|
|
"accept",
|
|
"cancel",
|
|
"ask-again"
|
|
]
|
|
}
|
|
],
|
|
"tools": [
|
|
"runner_first_views",
|
|
"runner_first_view_again",
|
|
"runner_health",
|
|
"runner_waits"
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-indexer.take-in.taken",
|
|
"mesh-builds.package-published",
|
|
"mesh-builds.toolchain-agreed",
|
|
"mesh-builds.step-ended",
|
|
"operator-channel.decided",
|
|
"node-build-go.step-ended",
|
|
"node-build-node.step-ended",
|
|
"node-build-image.step-ended",
|
|
"node-build-go.ask-taken",
|
|
"node-build-node.ask-taken",
|
|
"node-build-image.ask-taken",
|
|
"node-engine.running",
|
|
"mesh-wants.step-ended",
|
|
"mesh-catalog.registration-changed",
|
|
"mesh-catalog.catalog-revision",
|
|
"mesh-conditions.findings-asked"
|
|
],
|
|
"invokes": [
|
|
"seat:mesh-catalog.registrations",
|
|
"seat:mesh-catalog.revision",
|
|
"seat:mesh-hand-acts.hand-act",
|
|
"seat:mesh-catalog.outdated",
|
|
"seat:mesh-module-assigner.assignments",
|
|
"seat:mesh-builds.step",
|
|
"seat:mesh-wants.step",
|
|
"seat:node-build-go.check.step",
|
|
"seat:node-build-node.check.step",
|
|
"seat:node-build-image.check.step"
|
|
],
|
|
"uses": [
|
|
"operator-channel"
|
|
],
|
|
"state": [
|
|
{
|
|
"name": "pipelines",
|
|
"history": 1,
|
|
"max-mib": 256
|
|
},
|
|
{
|
|
"name": "kept",
|
|
"history": 1,
|
|
"max-mib": 128
|
|
},
|
|
{
|
|
"name": "aged",
|
|
"history": 1
|
|
},
|
|
{
|
|
"name": "toolchains",
|
|
"history": 1
|
|
},
|
|
{
|
|
"name": "bounds",
|
|
"history": 1,
|
|
"key-ttl": true
|
|
},
|
|
{
|
|
"name": "findings",
|
|
"history": 1
|
|
},
|
|
{
|
|
"name": "first-views",
|
|
"history": 1
|
|
},
|
|
{
|
|
"name": "consumers",
|
|
"history": 1
|
|
}
|
|
],
|
|
"streams": [
|
|
{
|
|
"name": "mesh-delivery-pipeline-findings",
|
|
"events": [
|
|
"finding-written.*",
|
|
"finding-cleared.*",
|
|
"findings-stated.*"
|
|
],
|
|
"max-age-days": 7,
|
|
"max-mib": 16
|
|
}
|
|
],
|
|
"objects": [
|
|
{
|
|
"name": "step-outputs",
|
|
"max-mib": 1024
|
|
},
|
|
{
|
|
"name": "sent-objects",
|
|
"max-mib": 256
|
|
}
|
|
],
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-delivery-pipeline",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-delivery-pipeline",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-delivery-pipeline"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-delivery-pipeline",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
},
|
|
{
|
|
"id": "pipeline",
|
|
"type": "process",
|
|
"name": "mesh-delivery-pipeline",
|
|
"artifact": "program",
|
|
"run": [
|
|
"./mesh-delivery-pipeline"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_FILE": "${dir:state}/broker"
|
|
},
|
|
"user": "mesh-delivery-pipeline",
|
|
"health": {
|
|
"kind": "tool",
|
|
"tool": "runner_health"
|
|
}
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "program",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-delivery-pipeline",
|
|
"binary": "mesh-delivery-pipeline",
|
|
"needs": [
|
|
"mesh-delivery-assigner:program"
|
|
]
|
|
},
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-delivery-pipeline-tools",
|
|
"binary": "mesh-delivery-pipeline-tools",
|
|
"loads": [
|
|
"mesh-delivery-pipeline-tools"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"logs": [
|
|
{
|
|
"name": "step-log",
|
|
"max-age-days": 100,
|
|
"max-mib": 128
|
|
}
|
|
]
|
|
}
|