diff --git a/test/integration/whole-mesh-full.test.ts b/test/integration/whole-mesh-full.test.ts index 1d12af0..875f521 100644 --- a/test/integration/whole-mesh-full.test.ts +++ b/test/integration/whole-mesh-full.test.ts @@ -270,8 +270,17 @@ const PLAN: { node: string; mods: Mod[]; core: Set; gaps: Set }[ * runs. The rest break the novox web/app host-port collisions (route-proxy fronts 80/443). */ const REMAP: Record> = { - postgres: { "5432": "127.0.0.1:15432:5432" }, - lavinmq: { "5672": "127.0.0.1:15673:5672" }, + // Moved, NOT bound to loopback. These two carried `127.0.0.1:` and it broke a consumer on a node + // with no substrate at all: a module is told to reach its provider at `.internal`, that + // name resolves to the node's overlay address, and a provider listening only on loopback refuses + // it. letta on ace died of exactly this — "is the server running on that host and accepting + // TCP/IP connections?" — while postgres sat healthy beside it. + // + // The collision needed a different PORT, which is all the other entries here do. The address was + // never part of it, and adding it made the provider unreachable by the one name the mesh hands + // its consumers. + postgres: { "5432": "15432:5432" }, + lavinmq: { "5672": "15673:5672" }, nextcloud: { "80": "8090:80" }, umami: { "3000": "3090:3000" }, invoicing: { "80": "8091:80", "9000": "9091:9000" },