{ "module": "builder", "version": "1", "capabilities": [ "container-runtime" ], "claims": [ { "name": "mesh-build-machine", "scope": "mesh" } ], "requires": [ "artifact-store", "npm-package-registry" ], "binds": { "npm-package-registry": "/var/lib/mesh/builder/package-registry.json" }, "secrets": { "npm-package-registry": "/var/lib/mesh/builder/package-registry.secret" }, "own-secrets": { "broker": "/var/lib/mesh/builder/broker" }, "resources": [ { "id": "mesh-state", "type": "directory", "path": "/var/lib/mesh/builder", "mode": "0700" }, { "id": "workspace", "type": "directory", "mode": "0700" }, { "id": "builder-env", "type": "file", "path": "/var/lib/mesh/builder/builder.env", "mode": "0600", "content": "MESH_BROKER_FILE=/run/mesh/broker\nMESH_NODE=${machine:name}\nMESH_REGISTRY=${bound:artifact-store:at}:${bound:artifact-store:port}\nMESH_PACKAGE_BINDING=/run/mesh/package-registry.json\nMESH_NPM_TOKEN_FILE=/run/mesh/package-registry.secret\nMESH_WORKSPACE=${dir:workspace}\n" }, { "id": "server", "type": "container", "name": "mesh-builder", "artifact": "server", "env-file": [ "/var/lib/mesh/builder/builder.env" ], "volumes": [ "/var/lib/mesh/builder:/run/mesh:ro", "${dir:workspace}:${dir:workspace}", "/var/run/docker.sock:/var/run/docker.sock" ], "restart-on": [ "builder-env" ], "network": "host" } ], "build": { "artifacts": [ { "name": "server", "kind": "image", "from": "Dockerfile", "context": { "seat": "git", "repository": "novox/mesh-controller", "ref": "main" } } ], "on": [ { "arg": "GO_BASE", "image": "golang@sha256:8ac98ca534ac3f51e1f420a1dd2c15e74c75cfa0f23f3ad27eb5d7236c349a0c" }, { "arg": "ALPINE_BASE", "image": "alpine@sha256:d9e853e87e55526f6b2917df91a2115c36dd7c696a35be12163d44e6e2a4b6bc" } ] } }