An access has an id, and its mounts name it (issue 153)
Ten definitions name each access by id; the path stays as the default an assignment may replace,
and the host side of every mount says ${access:<id>}. Resolved with no placement, every definition
names exactly the paths it named before (TestPlacedDirectoriesKeepTheirPaths, extended). On an
adopted machine the assignment now says `accesses: {<id>: <path>}` and the mount follows.
Needs the controller that knows an access id (mesh-controller #176); the running one refuses the
field at registration.
This commit is contained in:
@@ -22,18 +22,22 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "movies",
|
||||||
"path": "/services/media/movies",
|
"path": "/services/media/movies",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "series",
|
||||||
"path": "/services/media/series",
|
"path": "/services/media/series",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "anime",
|
||||||
"path": "/services/media/anime",
|
"path": "/services/media/anime",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
}
|
}
|
||||||
@@ -67,10 +71,10 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/bazarr/config:/config",
|
"/services/bazarr/config:/config",
|
||||||
"/services/media/movies:/movies",
|
"${access:movies}:/movies",
|
||||||
"/services/media/series:/series",
|
"${access:series}:/series",
|
||||||
"/services/media/anime:/anime",
|
"${access:anime}:/anime",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,10 +24,12 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "books",
|
||||||
"path": "/services/media/books",
|
"path": "/services/media/books",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -61,8 +63,8 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/bookshelf/config:/config",
|
"/services/bookshelf/config:/config",
|
||||||
"/services/media/books:/books",
|
"${access:books}:/books",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,10 +23,12 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "music",
|
||||||
"path": "/services/media/music",
|
"path": "/services/media/music",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -60,8 +62,8 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/lidarr/config:/config",
|
"/services/lidarr/config:/config",
|
||||||
"/services/media/music:/music",
|
"${access:music}:/music",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -62,13 +62,14 @@
|
|||||||
"volumes": [
|
"volumes": [
|
||||||
"/var/lib/mesh-broker-nats:/data",
|
"/var/lib/mesh-broker-nats:/data",
|
||||||
"/var/lib/nats-module/conf:/etc/nats:ro",
|
"/var/lib/nats-module/conf:/etc/nats:ro",
|
||||||
"/var/lib/mesh-broker-tls:/tls:ro"
|
"${access:tls}:/tls:ro"
|
||||||
],
|
],
|
||||||
"artifact": "server"
|
"artifact": "server"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "tls",
|
||||||
"path": "/var/lib/mesh-broker-tls",
|
"path": "/var/lib/mesh-broker-tls",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/nzbget/config:/config",
|
"/services/nzbget/config:/config",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,22 +27,27 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "movies",
|
||||||
"path": "/services/media/movies",
|
"path": "/services/media/movies",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "series",
|
||||||
"path": "/services/media/series",
|
"path": "/services/media/series",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "anime",
|
||||||
"path": "/services/media/anime",
|
"path": "/services/media/anime",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "music",
|
||||||
"path": "/services/media/music",
|
"path": "/services/media/music",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "audiobooks",
|
||||||
"path": "/services/media/audiobooks",
|
"path": "/services/media/audiobooks",
|
||||||
"mode": "read"
|
"mode": "read"
|
||||||
}
|
}
|
||||||
@@ -82,11 +87,11 @@
|
|||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/plex/config:/config",
|
"/services/plex/config:/config",
|
||||||
"/services/plex/transcode:/transcode",
|
"/services/plex/transcode:/transcode",
|
||||||
"/services/media/movies:/movies",
|
"${access:movies}:/movies",
|
||||||
"/services/media/series:/series",
|
"${access:series}:/series",
|
||||||
"/services/media/anime:/anime",
|
"${access:anime}:/anime",
|
||||||
"/services/media/music:/music",
|
"${access:music}:/music",
|
||||||
"/services/media/audiobooks:/audiobooks"
|
"${access:audiobooks}:/audiobooks"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -58,7 +59,7 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/qbittorrent/config:/config",
|
"/services/qbittorrent/config:/config",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,10 +23,12 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "movies",
|
||||||
"path": "/services/media/movies",
|
"path": "/services/media/movies",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -60,8 +62,8 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/radarr/config:/config",
|
"/services/radarr/config:/config",
|
||||||
"/services/media/movies:/movies",
|
"${access:movies}:/movies",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
},
|
},
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "dynamic",
|
||||||
"path": "/services/traefik/dynamic",
|
"path": "/services/traefik/dynamic",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -53,7 +54,7 @@
|
|||||||
"volumes": [
|
"volumes": [
|
||||||
"${dir:routes-dir}/mesh.json:${dir:routes-dir}/mesh.json:ro",
|
"${dir:routes-dir}/mesh.json:${dir:routes-dir}/mesh.json:ro",
|
||||||
"${dir:state}/config.json:/run/config/config.json:ro",
|
"${dir:state}/config.json:/run/config/config.json:ro",
|
||||||
"/services/traefik/dynamic:/services/traefik/dynamic"
|
"${access:dynamic}:/services/traefik/dynamic"
|
||||||
],
|
],
|
||||||
"env": {
|
"env": {
|
||||||
"MESH_RECEIVES": "${dir:routes-dir}/mesh.json",
|
"MESH_RECEIVES": "${dir:routes-dir}/mesh.json",
|
||||||
|
|||||||
@@ -23,14 +23,17 @@
|
|||||||
],
|
],
|
||||||
"accesses": [
|
"accesses": [
|
||||||
{
|
{
|
||||||
|
"id": "series",
|
||||||
"path": "/services/media/series",
|
"path": "/services/media/series",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "anime",
|
||||||
"path": "/services/media/anime",
|
"path": "/services/media/anime",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"id": "downloads",
|
||||||
"path": "/services/media/downloads",
|
"path": "/services/media/downloads",
|
||||||
"mode": "read-write"
|
"mode": "read-write"
|
||||||
}
|
}
|
||||||
@@ -64,9 +67,9 @@
|
|||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
"/services/sonarr/config:/config",
|
"/services/sonarr/config:/config",
|
||||||
"/services/media/series:/series",
|
"${access:series}:/series",
|
||||||
"/services/media/anime:/anime",
|
"${access:anime}:/anime",
|
||||||
"/services/media/downloads:/downloads"
|
"${access:downloads}:/downloads"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user