workspace-v1/orchestration/inventarios/ANALISIS-PUERTOS-WORKSPACE.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

234 lines
6.7 KiB
Markdown

# ANALISIS DE PUERTOS - WORKSPACE
**Fecha:** 2025-12-08
**Generado por:** Architecture-Analyst
**Con datos de:** DevEnv Agent
**Version:** 1.0.0
---
## RESUMEN EJECUTIVO
| Metrica | Valor |
|---------|-------|
| Total proyectos escaneados | 6 |
| Total archivos de configuracion | 40+ |
| Total puertos configurados | 87 |
| Conflictos detectados | 5 |
| Conflictos P0 (criticos) | 2 |
| Conflictos P1 (importantes) | 2 |
| Conflictos P2 (recomendaciones) | 1 |
---
## HALLAZGOS CRITICOS (P0)
### CONFLICT-001: Puerto 3000 Compartido
**Severidad:** P0 - CRITICO
**Puerto:** 3000
**Impacto:** 4 proyectos no pueden ejecutarse simultaneamente
| Proyecto | Archivo | Variable |
|----------|---------|----------|
| erp-suite/erp-core | .env.example | PORT |
| erp-suite/mecanicas-diesel | .env.example | APP_PORT |
| erp-suite/pos-micro | backend/.env.example | PORT |
| platform_marketing_content | apps/backend/.env.example | PORT |
**Causa raiz:** Se uso el puerto default de desarrollo (3000) sin considerar el estandar del workspace.
**Resolucion propuesta:**
```yaml
erp-core: 3000 -> 3106 (rango erp-suite: 3100-3119)
mecanicas-diesel: 3000 -> 3166 (rango: 3160-3179)
pos-micro: 3000 -> 3226 (rango: 3220-3239)
pmc: 3000 -> 3606 (rango: 3600-3699)
```
---
### CONFLICT-002: PostgreSQL 5432 Compartido
**Severidad:** P0 - CRITICO (condicional)
**Puerto:** 5432
**Impacto:** Multiples proyectos comparten el puerto default de PostgreSQL
| Proyecto | Archivo |
|----------|---------|
| gamilit | apps/backend/.env |
| trading-platform | apps/database/.env |
| erp-suite/erp-core | .env.example |
| erp-suite/mecanicas-diesel | .env.example |
| platform_marketing_content | apps/backend/.env.example |
**Analisis:**
- Si los proyectos corren en **maquinas diferentes**: ACEPTABLE
- Si los proyectos corren en el **mismo host**: CONFLICTO
**Resolucion propuesta:**
```yaml
# Para desarrollo en mismo host, usar puertos diferenciados:
gamilit: 5432 (produccion - mantener)
trading-platform: 5432 (ya diferenciado con test en 5433)
erp-core: 5440 (nuevo)
mecanicas-diesel: 5441 (nuevo)
pmc: 5442 (nuevo)
```
**Nota:** Los proyectos ERP-suite verticales ya tienen puertos diferenciados (5433-5437).
---
## HALLAZGOS IMPORTANTES (P1)
### CONFLICT-003: Vidrio-Templado vs Grafana
**Severidad:** P1 - IMPORTANTE
**Puerto:** 3200
| Proyecto | Uso | Archivo |
|----------|-----|---------|
| erp-suite/vidrio-templado | Backend API | .env.example (APP_PORT) |
| trading-platform | Grafana Monitoring | .env.ports (GRAFANA_PORT) |
**Analisis:** El backend de vidrio-templado (3200) colisiona con el puerto reservado para Grafana en trading-platform.
**Resolucion propuesta:**
```yaml
vidrio-templado: 3200 -> 3146 (dentro de su rango: 3140-3159)
```
---
### CONFLICT-004: PgAdmin Compartido
**Severidad:** P1 - IMPORTANTE
**Puerto:** 5050
| Proyecto | Archivo |
|----------|---------|
| trading-platform | docker-compose.yml |
| erp-suite/erp-core | database/docker-compose.yml |
**Analisis:** Herramienta de desarrollo, no corre simultaneamente. ACEPTABLE mantener como esta.
**Resolucion:** Ninguna requerida. Documentar que no deben ejecutarse simultaneamente.
---
## RECOMENDACIONES (P2)
### CONFLICT-005: Proyectos sin .env.ports
Los siguientes proyectos no tienen archivo centralizado de puertos:
- erp-suite
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
**Resolucion:** Crear `.env.ports` en cada proyecto siguiendo el template de trading-platform.
---
## ANALISIS DE CUMPLIMIENTO DEL ESTANDAR
### Estandar Base (gamilit)
```
Frontend: 3005 (base + 5)
Backend: 3006 (base + 6)
```
### Cumplimiento por Proyecto
| Proyecto | Cumple Estandar | Observacion |
|----------|-----------------|-------------|
| gamilit | SI | Proyecto de referencia |
| trading-platform | PARCIAL | Tiene su propio esquema documentado |
| erp-suite/erp-core | NO | Usa 3000, deberia ser 3106 |
| erp-suite/construccion | NO | Usa 3100, deberia ser 3126 |
| erp-suite/vidrio-templado | NO | Usa 3200, deberia ser 3146 |
| erp-suite/mecanicas-diesel | NO | Usa 3000, deberia ser 3166 |
| erp-suite/retail | NO | Usa 3400, deberia ser 3186 |
| erp-suite/clinicas | NO | Usa 3500, deberia ser 3206 |
| erp-suite/pos-micro | NO | Usa 3000, deberia ser 3226 |
| platform_marketing_content | NO | Usa 3000, deberia ser 3606 |
| betting-analytics | N/A | Sin configurar |
| inmobiliaria-analytics | N/A | Sin configurar |
---
## MATRIZ DE PUERTOS PROPUESTOS
### Backends (Patron: base + 6)
| Proyecto | Puerto Actual | Puerto Propuesto | Cambio Requerido |
|----------|---------------|------------------|------------------|
| gamilit | 3006 | 3006 | NO |
| erp-core | 3000 | 3106 | SI |
| construccion | 3100 | 3126 | SI |
| vidrio-templado | 3200 | 3146 | SI |
| mecanicas-diesel | 3000 | 3166 | SI |
| retail | 3400 | 3186 | SI |
| clinicas | 3500 | 3206 | SI |
| pos-micro | 3000 | 3226 | SI |
| trading-platform | 4000 | 4000 | NO |
| pmc | 3000 | 3606 | SI |
### Frontends (Patron: base + 5)
| Proyecto | Puerto Actual | Puerto Propuesto | Cambio Requerido |
|----------|---------------|------------------|------------------|
| gamilit | 3005 | 3005 | NO |
| erp-core | - | 3105 | CREAR |
| construccion | 5174 | 5174 o 3125 | REVISAR |
| vidrio-templado | 5175 | 5175 o 3145 | REVISAR |
| trading-platform | 3100 | 3100 | NO |
| pmc | - | 3605 | CREAR |
---
## VALIDACION DEL PLAN CONTRA REQUERIMIENTOS
### Requerimiento 1: No conflictos de puertos
- **Estado:** CUBIERTO
- **Validacion:** Todas las propuestas eliminan conflictos existentes
### Requerimiento 2: Seguir estandar gamilit
- **Estado:** CUBIERTO
- **Validacion:** Propuestas siguen patron base+5 (FE), base+6 (BE)
### Requerimiento 3: Rangos por proyecto
- **Estado:** CUBIERTO
- **Validacion:** Cada proyecto tiene rango de 100 puertos asignado
### Requerimiento 4: Documentacion actualizada
- **Estado:** EN PROCESO
- **Validacion:** Crear .env.ports en proyectos faltantes
### Requerimiento 5: Puertos de produccion protegidos
- **Estado:** CUBIERTO
- **Validacion:** gamilit 3005/3006 no se modifican
---
## RIESGOS IDENTIFICADOS
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Cambio de puerto rompe configuracion existente | ALTA | MEDIO | Actualizar todos los archivos .env simultaneamente |
| Frontend no conecta a nuevo backend | MEDIA | ALTO | Actualizar VITE_API_URL junto con backend |
| Docker-compose desactualizado | MEDIA | MEDIO | Verificar todos los docker-compose.yml |
| CI/CD con puertos hardcodeados | BAJA | ALTO | Revisar pipelines de Jenkins |
---
## SIGUIENTE PASO
Ver: `PLAN-CORRECCION-PUERTOS.md` para el plan de implementacion detallado.
---
**Version:** 1.0.0 | **Generado por:** Architecture-Analyst + DevEnv