{ "module": "mongodb", "version": "1", "provides": [ { "name": "mongodb-database", "scope": "mesh" } ], "capabilities": [ "container-runtime" ], "emits": [ "module.mongodb.database.provisioned", "module.mongodb.database.deprovisioned" ], "consumes": [ "module.mongodb.database.provisioned", "module.mongodb.database.deprovisioned" ], "listens": [ { "port": 27017, "protocol": "tcp", "from": "mesh", "why": "modules on any machine that were granted a database" } ], "serves": { "mongodb-database": { "port": 27017 } }, "receives": { "mongodb-database": "/var/lib/mongodb/grants/mesh.json" }, "grants": { "mongodb-database": "/var/lib/mongodb/grants" }, "own-secrets": { "root": "/var/lib/mongodb/root.secret", "broker": "/var/lib/mesh/mongodb/broker" }, "secrets-owner": "999:999", "resources": [ { "id": "mesh-state", "type": "directory", "path": "/var/lib/mesh/mongodb", "mode": "0700" }, { "id": "state", "type": "directory", "path": "/var/lib/mongodb", "mode": "0700" }, { "id": "grants", "type": "directory", "path": "/var/lib/mongodb/grants", "mode": "0700" }, { "id": "data", "type": "directory", "path": "/var/lib/mongodb/data", "mode": "0700" }, { "id": "net", "type": "network", "name": "mongodb" }, { "id": "server", "type": "container", "name": "mongodb-server", "image": "mongo@sha256:e3fa459b4f4b72f3257c67a23c145e250b8b5700f033860392c68539b998bbe3", "network": "mongodb", "env": { "MONGO_INITDB_ROOT_USERNAME": "root", "MONGO_INITDB_ROOT_PASSWORD_FILE": "/run/secrets/root" }, "ports": [ "27017" ], "volumes": [ "/var/lib/mongodb/data:/data/db", "/var/lib/mongodb/root.secret:/run/secrets/root:ro" ] }, { "id": "runtime", "type": "container", "name": "mesh-mongodb", "network": "mongodb", "volumes": [ "/var/lib/mesh/mongodb/broker:/run/secrets/broker:ro", "/var/lib/mongodb/grants:/var/lib/mongodb/grants:ro", "/var/lib/mongodb/root.secret:/run/secrets/root:ro" ], "env": { "MESH_PROVISION_MONGODB": "mongodb://root@mongodb-server:27017/admin?authSource=admin", "MESH_PROVISION_PASSWORD_FILE": "/run/secrets/root", "MESH_BROKER_FILE": "/run/secrets/broker", "MESH_RECEIVES": "/var/lib/mongodb/grants/mesh.json" }, "artifact": "runtime" } ], "build": { "on": [ { "arg": "BUILD_BASE", "module": "mesh-tools", "artifact": "build" }, { "arg": "RUNTIME_BASE", "module": "mesh-tools", "artifact": "runtime" } ], "artifacts": [ { "name": "runtime", "kind": "image", "from": "Dockerfile" } ] } }