From cf30d4b3d02d20fba383350108dd39d2a895b5b1 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 22 Sep 2026 22:36:34 +0200 Subject: [PATCH] The forge's sidecar dials the port the machine put the forge on (hq issue 088) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MESH_GITEA_URL named 3000 outright. The forge's container publishes 3000 without fixing the machine side, so the mesh assigns it — and on a node given that port as a setting it is the operator's number. The mapping that lets the forge go on binding 3000 does nothing for a caller dialling the machine's loopback, so the sidecar dialled a port nothing was listening on wherever the two differed. ${port:3000} is the mesh's answer to exactly that question, and it now resolves in a container's environment as it always has in a file. The forge declares it listens on 3000, so it may ask. Still names 3000: the route contribution (hq issue 089) and the `listens` and `ports` entries, which are the software's own number and belong there. --- modules/gitea/module.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gitea/module.json b/modules/gitea/module.json index 90f6eb2..6026f01 100644 --- a/modules/gitea/module.json +++ b/modules/gitea/module.json @@ -165,7 +165,7 @@ ], "env": { "MESH_BROKER_FILE": "/run/secrets/broker", - "MESH_GITEA_URL": "http://127.0.0.1:3000", + "MESH_GITEA_URL": "http://127.0.0.1:${port:3000}", "MESH_GITEA_CONFIG_FILE": "/run/config/config.json", "MESH_GITEA_ADMIN_USER": "mesh-admin", "MESH_GITEA_ADMIN_PASSWORD_FILE": "/run/secrets/admin", -- 2.54.0