From 33c107f427884be7241ee8509e4460a10d1639e5 Mon Sep 17 00:00:00 2001 From: rabbitblood Date: Mon, 13 Apr 2026 18:10:41 -0700 Subject: [PATCH] fix(infra): attach docker-compose.infra.yml services to molecule-monorepo-net MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes partially #15 (network-split side of the same incident class). Running `docker compose -f docker-compose.infra.yml up -d` puts postgres, redis, clickhouse, langfuse (and the new temporal service) on a fresh `molecule-monorepo_default` bridge network, while the platform container lives on `molecule-monorepo-net` (created by the root docker-compose.yml). Platform then fails DNS on `postgres:5432` and crashes until the operator manually `docker network connect`s each service. Declare `molecule-monorepo-net` as the external default network for the infra compose file so new services join it automatically. Also adds temporal + temporal-ui services (closes the 'Temporal unavailable' noise that every agent logs at startup) and exposes the UI on :8233. Incident: 2026-04-13 — running `up -d temporal` recreated postgres into the wrong network and took the platform + all 12 workspace agents offline until networks were manually reconnected. --- docker-compose.infra.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docker-compose.infra.yml b/docker-compose.infra.yml index e83c3316..ced9e3b9 100644 --- a/docker-compose.infra.yml +++ b/docker-compose.infra.yml @@ -65,6 +65,37 @@ services: timeout: 5s retries: 10 + temporal: + image: temporalio/auto-setup:1.25 + depends_on: + postgres: + condition: service_healthy + environment: + DB: postgres12 + DB_PORT: 5432 + POSTGRES_USER: ${POSTGRES_USER:-dev} + POSTGRES_PWD: ${POSTGRES_PASSWORD:-dev} + POSTGRES_SEEDS: postgres + DBNAME: temporal + VISIBILITY_DBNAME: temporal_visibility + ports: + - "7233:7233" + healthcheck: + test: ["CMD", "tctl", "--address", "temporal:7233", "cluster", "health"] + interval: 10s + timeout: 5s + retries: 10 + + temporal-ui: + image: temporalio/ui:2.31.2 + depends_on: + - temporal + environment: + TEMPORAL_ADDRESS: temporal:7233 + TEMPORAL_CORS_ORIGINS: http://localhost:8233 + ports: + - "8233:8080" + langfuse-web: image: langfuse/langfuse:2 depends_on: @@ -84,6 +115,11 @@ services: ports: - "3001:3000" +networks: + default: + name: molecule-monorepo-net + external: true + volumes: pgdata: redisdata: