fix(deploy): corregir vars de producción que causaban localhost en KC URLs

docker-compose.prod.yml:
- Agrega SITE_URL=https://anexo76-dev.aduanasoft.com hardcodeado (no depende
  del .env raíz). resolveSystemBaseUrl() lo usa como fallback cuando
  ORIGIN tiene un valor localhost que pisó el default del compose.
- Agrega VITE_HUB_URL=https://workspace.aduanasoft.com para que
  getWorkspaceBaseUrl() no dependa de VITE_HUB_URL del .env raíz dev.
- Documenta el problema: root .env con ORIGIN=localhost pisa el default.

Dockerfile.prod:
- Agrega ARG/ENV VITE_KEYCLOAK_REALM (faltaba en los build-args de Jenkins).
- Agrega ARG/ENV VITE_HUB_URL con default workspace.aduanasoft.com.

.env.example raíz:
- Agrega advertencia sobre ORIGIN, VITE_HUB_URL y APP_PUBLIC_URL con
  instrucciones explícitas de cómo corregirlos en producción.
- Extrae estos valores al bloque documentado para que sean visibles.

Root cause: el deploy en producción ejecuta
  docker compose -f docker-compose.prod.yml up
  que carga automáticamente el .env raíz con ORIGIN=http://localhost:5173,
  pisando el default correcto del prod compose.
  url.origin en SvelteKit = localhost:5173 → redirect_uri con localhost.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-22 08:58:29 -05:00
parent 74282d446f
commit 4da360e141
3 changed files with 40 additions and 1 deletions

View File

@@ -35,6 +35,28 @@ CORS_ORIGINS=http://localhost:5173,http://localhost:3000
NODE_ENV=development
VITE_API_URL=http://localhost:8000/api
INTERNAL_API_URL=http://backend:8000/api
# ⚠️ ADVERTENCIA PRODUCCIÓN — ORIGIN, VITE_HUB_URL y APP_PUBLIC_URL
# ─────────────────────────────────────────────────────────────────────
# Docker Compose carga ESTE archivo (.env raíz) automáticamente cuando
# se ejecuta: docker compose -f docker-compose.prod.yml up
#
# Si estas variables tienen valores localhost aquí, PISARÁN los defaults
# de docker-compose.prod.yml y causarán que el login falle en producción
# (redirect_uri y KC URL apuntarán a localhost).
#
# Para dev local (docker-compose.yml): dejar localhost.
# Para producción (docker-compose.prod.yml): asegurarse que el servidor
# NO tenga este .env raíz con valores localhost, O usar:
# docker compose --env-file .env.prod -f docker-compose.prod.yml up
#
# Variables críticas para producción:
# ORIGIN=https://anexo76-dev.aduanasoft.com ← determina url.origin en SvelteKit
# VITE_HUB_URL=https://workspace.aduanasoft.com
# APP_PUBLIC_URL=https://anexo76-dev.aduanasoft.com
ORIGIN=http://localhost:5173
VITE_HUB_URL=http://localhost:3001
APP_PUBLIC_URL=http://localhost:5173
VITE_KEYCLOAK_REALM=master
VITE_KEYCLOAK_URL=http://localhost:8080/kcauth
VITE_KEYCLOAK_CLIENT_ID=anexo76-frontend