4 modules: persistent data is a directory bind, never a named volume
hq ADR 0107 / issue 115. HAL's own postgres and lavinmq both used a directory bind (./db-data, ./data) for exactly this data -- the mesh's adoption of them, three weeks ago, switched to a named Docker volume instead, and searxng/distribution followed the same pattern since. A named volume survives ordinary container recreation, same as a directory bind -- that was never the problem. The problem is everything else: docker rm -fv, docker volume rm, and docker system prune --volumes all target it (one flag away from the docker rm -f this migration already uses routinely); it is invisible to every tool this migration has used all night (ls, find, grep across /var/lib, /services); and nothing outside Docker's own volume machinery can back it up or notice it growing. mesh-store carries the sharpest version: every database migrated tonight, including keycloak's, live inside it. Data already copied and verified on novox before this merges: - mesh-registry-data -> /var/lib/mesh-registry (11G, diff -rq clean) - mesh-broker-data -> /var/lib/mesh-broker (37M, cp -a) - mesh-broker-tls -> /var/lib/mesh-broker-tls (12K, cp -a) - mesh-store-data -> /var/lib/mesh-store (1.7G) -- mesh-store stopped cleanly first, so the final copy is crash-consistent, not a live-file copy of a running postgres; diff -rq clean after. - searxng/valkey: not yet assigned anywhere, manifest-only fix, nothing to copy. Old named volumes left in place, not deleted, as the rollback path.
This commit is contained in:
@@ -69,6 +69,12 @@
|
||||
"path": "/var/lib/postgres/grants",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "store-data",
|
||||
"type": "directory",
|
||||
"path": "/var/lib/mesh-store",
|
||||
"mode": "0700"
|
||||
},
|
||||
{
|
||||
"id": "server",
|
||||
"type": "container",
|
||||
@@ -82,7 +88,7 @@
|
||||
"5432:5432"
|
||||
],
|
||||
"volumes": [
|
||||
"mesh-store-data:/var/lib/postgresql/data",
|
||||
"/var/lib/mesh-store:/var/lib/postgresql/data",
|
||||
"/var/lib/postgres/superuser.secret:/run/secrets/superuser:ro"
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user