# FASE 3: SHARED INFRASTRUCTURE **Estado:** Pendiente **Duracion Estimada:** 2-3 dias **Agente Principal:** DevOps-Agent **Dependencias:** Fase 1 y 2 completadas --- ## OBJETIVO Crear la infraestructura compartida que sera usada por todos los proyectos: 1. Configuracion de Docker networks aisladas 2. Configuracion de Traefik como reverse proxy 3. Templates de docker-compose por tipo de proyecto 4. Configuracion de ambientes (local, dev, staging, prod) --- ## ALCANCE ### Incluye - Docker networks por proyecto y ambiente - Traefik configuration con routing dinamico - Templates de docker-compose.yml - Variables de entorno por ambiente - Scripts de setup para desarrollo local ### No Incluye - Configuracion de Kubernetes (futuro) - CI/CD pipelines (definido en Fase 2, implementado por proyecto) - Migracion de proyectos (Fase 4) --- ## COMPONENTES A CREAR ### 3.1 Docker Networks ```yaml # Estructura de redes por proyecto networks: # Red por proyecto y ambiente gamilit_local: name: gamilit_local driver: bridge gamilit_dev: name: gamilit_dev driver: bridge # Red compartida para infraestructura infra_shared: name: infra_shared driver: bridge # Traefik, monitoring, etc. ``` ### 3.2 Traefik Configuration ``` control-plane/devtools/docker/traefik/ | +-- traefik.yml # Configuracion principal +-- dynamic/ | +-- routers.yml # Routers dinamicos | +-- middlewares.yml # Middlewares comunes +-- certs/ +-- README.md # Instrucciones para certs ``` ### 3.3 Docker Compose Templates ``` control-plane/devtools/docker/templates/ | +-- docker-compose.base.yml # Template base +-- docker-compose.backend.yml # Template para backend +-- docker-compose.frontend.yml # Template para frontend +-- docker-compose.fullstack.yml # Template completo +-- docker-compose.ml.yml # Template para ML services ``` ### 3.4 Environment Configuration ``` control-plane/devtools/configs/ | +-- env/ | +-- .env.template # Template con todas las variables | +-- .env.local.template # Variables para local | +-- .env.dev.template # Variables para development | +-- .env.staging.template # Variables para staging | +-- .env.prod.template # Variables para production | +-- scripts/ +-- setup-local.sh # Setup inicial para desarrollo +-- generate-env.sh # Genera .env desde template ``` --- ## ESTRUCTURA OBJETIVO ``` control-plane/ | +-- devtools/ | +-- docker/ | | +-- traefik/ | | | +-- traefik.yml | | | +-- dynamic/ | | | | +-- routers.yml | | | | +-- middlewares.yml | | | +-- docker-compose.traefik.yml | | | | | +-- templates/ | | | +-- docker-compose.base.yml | | | +-- docker-compose.backend.yml | | | +-- docker-compose.frontend.yml | | | +-- docker-compose.fullstack.yml | | | | | +-- networks/ | | +-- create-networks.sh | | +-- networks.yml | | | +-- configs/ | | +-- env/ | | | +-- .env.template | | | +-- .env.local.template | | +-- scripts/ | | +-- setup-local.sh | | +-- generate-env.sh | | | +-- scripts/ | +-- bootstrap/ | +-- init-workspace.sh | +-- init-project.sh ``` --- ## SUBFASES ### 3.1 Analisis 1. Revisar configuracion Docker actual de proyectos 2. Identificar puertos y dominios de ports/domains registry 3. Documentar requerimientos de red por proyecto ### 3.2 Planeacion 1. Disenar estructura de redes Docker 2. Disenar configuracion de Traefik 3. Crear templates de docker-compose 4. Definir variables de entorno por ambiente ### 3.3 Implementacion 1. Crear estructura de carpetas 2. Crear archivos de configuracion 3. Crear scripts de setup 4. Probar configuracion local ### 3.4 Validacion 1. Verificar que redes se crean correctamente 2. Verificar que Traefik rutea correctamente 3. Verificar que templates son usables 4. Documentar uso --- ## DOCUMENTOS DE ESTA FASE ``` 03-fase-shared-infra/ | +-- README.md # Este archivo | +-- ANALISIS/ | +-- 00-PLAN-ANALISIS.md | +-- 01-DOCKER-ACTUAL.md # Estado actual de Docker en proyectos | +-- 02-REQUERIMIENTOS.md # Requerimientos de red por proyecto | +-- PLANEACION/ | +-- 00-TAREAS.md | +-- 01-DISENO-REDES.md | +-- 02-DISENO-TRAEFIK.md | +-- 03-TEMPLATES.md | +-- IMPLEMENTACION/ | +-- 00-EJECUCION.md | +-- PROMPTS/ | +-- PROMPT-DEVOPS-AGENT.md | +-- VALIDACION/ +-- CHECKLIST.md ``` --- ## SIGUIENTE PASO 1. Completar Fase 1 y 2 2. Leer ANALISIS/00-PLAN-ANALISIS.md 3. Ejecutar analisis de Docker actual --- **Agente Responsable:** DevOps-Agent