{ "module": "photos", "version": "1", "requires": [ "s3-bucket" ], "contributes": { "s3-bucket": { "bucket": "photos" } }, "binds": { "s3-bucket": "/etc/photos/store.json" }, "secrets": { "s3-bucket": "/etc/photos/store.secret" }, "emits": [ "module.photos.item.added" ], "own-secrets": { "broker": "/var/lib/mesh/photos/broker" }, "resources": [ { "id": "mesh-state", "type": "directory", "path": "/var/lib/mesh/photos", "mode": "0700" }, { "id": "config", "type": "directory", "path": "/etc/photos", "mode": "0750" }, { "id": "app", "type": "container", "name": "photos", "image": "alpine@sha256:c64c687cbea9300178b30c95835354e34c4e4febc4badfe27102879de0483b5e", "env": { "PHOTOS_STORE": "/etc/photos/store.json", "PHOTOS_STORE_SECRET_FILE": "/etc/photos/store.secret" }, "volumes": [ "/etc/photos/store.json:/etc/photos/store.json:ro", "/etc/photos/store.secret:/etc/photos/store.secret:ro" ] }, { "id": "runtime-config", "type": "file", "path": "/var/lib/mesh/photos/config.json", "mode": "0600", "content": "{}\n", "merge": "json" }, { "id": "runtime", "type": "container", "name": "mesh-photos", "image": "mesh-runtime-photos@sha256:0000000000000000000000000000000000000000000000000000000000000000", "network": "host", "volumes": [ "/var/lib/mesh/photos/broker:/run/secrets/broker:ro", "/var/lib/mesh/photos/config.json:/run/config/config.json:ro" ], "env": { "MESH_BROKER_FILE": "/run/secrets/broker", "MESH_PHOTOS_URL": "http://127.0.0.1:2283", "MESH_PHOTOS_CONFIG_FILE": "/run/config/config.json" }, "restart-on": [ "runtime-config" ] } ], "capabilities": [ "container-runtime" ] }