From a63ef3d9547c2c16f027a4f335813ee0ee9b3157 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 16 Sep 2026 20:32:12 +0200 Subject: [PATCH] Phase 3.1: the postgres module adopts mesh-store instead of raising its own MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit server is now the container the foundation raised — same name (mesh-store), same env (POSTGRES_PASSWORD/PGDATA), ports (127.0.0.1:5432:5432), volume (mesh-store-data) and the same pinned upstream postgres image the foundation runs — so the applier adopts it in place rather than raising a second postgres. The provisioner is host-networked to reach the loopback store at 127.0.0.1:5432. The module's own network and bind-mounted data dir are gone; there is one postgres now, holding the controller's contexts and every module's database. Issue 051 (WBS 3.1). Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx --- modules/postgres/module.json | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/modules/postgres/module.json b/modules/postgres/module.json index 74402c3..158e68a 100644 --- a/modules/postgres/module.json +++ b/modules/postgres/module.json @@ -60,56 +60,34 @@ "path": "/var/lib/postgres/grants", "mode": "0700" }, - { - "id": "superuser-env", - "type": "file", - "path": "/var/lib/postgres/superuser.env", - "mode": "0600", - "content": "POSTGRES_PASSWORD=${secret:superuser}\n" - }, - { - "id": "data", - "type": "directory", - "path": "/services/postgres/db-data", - "mode": "0700" - }, - { - "id": "net", - "type": "network", - "name": "postgres" - }, { "id": "server", "type": "container", - "name": "postgres", + "name": "mesh-store", "image": "postgres@sha256:7456ef82e5f5bc43d997f4781bbd7c0d6389bff397564649a356e206ba473aee", - "network": "postgres", "env": { - "POSTGRES_USER": "postgres", - "POSTGRES_DB": "postgres" + "POSTGRES_PASSWORD": "bootstrap", + "PGDATA": "/var/lib/postgresql/data/pgdata" }, - "env-file": [ - "/var/lib/postgres/superuser.env" - ], "ports": [ - "5432" + "5432:5432" ], "volumes": [ - "/services/postgres/db-data:/var/lib/postgresql/data" + "mesh-store-data:/var/lib/postgresql/data" ] }, { "id": "runtime", "type": "container", "name": "mesh-postgres", - "network": "postgres", + "network": "host", "volumes": [ "/var/lib/mesh/postgres/broker:/run/secrets/broker:ro", "/var/lib/postgres/grants:/var/lib/postgres/grants:ro", "/var/lib/postgres/superuser.secret:/run/secrets/superuser:ro" ], "env": { - "MESH_PROVISION_POSTGRES": "postgres://postgres@postgres:5432/postgres?sslmode=disable", + "MESH_PROVISION_POSTGRES": "postgres://postgres@127.0.0.1:5432/postgres?sslmode=disable", "MESH_PROVISION_PASSWORD_FILE": "/run/secrets/superuser", "MESH_BROKER_FILE": "/run/secrets/broker", "MESH_RECEIVES": "/var/lib/postgres/grants/mesh.json"