# PROMPT: TECH-LEADER - FASE 2 **Fase:** 2 - Core Orchestration **Agente:** Tech-Leader **Version:** 1.0.0 --- ## PROMPT DE INICIALIZACION ```markdown Seras Tech-Leader trabajando en la migracion del sistema de orquestacion para realizar: Migrar y actualizar SIMCO + NEXUS al nuevo Control Plane (Fase 2) ## CONTEXTO La Fase 1 (Control Plane) esta completada. Existe la estructura base en: /home/adrian/Documentos/workspace-v1/control-plane/ Con los siguientes registries creados: - registries/ports.registry.yml - registries/domains.registry.yml - registries/databases.registry.yml - registries/services.registry.yml Tu tarea es migrar el sistema de orquestacion (SIMCO + NEXUS) e integrarlo con los nuevos registries. ## SISTEMA ACTUAL A MIGRAR Ubicacion: /home/adrian/Documentos/workspace/core/orchestration/ Componentes: 1. Directivas SIMCO: core/orchestration/directivas/simco/ 2. Principios: core/orchestration/directivas/principios/ 3. Perfiles de Agentes: core/orchestration/agents/perfiles/ 4. Templates: core/orchestration/templates/ ## TUS TAREAS ESPECIFICAS ### FASE 2.1: Crear Directivas Nuevas 1. **SIMCO-DEVOPS.md** Ubicacion: control-plane/orchestration/directivas/simco/ Proposito: Enforcement de registries, CI/CD, ambientes Contenido requerido: - Validaciones pre-deployment - Integracion con registries - Configuracion de pipelines - Gestion de ambientes 2. **SIMCO-SERVICE-DESCRIPTOR.md** Ubicacion: control-plane/orchestration/directivas/simco/ Proposito: Standard de service.descriptor.yml Contenido requerido: - Como crear service.descriptor.yml - Campos obligatorios y opcionales - Como referenciar registries - Workflow de actualizacion ### FASE 2.2: Actualizar Directivas Existentes Para cada directiva, agregar "registry awareness": 1. **SIMCO-INICIALIZACION.md** Agregar al protocolo CCA: - Carga de ports.registry.yml - Carga de domains.registry.yml - Carga de databases.registry.yml 2. **SIMCO-CREAR.md** Agregar paso 0 (pre-creacion): - Verificacion de puerto disponible - Verificacion de BD en registry - Creacion de service.descriptor.yml 3. **SIMCO-VALIDAR.md** Agregar validaciones: - Puertos contra registry - Dominios contra registry - service.descriptor valido 4. **SIMCO-BACKEND.md** Agregar seccion: - SERVICE DESCRIPTOR obligatorio - REGISTRY AWARENESS 5. **SIMCO-DDL.md** Agregar: - Verificacion contra databases.registry - Convencion de roles ### FASE 2.3: Perfiles de Agentes 1. **Crear PERFIL-DEVOPS.md** (NUEVO) Responsabilidades: - Gestion de registries - Enforcement de politicas - CI/CD - Infraestructura 2. **Actualizar perfiles existentes:** - PERFIL-BACKEND.md: + registry awareness - PERFIL-FRONTEND.md: + domain registry - PERFIL-DATABASE.md: + database registry - PERFIL-TECH-LEADER.md: + arquitectura multi-repo 3. **Actualizar ALIASES.yml** Agregar NEXUS-DEVOPS ### FASE 2.4: Templates 1. Crear SERVICE-DESCRIPTOR-TEMPLATE.yml 2. Actualizar templates de backend para incluir descriptor ## DOCUMENTOS DE REFERENCIA 1. SERVICE-DESCRIPTOR-STANDARD.md (ya creado) Ubicacion: 02-fase-core-orchestration/ARTEFACTOS/ 2. Analisis de gaps: Ubicacion: 02-fase-core-orchestration/ANALISIS/03-GAPS-IDENTIFICADOS.md 3. Inventario SIMCO: Ubicacion: 02-fase-core-orchestration/ANALISIS/01-INVENTARIO-SIMCO.md ## RESTRICCIONES - NO modificar archivos en el workspace actual - Crear todo en workspace-v1/control-plane/ - Mantener compatibilidad con sistema existente donde sea posible - Usar rutas absolutas en referencias internas - Incluir ejemplos practicos en cada directiva ## PROTOCOLO DE TRABAJO 1. Leer documentos de analisis de esta fase 2. Leer directivas/perfiles actuales del workspace 3. Crear directivas nuevas primero (foundation) 4. Migrar y actualizar directivas existentes 5. Crear/actualizar perfiles 6. Crear templates 7. Documentar en IMPLEMENTACION/00-EJECUCION.md 8. Validar contra VALIDACION/CHECKLIST.md ## VALIDACION Cada archivo creado debe: - Ser markdown valido - Tener estructura consistente con otros archivos - Incluir seccion de proposito - Incluir ejemplos cuando aplique - Referenciar registries donde corresponda ## ENTREGABLES 1. Directivas nuevas: - SIMCO-DEVOPS.md - SIMCO-SERVICE-DESCRIPTOR.md 2. Directivas actualizadas: - SIMCO-INICIALIZACION.md - SIMCO-CREAR.md - SIMCO-VALIDAR.md - SIMCO-BACKEND.md - SIMCO-DDL.md 3. Perfiles: - PERFIL-DEVOPS.md (nuevo) - PERFIL-BACKEND.md (actualizado) - PERFIL-FRONTEND.md (actualizado) - PERFIL-DATABASE.md (actualizado) - ALIASES.yml (actualizado) 4. Templates: - SERVICE-DESCRIPTOR-TEMPLATE.yml 5. Documentacion: - IMPLEMENTACION/00-EJECUCION.md (log de trabajo) ``` --- ## TEMPLATE: SIMCO-DEVOPS.md ```markdown # SIMCO-DEVOPS: Directiva de Operaciones **Version:** 1.0.0 **Sistema:** SIMCO v2 - Workspace v1 **Responsable:** NEXUS-DEVOPS --- ## PROPOSITO Esta directiva define como los agentes interactuan con: - Infraestructura (Docker, redes, ambientes) - CI/CD (pipelines, builds, deployments) - Registries (puertos, dominios, bases de datos) ## PRINCIPIO FUNDAMENTAL > Todo deployment debe pasar validacion de registries antes de proceder. --- ## 1. VALIDACIONES PRE-DEPLOYMENT ### 1.1 Validacion de Puertos ```yaml ANTES de exponer un servicio: 1. Leer service.descriptor.yml 2. Verificar ports.internal esta en ports.registry.yml 3. Verificar no hay conflicto con otros servicios 4. Si falla: BLOQUEAR deployment ``` ### 1.2 Validacion de Dominios ```yaml ANTES de configurar routing: 1. Leer domains del service.descriptor.yml 2. Verificar dominio esta en domains.registry.yml 3. Verificar certificados existen (si HTTPS) 4. Si falla: BLOQUEAR deployment ``` ### 1.3 Validacion de Base de Datos ```yaml ANTES de conectar a BD: 1. Leer database del service.descriptor.yml 2. Verificar BD existe en databases.registry.yml 3. Verificar rol correcto (runtime para app, migrator para migrations) 4. Si falla: BLOQUEAR deployment ``` --- ## 2. PIPELINES DE CI/CD ### 2.1 Lectura de Configuracion ```yaml El pipeline DEBE: 1. Leer service.descriptor.yml 2. Extraer ci.* flags 3. Ejecutar segun configuracion: - ci.tests: true -> Ejecutar tests - ci.lint: true -> Ejecutar linting - ci.build: true -> Ejecutar build - ci.docker: true -> Construir imagen Docker ``` ### 2.2 Build de Docker ```yaml Si ci.docker: true: 1. Usar ci.docker_image como nombre 2. Usar ci.docker_registry como destino 3. Tag con version de service.version 4. Push solo si validaciones pasan ``` --- ## 3. GESTION DE AMBIENTES ### 3.1 Ambientes Definidos | Ambiente | Proposito | Acceso | |----------|-----------|--------| | local | Desarrollo individual | Solo desarrollador | | development | Integracion | Equipo desarrollo | | staging | Pre-produccion | QA + stakeholders | | production | Produccion | Usuarios finales | ### 3.2 Configuracion por Ambiente ```yaml Cada ambiente tiene: - Red Docker aislada: {proyecto}_{ambiente} - Dominio especifico: Ver domains.registry.yml - Variables de entorno: .env.{ambiente} ``` --- ## 4. ENFORCEMENT ### 4.1 Que se Bloquea - Deployment con puerto no registrado - Deployment con dominio no registrado - Deployment sin service.descriptor.yml valido - Deployment sin pasar tests (si ci.tests: true) ### 4.2 Proceso de Excepcion ```yaml Si se requiere excepcion: 1. Crear issue documentando razon 2. Solicitar aprobacion de Tech-Leader 3. Agregar al registry con nota de excepcion 4. Revisar en siguiente sprint para regularizar ``` --- ## 5. HERRAMIENTAS ### 5.1 Scripts de Validacion ```bash # Validar todo antes de deploy ./control-plane/devtools/scripts/validation/validate-all.sh # Validar solo puertos ./control-plane/devtools/scripts/validation/validate-ports.sh # Validar solo service descriptors ./control-plane/devtools/scripts/validation/validate-service-descriptors.sh ``` ### 5.2 Pre-commit Hooks ```yaml # .pre-commit-config.yaml repos: - repo: local hooks: - id: validate-ports name: Validate Ports entry: ./control-plane/devtools/scripts/validation/validate-ports.sh language: script pass_filenames: false ``` --- ## 6. INTEGRACION CON OTROS AGENTES ### 6.1 NEXUS-BACKEND solicita deployment ```yaml 1. Backend-Agent completa desarrollo 2. Backend-Agent llama a DevOps-Agent 3. DevOps-Agent ejecuta validaciones 4. Si pasa: Procede con deployment 5. Si falla: Reporta errores a Backend-Agent ``` ### 6.2 Reportes a Tech-Leader ```yaml DevOps-Agent reporta a Tech-Leader: - Violaciones de registries detectadas - Deployments bloqueados - Excepciones solicitadas - Metricas de CI/CD ``` --- **Directiva mantenida por:** NEXUS-DEVOPS ``` --- ## NOTAS PARA EL AGENTE 1. **Prioridad de creacion:** - Primero: SIMCO-DEVOPS.md y SIMCO-SERVICE-DESCRIPTOR.md - Segundo: PERFIL-DEVOPS.md - Tercero: Actualizaciones a existentes 2. **Consistencia:** - Mantener formato de otras directivas SIMCO - Usar misma estructura de secciones - Incluir ejemplos YAML 3. **Referencias cruzadas:** - Referenciar SERVICE-DESCRIPTOR-STANDARD.md donde aplique - Referenciar registries especificos - Referenciar scripts de validacion --- **Documento generado por:** Architecture-Analyst