{ "module": "f1-circuits", "slug": "f1", "version": "1", "capabilities": [ "container-runtime" ], "requires": [ "route" ], "contributes": { "route": { "label": "f1-circuits", "endpoint": "web" } }, "binds": { "route": "${dir:state}/route.json" }, "listens": [ { "name": "web", "port": 8000, "protocol": "tcp", "from": "mesh", "why": "the track-layout CDN, the race posters and the Kometa metadata over http; its public name is a route grant and the proxy reaches it here. Kometa fetches the metadata and every poster by that public name" } ], "resources": [ { "id": "state", "type": "directory", "mode": "0700", "place": "." }, { "id": "cache", "type": "directory", "mode": "0700" }, { "id": "site-env", "type": "file", "path": "${dir:state}/site.env", "mode": "0644", "content": "F1_CIRCUITS_BASE_URL=https://${bound:route:name}\n" }, { "id": "server", "type": "container", "name": "f1-circuits", "artifact": "cdn", "ports": [ "8000" ], "env-file": [ "${dir:state}/site.env" ], "volumes": [ "${dir:cache}:/app/cache" ], "restart-on": [ "site-env" ] } ], "build": { "on": [ { "arg": "PYTHON_BASE", "image": "python@sha256:6d43704baacd1bfbe7c295d7f13079d5d8104ed33568873133f8fc69980419df" } ], "artifacts": [ { "name": "cdn", "kind": "image", "from": "service/Dockerfile" } ] } }