{ "module": "mesh-build-node", "version": "1", "runs-as": "mesh-build-node", "capabilities": [ "package-manager", "user-namespaces" ], "state": [ "toolchains", "keys", "steps" ], "tools": [ "build_node_fetch", "build_node_test", "build_node_build", "build_node_status", "build_node_health" ], "streams": [ { "name": "toolchains-node", "events": ["toolchain.**"] } ], "requires": [ "forge-account", "npm-package-registry" ], "contributes": { "npm-package-registry": { "access": "read" } }, "binds": { "npm-package-registry": "${dir:state}/package-registry.json" }, "secrets": { "npm-package-registry": "${dir:state}/package-registry.secret" }, "own-secrets": { "broker": "${dir:state}/broker" }, "secrets-owner": "mesh-build-node", "runtime-health": { "kind": "tool", "tool": "build_node_health", "interval": "60s", "timeout": "10s", "looks": 2, "grace": "60s" }, "resources": [ { "id": "account", "type": "user", "name": "mesh-build-node", "shell": "/usr/bin/nologin", "home": "/var/lib/mesh-build-node" }, { "id": "state", "type": "directory", "mode": "0700", "owner": "mesh-build-node", "place": ".", "unknown": "program" }, { "id": "work", "type": "directory", "path": "/var/lib/mesh-build-node-work", "mode": "0700", "owner": "mesh-build-node", "unknown": "program" }, { "id": "cache", "type": "directory", "path": "/var/lib/mesh-build-node-cache", "mode": "0700", "owner": "mesh-build-node", "unknown": "program" }, { "id": "ssh-dir", "type": "directory", "path": "${dir:state}/.ssh", "mode": "0700", "owner": "mesh-build-node", "unknown": "program" }, { "id": "ssh-config", "type": "file", "path": "${dir:ssh-dir}/config", "owner": "mesh-build-node", "mode": "0600", "template": "files/forge" }, { "id": "known-hosts", "type": "file", "path": "${dir:ssh-dir}/known_hosts", "owner": "mesh-build-node", "mode": "0644", "template": "files/known_hosts" }, { "id": "git-config", "type": "file", "path": "${dir:state}/.config/git/config", "owner": "mesh-build-node", "mode": "0644", "template": "files/gitconfig" }, { "id": "toolchain-dir", "type": "directory", "path": "${dir:state}/toolchain", "mode": "0700", "owner": "mesh-build-node", "unknown": "program" }, { "id": "toolchain-package", "type": "file", "path": "${dir:toolchain-dir}/package.json", "owner": "mesh-build-node", "mode": "0644", "template": "files/toolchain/package.json" }, { "id": "toolchain-lock", "type": "file", "path": "${dir:toolchain-dir}/package-lock.json", "owner": "mesh-build-node", "mode": "0644", "template": "files/toolchain/package-lock.json" }, { "id": "nodejs", "type": "package", "package": "nodejs" }, { "id": "npm", "type": "package", "package": "npm" }, { "id": "git", "type": "package", "package": "git" }, { "id": "openssh", "type": "package", "package": "openssh" } ], "build": { "artifacts": [ { "name": "tools", "kind": "bundle", "language": "go", "system": "arch", "from": "cmd/mesh-build-node", "binary": "mesh-build-node", "loads": [ "mesh-build-node" ] }, { "name": "files", "kind": "archive", "from": "files" } ] } }