{ "module": "builder", "version": "1", "capabilities": [ "container-runtime" ], "claims": [ { "name": "mesh-build-machine", "scope": "node" } ], "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", "path": "/var/lib/builder/workspace", "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=/var/lib/builder/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", "/var/lib/builder/workspace:/var/lib/builder/workspace", "/var/run/docker.sock:/var/run/docker.sock" ], "restart-on": [ "builder-env" ], "network": "host" } ], "build": { "artifacts": [ { "name": "server", "kind": "image", "from": "Dockerfile", "context": { "repository": "https://git.novox.be/novox/mesh-controller.git", "ref": "main" } } ], "on": [ { "arg": "GO_BASE", "image": "golang@sha256:1ae0735f00daffa3aaf1363a5184c0d2dc55c78e3db4ec70241cdac97bf84b59" }, { "arg": "ALPINE_BASE", "image": "alpine@sha256:d9e853e87e55526f6b2917df91a2115c36dd7c696a35be12163d44e6e2a4b6bc" } ] } }