Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
216 lines
4.8 KiB
Markdown
216 lines
4.8 KiB
Markdown
# 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
|