{ "module": "object-store", "version": "1", "provides": [ { "name": "s3-bucket", "scope": "mesh" } ], "capabilities": [ "container-runtime" ], "listens": [ { "port": 9000, "protocol": "tcp", "from": "mesh", "why": "the S3 endpoint, for modules on any machine that were granted a bucket" } ], "serves": { "s3-bucket": { "scheme": "http", "region": "us-east-1" } }, "receives": { "s3-bucket": "/var/lib/objectstore/grants" }, "grants": { "s3-bucket": "/var/lib/objectstore/grants" }, "own-secrets": { "root": "/var/lib/objectstore/root.secret" }, "resources": [ { "id": "state", "type": "directory", "path": "/var/lib/objectstore", "mode": "0700" }, { "id": "grants", "type": "directory", "path": "/var/lib/objectstore/grants", "mode": "0700" }, { "id": "store", "type": "container", "name": "mesh-store", "image": "minio/minio@sha256:aefec8a86702aff0b0dcfdd9284bd7ab7c5631cbf9be63275799e6edcb30dfa2", "args": [ "server", "/data" ], "env": { "MINIO_ROOT_USER": "meshroot" }, "ports": [ "9000" ], "volumes": [ "mesh-store-data:/data", "/var/lib/objectstore/root.secret:/run/secrets/root:ro" ] }, { "id": "provisioner", "type": "container", "name": "mesh-provision-objectstore", "image": "mesh-provision-objectstore@sha256:0000000000000000000000000000000000000000000000000000000000000000", "env": { "GRANTS": "/var/lib/objectstore/grants", "MESH_OBJECTSTORE_URL": "http://127.0.0.1:9000", "MESH_OBJECTSTORE_ROOT_USER": "meshroot", "MESH_OBJECTSTORE_ROOT_PASSWORD_FILE": "/run/secrets/root" }, "volumes": [ "/var/lib/objectstore/grants:/var/lib/objectstore/grants:ro", "/var/lib/objectstore/root.secret:/run/secrets/root:ro" ] } ] }