diff --git a/.gitignore b/.gitignore index 20b031b..9864097 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,8 @@ celerybeat-schedule.* celerybeat.pid backend/api/v1/modules/reports/generated/ docker-compose.override.yml + +SUNRISE/ +# Corredor de la corrida autonoma continua: vive local, no se versiona. +automatizacion/ +docker-compose.dev.yml diff --git a/docker-compose.e2e.yml b/docker-compose.e2e.yml index 9bdb1dd..db8b832 100644 --- a/docker-compose.e2e.yml +++ b/docker-compose.e2e.yml @@ -7,12 +7,28 @@ # - Sin `container_name` ni `restart` (efímero, COMPOSE_PROJECT_NAME aísla los nombres). # - Sin `celery_worker` / `celery_beat` (no se ejercitan en los specs actuales). # - Imágenes vía env vars: la del frontend se rebuildea localmente con -# VITE_API_URL=http://localhost:8000/api/ (la prod tiene la URL de dev bakeada). -# - Puertos fijos: frontend 5173 / backend 8000 (URIs ya registradas en Workspace). +# VITE_API_URL=http://localhost:3468/api/ (la prod tiene la URL de dev bakeada). +# +# PUERTOS DEL HOST — 2026-08-10 +# frontend 5173 NO SE MUEVE. Está registrado en Workspace: `http://localhost:5173/auth/callback` +# es la redirect URI permitida del cliente OIDC, y es además el `baseURL` de +# Playwright, el `CORS_ORIGINS` y el `APP_PUBLIC_URL` del backend. Moverlo rompe +# el login antes de que corra el primer spec. +# backend 3468 Movido desde 8000. En la máquina de desarrollo el 8000 del host lo ocupa +# `EFC_backend_dev` (stack de EFC), así que este servicio no arrancaba: +# "port is already allocated". 3468 es vecino del 3467 de docker-compose.prod.yml, +# para que los puertos del CRM se mantengan en un mismo rango reconocible. +# Dentro del contenedor sigue siendo 8000: el bind de gunicorn, el healthcheck +# y `INTERNAL_API_URL=http://backend:8000` NO cambian, son de la red interna. +# +# ⚠️ SI SE REACTIVA EL STAGE E2E DEL JENKINSFILE: la imagen del frontend hay que reconstruirla +# con VITE_API_URL=http://localhost:3468/api/. Si se hornea con 8000, el navegador de Playwright +# pegaría contra el backend de EFC y los specs pasarían contra el sistema equivocado — no falla, +# miente. Es el modo de fallo caro de este cambio. # # Variables requeridas en el entorno al invocar docker compose: # E2E_BACKEND_IMAGE — imagen del backend recién pusheada a Harbor -# E2E_FRONTEND_IMAGE — imagen temporal del frontend con VITE_API_URL=localhost +# E2E_FRONTEND_IMAGE — imagen temporal del frontend con VITE_API_URL=localhost:3468 services: postgres-app: @@ -95,7 +111,9 @@ services: - S3_USE_SSL=false - S3_FILE_STORAGE=true ports: - - "8000:8000" + # 3468 en el HOST, 8000 dentro del contenedor. Ver la nota de puertos del encabezado: + # el 8000 del host lo ocupa EFC_backend_dev en la maquina de desarrollo. + - "3468:8000" depends_on: postgres-app: condition: service_healthy @@ -131,7 +149,11 @@ services: - NODE_ENV=production # VITE_API_URL ya está bakeada en E2E_FRONTEND_IMAGE; este valor solo sirve # para fallback server-side en frontend/src/lib/server/api.ts. - - VITE_API_URL=http://localhost:8000/api/ + # + # ⚠️ El puerto del host es 3468, no 8000 (ver el encabezado). Y como el valor que usa + # el NAVEGADOR va bakeado en la imagen, cambiar solo esta línea NO basta: quien + # reconstruya E2E_FRONTEND_IMAGE tiene que hornear la misma URL. + - VITE_API_URL=http://localhost:3468/api/ - INTERNAL_API_URL=http://backend:8000/api/ - INTERNAL_HUB_URL=https://workspace.aduanasoft.com - HUB_URL=https://workspace.aduanasoft.com