From 1f0c3ac69ef65bf2e8a31bfee10d80cdee9a616c Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 6 Sep 2026 02:38:22 +0200 Subject: [PATCH] fix: db/cache/store providers must serve their port; drop baserow's empty redis contribution The breadth install (catalogue-broad) surfaced two latent resolution bugs that single-module compile checks never caught (compile != resolve): 1. postgres/redis/mongodb/minio served no "port", yet seven consumers (baserow, letta, invoicing, gitea, umami, keycloak, nextcloud) reference ${bound::port}. A binding auto-carries at/from/as; the port is the provider's half of the answer and must be declared in `serves` (manifest.go: "Serves is what a consumer needs to know ... a port, a path, a realm"). Added port to each: postgres 5432, redis 6379, mongodb 27017, minio 9000. Without it no DB consumer could resolve, let alone deploy. 2. baserow declared an empty contribution `contributes: {"redis-cache": {}}`. redis's serves spec for the cache is empty (a cache takes no per-consumer payload), so a consumer only `requires` it; an empty contribution is refused. Dropped it (requires/binds/secrets unchanged). Found by mesh-lab catalogue-broad; the same fixes are mirrored in that bed. Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF --- modules/baserow/module.json | 3 +-- modules/minio/module.json | 3 ++- modules/mongodb/module.json | 4 +++- modules/postgres/module.json | 4 +++- modules/redis/module.json | 4 +++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/baserow/module.json b/modules/baserow/module.json index ccea7ce..6ff5b54 100644 --- a/modules/baserow/module.json +++ b/modules/baserow/module.json @@ -11,8 +11,7 @@ "contributes": { "postgres-database": { "name": "baserow" - }, - "redis-cache": {} + } }, "binds": { "postgres-database": "/var/lib/baserow/database.json", diff --git a/modules/minio/module.json b/modules/minio/module.json index 2b11d43..1c1e3b0 100644 --- a/modules/minio/module.json +++ b/modules/minio/module.json @@ -25,7 +25,8 @@ "serves": { "s3-bucket": { "scheme": "http", - "region": "us-east-1" + "region": "us-east-1", + "port": 9000 } }, "receives": { diff --git a/modules/mongodb/module.json b/modules/mongodb/module.json index 0c81adb..6f7479e 100644 --- a/modules/mongodb/module.json +++ b/modules/mongodb/module.json @@ -27,7 +27,9 @@ } ], "serves": { - "mongodb-database": {} + "mongodb-database": { + "port": 27017 + } }, "receives": { "mongodb-database": "/var/lib/mongodb/grants/mesh.json" diff --git a/modules/postgres/module.json b/modules/postgres/module.json index 3818a2f..e6d9089 100644 --- a/modules/postgres/module.json +++ b/modules/postgres/module.json @@ -27,7 +27,9 @@ } ], "serves": { - "postgres-database": {} + "postgres-database": { + "port": 5432 + } }, "receives": { "postgres-database": "/var/lib/postgres/grants/mesh.json" diff --git a/modules/redis/module.json b/modules/redis/module.json index 5150f69..f50859d 100644 --- a/modules/redis/module.json +++ b/modules/redis/module.json @@ -19,7 +19,9 @@ "module.redis.cache.deprovisioned" ], "serves": { - "redis-cache": {} + "redis-cache": { + "port": 6379 + } }, "receives": { "redis-cache": "/var/lib/redis-module/grants/mesh.json" -- 2.54.0