The module mesh-delivery-pipeline claims the seat mesh-pipeline-runner, serving its twelve verbs, asks no template, keeps pipelines, kept, aged, findings and its first views in old state sections, its step log on an old stream (128 MiB) and its step outputs in an old objects section (1 GiB), hears the events its pipelines start and end on, and needs the assigner's program delivered first. Its program stops when its state pipelines cannot be read; its own module is its account's. Builds: design 47 G §1, §21, §27, §59, §85, §95, §101, §130, §333 Not built, waiting on design answers: §76's health check (its tool's name), §85's caps of the old state sections (no size field on an old state), step-log's 100 days (the validator's 30-day bound), and §59's sent-objects (the objects template's cap the design names has no default). Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
101 lines
2.3 KiB
JSON
101 lines
2.3 KiB
JSON
{
|
|
"module": "mesh-delivery-pipeline",
|
|
"version": "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"
|
|
]
|
|
}
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-indexer.take-in.taken",
|
|
"mesh-builds.package-published",
|
|
"mesh-builds.toolchain-agreed",
|
|
"operator-channel.decided",
|
|
"node-build-go.step-ended",
|
|
"node-build-node.step-ended",
|
|
"node-build-image.step-ended",
|
|
"mesh-wants.step-ended",
|
|
"mesh-catalog.registration-changed",
|
|
"mesh-catalog.catalog-revision"
|
|
],
|
|
"state": [
|
|
{ "name": "pipelines", "history": 1 },
|
|
{ "name": "kept", "history": 1 },
|
|
{ "name": "aged", "history": 1 },
|
|
{ "name": "findings", "history": 1 },
|
|
{ "name": "first-views", "history": 1 }
|
|
],
|
|
"streams": [
|
|
{ "name": "step-log", "events": ["step-log.**"], "max-mib": 128 }
|
|
],
|
|
"objects": [
|
|
{ "name": "step-outputs", "max-mib": 1024 }
|
|
],
|
|
"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": "unit"
|
|
}
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "program",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-delivery-pipeline",
|
|
"binary": "mesh-delivery-pipeline",
|
|
"needs": ["mesh-delivery-assigner:program"]
|
|
}
|
|
]
|
|
}
|
|
}
|