Files
mesh-delivery/contracts/seats/node-build-image/seat.json
T

158 lines
3.5 KiB
JSON

{
"format": 1,
"seat": "node-build-image",
"scope": "node",
"grain": "whole",
"domain": "Delivery",
"decision": "novox/hq ADR 0525, ADR 0536, ADR 0553",
"pulled-by-kind": true,
"yields": true,
"acts": [
{
"step": "build",
"on": "kind:image",
"bound": "60m"
}
],
"accepts": [
{
"name": "delivery",
"body": {
"$ref": "#/defs/StepAsk"
},
"callers": [
"seat:mesh-builds"
]
},
{
"name": "check",
"body": {
"$ref": "#/defs/StepAsk"
},
"callers": [
"seat:mesh-delivery-checker"
]
},
{
"name": "step",
"stream": "check",
"body": {
"$ref": "#/defs/StepAsk"
},
"callers": [
"seat:mesh-pipeline-runner"
]
},
{
"name": "step",
"stream": "delivery",
"body": {
"$ref": "#/defs/StepAsk"
},
"callers": [
"seat:mesh-pipeline-runner"
]
},
{
"name": "recheck",
"body": {
"$ref": "#/defs/StepAsk"
},
"callers": [
"seat:mesh-delivery-checker"
]
}
],
"description": "The image build module on a node: it takes the asks of the builder and the checker, runs them as steps and answers.",
"includes": [
"build-step"
],
"states": [
{
"name": "steps",
"template": "state",
"key-forms": [
{
"key": "<asker>.<node>.<id>",
"value": {
"$ref": "#/defs/Step"
},
"description": "a step on a node, keyed by the asker the bus proves (design 47 G section 467, section 481)"
},
{
"key": "<node>.<id>",
"value": {
"$ref": "#/defs/Step"
},
"description": "a step whose ask came on main's subject, with no asker's name (design 47 G section 483)"
}
],
"description": "the steps this module runs",
"history": 5
},
{
"name": "pauses",
"template": "state",
"key-forms": [
{
"key": "paused.<node>",
"value": {
"$ref": "#/defs/Pause"
},
"description": "whether a node is paused"
},
{
"key": "dropped.<id>",
"value": {
"$ref": "#/defs/Drop"
},
"description": "an ask its caller no longer waits for"
},
{
"key": "capacity.<node>",
"value": {
"$ref": "#/defs/Capacity"
},
"description": "a node's capacity"
}
],
"description": "the pause and the capacity of each node",
"history": 1
},
{
"name": "toolchains",
"template": "state",
"key-forms": [
{
"key": "<node>.<language>",
"value": {
"$ref": "#/defs/Toolchain"
},
"description": "the toolchain a node reports"
}
],
"description": "the toolchains the nodes report",
"history": 1
},
{
"name": "detected-steps",
"template": "state",
"history": 1,
"description": "each artifact's detected steps, one key per artifact (design 47 G section 326, section 414)",
"key-forms": [
{
"key": "<module>.<artifact>",
"value": {
"$ref": "#/defs/DetectedSteps"
},
"description": "an artifact's detected steps"
}
]
}
],
"family": {
"name": "node-build-image.events",
"max-age-days": 7
}
}