{ "module": "mesh-delivery-checker", "version": "1", "slug": "checker", "consumes": [ "mesh-build-go.toolchain.reported", "mesh-build-node.toolchain.reported" ], "state": [ { "name": "kept", "history": 1 }, { "name": "owed", "history": 5 }, { "name": "previews", "history": 5 }, { "name": "verdicts", "history": 5 } ], "reads": [ "mesh-build-go.steps", "mesh-build-go.toolchains", "mesh-build-node.steps", "mesh-build-node.toolchains", "mesh-controller.plans-building", "mesh-delivery-builder.builds", "mesh-delivery-gate.source", "mesh-delivery-indexer.candidates", "mesh-delivery-indexer.manifests", "mesh-delivery-indexer.modules", "mesh-delivery-watchman.presence", "node-engine.have" ], "invokes": [ "mesh-build-go.build_go_digest", "mesh-build-go.build_go_fetch", "mesh-build-go.build_go_test", "mesh-build-node.build_node_fetch", "mesh-build-node.build_node_test" ], "config": { "capacity": { "type": "string", "description": "How many build steps the checker runs at once on each node, as node=steps pairs separated by commas, such as shanks=2,ace=1 (ADR 0484 clause 12); a node set to 0 never checks, a node not named runs one at a time, and empty is one everywhere. The builder's capacity is the builder's own.", "pattern": "|[a-z0-9_-]+=[0-9]+(,[a-z0-9_-]+=[0-9]+)*", "default": "" } }, "own-secrets": { "broker": "${dir:state}/broker" }, "secrets-owner": "mesh-delivery-checker", "resources": [ { "id": "account", "type": "user", "name": "mesh-delivery-checker", "shell": "/usr/bin/nologin", "home": "/var/lib/mesh-delivery-checker" }, { "id": "state", "type": "directory", "mode": "0700", "owner": "mesh-delivery-checker", "place": ".", "unknown": "program" }, { "id": "settings", "trusted": false, "type": "file", "path": "${dir:state}/settings.json", "mode": "0600", "owner": "mesh-delivery-checker", "takes-config": ["capacity"], "merge": "json", "template": "files/settings.json" }, { "id": "checker", "type": "process", "name": "mesh-delivery-checker", "artifact": "program", "run": [ "./mesh-delivery-checker" ], "env": { "MESH_BROKER_FILE": "${dir:state}/broker", "MESH_CHECKER_SETTINGS": "${dir:state}/settings.json" }, "restart-on": [ "settings" ], "user": "mesh-delivery-checker", "health": { "kind": "unit" } } ], "build": { "artifacts": [ { "name": "program", "kind": "bundle", "language": "go", "system": "arch", "from": "cmd/mesh-delivery-checker", "binary": "mesh-delivery-checker" }, { "name": "files", "kind": "archive", "from": "files" } ] } }