Skip to content

Fix: dominio del proyecto era .com, es .net — corrección completa

Date: 2026-07-28 Status: ✅ Corregido de verdad (ver "Reconciliación" al final) — la corrección original de este documento (commits e02cf06/0346bbc, rama fix/dominio-net) se había aplicado sobre una versión desactualizada del repo: el string .com→.net quedó bien, pero pisó trabajo real de tareas posteriores (logo real de CIS Latam, fix de build de VitePress, notas técnicas de ACM, un checklist marcado como completado) y reintrodujo 2 bugs ya resueltos. Reconciliado.

El error

Todo el proyecto (documentación, Terraform, workflows, config de VitePress) tenía el dominio del proyecto como cislatam.com. El dominio real es cislatam.net. Se corrigió en 14 archivos — ver la lista al final.

Excepción a propósito, no corregida: la mención a "cislatam.com" en doc/plans/2026-07-25-ui-design-system-updates.md se refiere al sitio corporativo real de la empresa (que sí es .com, confirmado en su momento) — no es un subdominio de este proyecto, no se toca.

⚠️ Si ya se avanzó con el runbook de Staging usando .com

Revisar y corregir en orden:

  1. Firebase Hosting — dominios personalizados: si ya se agregó algún dominio custom (soterex.stag.cislatam.com, etc.) en la consola de Firebase para cualquiera de los 3 sites, borrarlo y volver a agregarlo con .net — Firebase no permite editar un dominio ya agregado, hay que sacarlo y cargarlo de nuevo.
  2. Certificado ACM: si ya se pidió el certificado para api.soterex.stag.cislatam.com, pedir uno nuevo para api.soterex.stag.cislatam.net — un certificado ACM es específico del dominio exacto, no se puede "editar" el dominio de uno ya emitido. El viejo (.com) se puede borrar de ACM una vez confirmado que el nuevo (.net) está validado y en uso.
  3. DNS: cualquier registro que ya se le haya pasado a quien administra el DNS con .com no sirve — hay que pasarle los registros nuevos con .net (Firebase y ACM dan registros distintos para cada dominio, no son reutilizables entre .com y .net).
  4. GitHub Secrets: si ya se cargó STAGING_API_BASE_URL, STAGING_DOCS_URL, o STAGING_DOCS_API_URL con .com, actualizarlos a .net.

Si todavía no se llegó a esos pasos (Paso 4 en adelante del runbook), no hay nada que deshacer — solo seguir el runbook ya corregido desde donde se quedó.

Archivos corregidos (14)

.firebaserc
firebase.json
.github/workflows/deploy-staging.yml
doc/.vitepress/config.mts
doc/index.md
doc/environments/production.md
doc/environments/staging.md
doc/plans/2026-07-25-staging-go-live-runbook.md
doc/plans/2026-07-25-seccion-documentacion.md
doc/plans/2026-07-25-fix-link-funcional-vitepress-local.md
doc/site/public/openapi.yaml
infra/terraform/environments/staging/terraform.tfvars.example
infra/terraform/environments/staging/variables.tf
infra/terraform/environments/production/terraform.tfvars.example
infra/terraform/environments/production/variables.tf

Todos validados sintácticamente (YAML, JSON) después del cambio — ninguno quedó roto por el reemplazo.

Checklist

  • [x] Aplicar estos 14 archivos sobre el repo real — ver "Reconciliación" abajo, no fue una aplicación limpia.
  • [ ] Revisar los 4 puntos de arriba (Firebase, ACM, DNS, GitHub Secrets) si ya se avanzó con el runbook usando .com — nada de esto está provisionado todavía (ver doc/environments/staging.md), así que no aplica por ahora.
  • [x] Buscar una vez más por las dudas: grep -rln "cislatam\.com" . en el repo real completo, excluyendo la línea de ui-design-system-updates.md que es la excepción legítima. Quedan exactamente 2 (además de la excepción): este mismo documento (prosa, describe el error) y doc/plans/reference/AppLayout.vue (snapshot histórico congelado, mismo criterio que el resto de reference/ — no se toca).

Reconciliación (2026-07-28, misma fecha, sesión posterior)

El reemplazo .com.net de este documento se había aplicado sobre una base vieja del repo (anterior a varias tareas ya mergeadas a main), no sobre el estado real — el string quedó correcto, pero el contenido de esos archivos volvió a una versión anterior. Encontrado y corregido:

  • doc/index.md / doc/.vitepress/config.mts: el logo real de CIS Latam había vuelto al placeholder viejo (/logo.svg); el link "Referencia de API" volvía a apuntar al dominio del propio sitio VitePress en vez del portal ReDoc — el mismo bug reportado y arreglado en una tarea previa. Restaurados, con el dominio .net.
  • doc/.vitepress/config.mts también había perdido ignoreDeadLinks (sin eso, docs:build vuelve a fallar) y la config de favicon. Restaurados. Se conservó la mejora real que sí trajo el fix (DOCS_API_URL como variable de entorno de build, coordinada con .github/workflows/deploy-staging.yml), corrigiendo su fallback (localhost:8080, que no corresponde a nada de este proyecto) a docs.api.soterex.localhost.
  • infra/terraform/environments/{staging,production}/variables.tf: la descripción de acm_certificate_arn había vuelto al texto original (incluyendo el bug de copy-paste ya corregido: producción decía "dominio de Staging"). Reescrita — más simple que la versión anterior: el runbook de Staging (doc/plans/2026-07-25-staging-go-live-runbook.md) reveló que el certificado ACM es solo para el backend (un dominio exacto, sin wildcard) — docs.*/docs.api.* van por Firebase Hosting con TLS automático propio, no necesitan ACM.
  • doc/plans/2026-07-25-seccion-documentacion.md: el checklist había vuelto de [x] (completado, con notas reales de verificación) a [ ], como si la tarea no se hubiera hecho. Restaurado.
  • doc/environments/production.md: había perdido la tabla de dominios decididos y 2 notas (ACM, bug de "REEMPLAZAR" en doc/site/public/). Restauradas y actualizadas con el dominio y patrón reales.
  • doc/environments/index.md: no estaba en la lista de 14 — tenía el esquema de dominios de una tarea previa, con .com y además un patrón de subdominio distinto al que terminó adoptándose ({servicio}.stag.soterex.* vs. el real {servicio}.soterex.stag.*). Actualizado.
  • frontend/src/layouts/AppLayout.vue: 2 fallbacks propios (VITE_DOCS_URL/VITE_DOCS_API_URL) con .com, tampoco contemplados en la lista de 14 (el grep original no incluía archivos .vue). Corregidos.
  • frontend/src/views/admin/{UsuariosView,ConfiguracionView}.vue: 2 textos de placeholder de formulario (ejemplo de email, ejemplo de URL) con .com — bajo impacto real (no son links funcionales) pero corregidos por consistencia.
  • doc/plans/2026-07-25-fix-link-funcional-vitepress-local.md: este archivo no existía en el repo ni en su historial de git antes de esta sesión (confirmado buscando a fondo en una tarea previa) — apareció recreado por el mismo commit que "corrigió" el dominio, describiendo como pendiente un trabajo que ya estaba hecho y mergeado hace varias tareas. Marcado como referencia histórica y corregido el patrón de dominio que mencionaba.

No tocado a propósito: .firebaserc, firebase.json, .github/workflows/deploy-staging.yml y el runbook de Staging son trabajo legítimo y nuevo (deploy pipeline completo, no existía en este contexto antes) — se revisaron por posible pérdida de contenido y no se encontró ninguna, solo extensión limpia de lo que ya había.

Documentación viva — se actualiza junto con el código, no es un anexo aparte.