catalogue: one mesh-state namespace — /var/lib/mesh/<module>/ (consistency)
The review found broker own-secret paths drifting: mostly /var/lib/<module>/ broker, but grafana/redis/icecast/nextcloud carried a '-module' suffix to dodge a collision with the service's own /var/lib/<name> data, and photos sat under /etc. Normalized to one collision-free namespace a service never owns: /var/lib/mesh/<module>/broker, with a mesh-state directory resource for the parent, across 24 modules. audit-logger is grandfathered (lab-proven, referenced by the assigned test, and it has no service to collide with). All 33 manifests parse; no client hardcoded a path, so nothing in code moved. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
"module.bazarr.subtitle.downloaded"
|
"module.bazarr.subtitle.downloaded"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/bazarr/broker"
|
"broker": "/var/lib/mesh/bazarr/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -19,6 +19,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/bazarr",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -18,13 +18,19 @@
|
|||||||
},
|
},
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"token": "/var/lib/cloudflare-dns/token",
|
"token": "/var/lib/cloudflare-dns/token",
|
||||||
"broker": "/var/lib/cloudflare-dns/broker"
|
"broker": "/var/lib/mesh/cloudflare-dns/broker"
|
||||||
},
|
},
|
||||||
"emits": [
|
"emits": [
|
||||||
"module.cloudflare-dns.record.created",
|
"module.cloudflare-dns.record.created",
|
||||||
"module.cloudflare-dns.record.removed"
|
"module.cloudflare-dns.record.removed"
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/cloudflare-dns",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
@@ -61,7 +67,7 @@
|
|||||||
"/var/lib/cloudflare-dns/config.json:/run/config/config.json:ro",
|
"/var/lib/cloudflare-dns/config.json:/run/config/config.json:ro",
|
||||||
"/var/lib/cloudflare-dns/grants:/grants",
|
"/var/lib/cloudflare-dns/grants:/grants",
|
||||||
"/var/lib/cloudflare-dns/token:/run/secrets/token:ro",
|
"/var/lib/cloudflare-dns/token:/run/secrets/token:ro",
|
||||||
"/var/lib/cloudflare-dns/broker:/run/secrets/broker:ro"
|
"/var/lib/mesh/cloudflare-dns/broker:/run/secrets/broker:ro"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
"module.dnsmasq.name.removed"
|
"module.dnsmasq.name.removed"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/dnsmasq/broker"
|
"broker": "/var/lib/mesh/dnsmasq/broker"
|
||||||
},
|
},
|
||||||
"claims": [
|
"claims": [
|
||||||
{
|
{
|
||||||
@@ -30,6 +30,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/dnsmasq",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "package",
|
"id": "package",
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|||||||
@@ -39,9 +39,15 @@
|
|||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"internal-token": "/var/lib/gitea/internal-token.secret",
|
"internal-token": "/var/lib/gitea/internal-token.secret",
|
||||||
"broker": "/var/lib/gitea/broker"
|
"broker": "/var/lib/mesh/gitea/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/gitea",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"admin": "/var/lib/grafana-module/admin.secret",
|
"admin": "/var/lib/grafana-module/admin.secret",
|
||||||
"broker": "/var/lib/grafana-module/broker"
|
"broker": "/var/lib/mesh/grafana/broker"
|
||||||
},
|
},
|
||||||
"capabilities": [
|
"capabilities": [
|
||||||
"container-runtime"
|
"container-runtime"
|
||||||
@@ -20,6 +20,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/grafana",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"module.home-assistant.state.changed"
|
"module.home-assistant.state.changed"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/home-assistant/broker"
|
"broker": "/var/lib/mesh/home-assistant/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -19,6 +19,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/home-assistant",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
"source": "/var/lib/icecast-module/source.secret",
|
"source": "/var/lib/icecast-module/source.secret",
|
||||||
"admin": "/var/lib/icecast-module/admin.secret",
|
"admin": "/var/lib/icecast-module/admin.secret",
|
||||||
"relay": "/var/lib/icecast-module/relay.secret",
|
"relay": "/var/lib/icecast-module/relay.secret",
|
||||||
"broker": "/var/lib/icecast-module/broker"
|
"broker": "/var/lib/mesh/icecast/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -23,6 +23,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/icecast",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -36,9 +36,15 @@
|
|||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"admin": "/var/lib/keycloak/admin.secret",
|
"admin": "/var/lib/keycloak/admin.secret",
|
||||||
"broker": "/var/lib/keycloak/broker"
|
"broker": "/var/lib/mesh/keycloak/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/keycloak",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -50,9 +50,15 @@
|
|||||||
"secret-key": "/var/lib/mailu/secret-key.secret",
|
"secret-key": "/var/lib/mailu/secret-key.secret",
|
||||||
"database": "/var/lib/mailu/database.secret",
|
"database": "/var/lib/mailu/database.secret",
|
||||||
"admin": "/var/lib/mailu/admin.secret",
|
"admin": "/var/lib/mailu/admin.secret",
|
||||||
"broker": "/var/lib/mailu/broker"
|
"broker": "/var/lib/mesh/mailu/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/mailu",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -36,9 +36,15 @@
|
|||||||
},
|
},
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"root": "/var/lib/minio/root.secret",
|
"root": "/var/lib/minio/root.secret",
|
||||||
"broker": "/var/lib/minio/broker"
|
"broker": "/var/lib/mesh/minio/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/minio",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"admin": "/var/lib/nextcloud-module/admin.secret",
|
"admin": "/var/lib/nextcloud-module/admin.secret",
|
||||||
"broker": "/var/lib/nextcloud-module/broker"
|
"broker": "/var/lib/mesh/nextcloud/broker"
|
||||||
},
|
},
|
||||||
"capabilities": [
|
"capabilities": [
|
||||||
"container-runtime"
|
"container-runtime"
|
||||||
@@ -41,6 +41,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/nextcloud",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"module.nodered.flows.deployed"
|
"module.nodered.flows.deployed"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/nodered/broker"
|
"broker": "/var/lib/mesh/nodered/broker"
|
||||||
},
|
},
|
||||||
"capabilities": [
|
"capabilities": [
|
||||||
"container-runtime"
|
"container-runtime"
|
||||||
@@ -19,6 +19,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/nodered",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "data",
|
"id": "data",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
],
|
],
|
||||||
"consumes": [],
|
"consumes": [],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/nzbget/broker"
|
"broker": "/var/lib/mesh/nzbget/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -21,6 +21,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/nzbget",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"module.ombi.request.approved"
|
"module.ombi.request.approved"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/ombi/broker"
|
"broker": "/var/lib/mesh/ombi/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -20,6 +20,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/ombi",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -19,9 +19,15 @@
|
|||||||
"module.photos.item.added"
|
"module.photos.item.added"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/etc/photos/broker"
|
"broker": "/var/lib/mesh/photos/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/photos",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"module.*.download.completed"
|
"module.*.download.completed"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/plex/broker"
|
"broker": "/var/lib/mesh/plex/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -24,6 +24,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/plex",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -33,9 +33,15 @@
|
|||||||
},
|
},
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"superuser": "/var/lib/postgres/superuser.secret",
|
"superuser": "/var/lib/postgres/superuser.secret",
|
||||||
"broker": "/var/lib/postgres/broker"
|
"broker": "/var/lib/mesh/postgres/broker"
|
||||||
},
|
},
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/postgres",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
],
|
],
|
||||||
"consumes": [],
|
"consumes": [],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/qbittorrent/broker"
|
"broker": "/var/lib/mesh/qbittorrent/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -21,6 +21,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/qbittorrent",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
],
|
],
|
||||||
"consumes": [],
|
"consumes": [],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/radarr/broker"
|
"broker": "/var/lib/mesh/radarr/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -21,6 +21,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/radarr",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
},
|
},
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"default": "/var/lib/redis-module/default.secret",
|
"default": "/var/lib/redis-module/default.secret",
|
||||||
"broker": "/var/lib/redis-module/broker"
|
"broker": "/var/lib/mesh/redis/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -36,6 +36,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/redis",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "state",
|
"id": "state",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"module.registry.image.pushed"
|
"module.registry.image.pushed"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/registry/broker"
|
"broker": "/var/lib/mesh/registry/broker"
|
||||||
},
|
},
|
||||||
"serves": {
|
"serves": {
|
||||||
"artifact-store": {
|
"artifact-store": {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
],
|
],
|
||||||
"consumes": [],
|
"consumes": [],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/sonarr/broker"
|
"broker": "/var/lib/mesh/sonarr/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -21,6 +21,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/sonarr",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"module.tautulli.watch.recorded"
|
"module.tautulli.watch.recorded"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/tautulli/broker"
|
"broker": "/var/lib/mesh/tautulli/broker"
|
||||||
},
|
},
|
||||||
"capabilities": [
|
"capabilities": [
|
||||||
"container-runtime"
|
"container-runtime"
|
||||||
@@ -19,6 +19,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/tautulli",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "config",
|
"id": "config",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"module.verdaccio.package.published"
|
"module.verdaccio.package.published"
|
||||||
],
|
],
|
||||||
"own-secrets": {
|
"own-secrets": {
|
||||||
"broker": "/var/lib/verdaccio/broker"
|
"broker": "/var/lib/mesh/verdaccio/broker"
|
||||||
},
|
},
|
||||||
"listens": [
|
"listens": [
|
||||||
{
|
{
|
||||||
@@ -19,6 +19,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"resources": [
|
"resources": [
|
||||||
|
{
|
||||||
|
"id": "mesh-state",
|
||||||
|
"type": "directory",
|
||||||
|
"path": "/var/lib/mesh/verdaccio",
|
||||||
|
"mode": "0700"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "conf",
|
"id": "conf",
|
||||||
"type": "directory",
|
"type": "directory",
|
||||||
|
|||||||
Reference in New Issue
Block a user