{ "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": { "port": 9000, "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:0000000000000000000000000000000000000000000000000000000000000000", "args": ["server", "/data"], "env": {"MINIO_ROOT_USER": "meshroot"}, "ports": ["9000: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" ], "restart-on": ["grants"]} ] }