{ "module": "route-adapter", "version": "1", "slug": "radapt", "capabilities": [ "container-runtime" ], "provides": [ { "name": "route", "scope": "mesh" } ], "serves": { "route": {} }, "receives": { "route": "/var/lib/route-adapter/routes/mesh.json" }, "accesses": [ { "path": "/services/traefik/dynamic", "mode": "read-write" } ], "resources": [ { "id": "state", "type": "directory", "path": "/var/lib/route-adapter", "mode": "0700" }, { "id": "routes-dir", "type": "directory", "path": "/var/lib/route-adapter/routes", "mode": "0700" }, { "id": "config", "type": "file", "path": "/var/lib/route-adapter/config.json", "merge": "json", "mode": "0644", "content": "{\n \"dynamic\": \"/services/traefik/dynamic\",\n \"entrypoint\": \"websecure\",\n \"certificate-resolver\": \"le\",\n \"machine\": \"host.docker.internal\"\n}\n" }, { "id": "adapt", "type": "container", "name": "mesh-route-adapter", "artifact": "runtime", "run-once": true, "volumes": [ "/var/lib/route-adapter/routes/mesh.json:/var/lib/route-adapter/routes/mesh.json:ro", "/var/lib/route-adapter/config.json:/run/config/config.json:ro", "/services/traefik/dynamic:/services/traefik/dynamic" ], "env": { "MESH_RECEIVES": "/var/lib/route-adapter/routes/mesh.json", "MESH_ROUTE_ADAPTER_CONFIG": "/run/config/config.json" }, "args": [ "run", "/app/modules/route-adapter/dist/index.js" ], "restart-on": [ "received-route", "config" ] } ], "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" } ] } }