83 lines
1.6 KiB
JSON
83 lines
1.6 KiB
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|