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>
226 lines
7.4 KiB
YAML
226 lines
7.4 KiB
YAML
# ==============================================================================
|
|
# SERVICES REGISTRY - Control Plane
|
|
# ==============================================================================
|
|
# Proposito: Catalogo de todos los servicios del workspace
|
|
# Mantenido por: DevOps-Agent
|
|
# Actualizado: 2025-12-18
|
|
# ==============================================================================
|
|
|
|
version: "1.0.0"
|
|
updated: "2025-12-18"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# TIPOS DE SERVICIO
|
|
# ------------------------------------------------------------------------------
|
|
service_types:
|
|
backend_api:
|
|
description: "API REST/GraphQL"
|
|
default_runtime: "node"
|
|
required_files:
|
|
- "service.descriptor.yml"
|
|
- "Dockerfile"
|
|
- "package.json"
|
|
healthcheck_path: "/health"
|
|
|
|
frontend_web:
|
|
description: "Single Page Application"
|
|
default_runtime: "node"
|
|
required_files:
|
|
- "service.descriptor.yml"
|
|
- "Dockerfile"
|
|
- "package.json"
|
|
|
|
ml_service:
|
|
description: "Servicio de Machine Learning"
|
|
default_runtime: "python"
|
|
required_files:
|
|
- "service.descriptor.yml"
|
|
- "Dockerfile"
|
|
- "requirements.txt"
|
|
healthcheck_path: "/health"
|
|
|
|
database:
|
|
description: "Base de datos"
|
|
default_runtime: "postgres"
|
|
required_files:
|
|
- "docker-compose.yml"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SERVICIOS POR PROYECTO
|
|
# ------------------------------------------------------------------------------
|
|
services:
|
|
|
|
# ============================================================================
|
|
# GAMILIT
|
|
# ============================================================================
|
|
gamilit:
|
|
- name: "gamilit-api"
|
|
type: "backend_api"
|
|
runtime: "nestjs"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/gamilit/apps/backend"
|
|
port_ref: "projects.gamilit.services.api"
|
|
domain_ref: "projects.gamilit.environments"
|
|
db_ref: "databases.gamilit"
|
|
status: "active"
|
|
|
|
- name: "gamilit-web"
|
|
type: "frontend_web"
|
|
runtime: "react"
|
|
owner_agent: "NEXUS-FRONTEND"
|
|
path: "projects/gamilit/apps/frontend"
|
|
port_ref: "projects.gamilit.services.web"
|
|
domain_ref: "projects.gamilit.environments"
|
|
status: "active"
|
|
|
|
# ============================================================================
|
|
# ERP SUITE - CORE
|
|
# ============================================================================
|
|
erp_core:
|
|
- name: "erp-core-api"
|
|
type: "backend_api"
|
|
runtime: "nestjs"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/erp-suite/apps/erp-core/backend"
|
|
port_ref: "projects.erp_suite.services.api"
|
|
domain_ref: "projects.erp.environments"
|
|
db_ref: "databases.erp_core"
|
|
status: "active"
|
|
|
|
- name: "erp-core-web"
|
|
type: "frontend_web"
|
|
runtime: "react"
|
|
owner_agent: "NEXUS-FRONTEND"
|
|
path: "projects/erp-suite/apps/erp-core/frontend"
|
|
port_ref: "projects.erp_suite.services.web"
|
|
domain_ref: "projects.erp.environments"
|
|
status: "planned"
|
|
|
|
# ============================================================================
|
|
# ERP VERTICALES
|
|
# ============================================================================
|
|
erp_construccion:
|
|
- name: "erp-construccion-api"
|
|
type: "backend_api"
|
|
runtime: "nestjs"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/erp-suite/apps/verticales/construccion/backend"
|
|
port_ref: "projects.erp_construccion.services.api"
|
|
domain_ref: "projects.erp_construccion.environments"
|
|
db_ref: "databases.erp_construccion"
|
|
status: "active"
|
|
|
|
- name: "erp-construccion-web"
|
|
type: "frontend_web"
|
|
runtime: "react"
|
|
owner_agent: "NEXUS-FRONTEND"
|
|
path: "projects/erp-suite/apps/verticales/construccion/frontend"
|
|
port_ref: "projects.erp_construccion.services.web"
|
|
status: "planned"
|
|
|
|
erp_mecanicas:
|
|
- name: "erp-mecanicas-api"
|
|
type: "backend_api"
|
|
runtime: "nestjs"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/erp-suite/apps/verticales/mecanicas-diesel/backend"
|
|
port_ref: "projects.erp_mecanicas.services.api"
|
|
domain_ref: "projects.erp_mecanicas.environments"
|
|
db_ref: "databases.erp_mecanicas"
|
|
status: "planned"
|
|
|
|
# ============================================================================
|
|
# TRADING PLATFORM
|
|
# ============================================================================
|
|
trading:
|
|
- name: "trading-api"
|
|
type: "backend_api"
|
|
runtime: "express"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/trading-platform/apps/backend"
|
|
port_ref: "projects.trading.services.api"
|
|
domain_ref: "projects.trading.environments"
|
|
db_ref: "databases.trading"
|
|
status: "active"
|
|
|
|
- name: "trading-web"
|
|
type: "frontend_web"
|
|
runtime: "react"
|
|
owner_agent: "NEXUS-FRONTEND"
|
|
path: "projects/trading-platform/apps/frontend"
|
|
port_ref: "projects.trading.services.web"
|
|
status: "active"
|
|
|
|
- name: "trading-ml-engine"
|
|
type: "ml_service"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-ML"
|
|
path: "projects/trading-platform/apps/ml-engine"
|
|
port_ref: "projects.trading.services.ml_engine"
|
|
status: "active"
|
|
|
|
- name: "trading-llm-agent"
|
|
type: "ml_service"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-ML"
|
|
path: "projects/trading-platform/apps/llm-agent"
|
|
port_ref: "projects.trading.services.llm_agent"
|
|
status: "active"
|
|
|
|
- name: "trading-data-service"
|
|
type: "ml_service"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-ML"
|
|
path: "projects/trading-platform/apps/data-service"
|
|
port_ref: "projects.trading.services.data_service"
|
|
status: "planned"
|
|
|
|
- name: "trading-agents"
|
|
type: "ml_service"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-ML"
|
|
path: "projects/trading-platform/apps/trading-agents"
|
|
port_ref: "projects.trading.services.trading_agents"
|
|
status: "active"
|
|
|
|
# ============================================================================
|
|
# BETTING ANALYTICS
|
|
# ============================================================================
|
|
betting:
|
|
- name: "betting-api"
|
|
type: "backend_api"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-BACKEND"
|
|
path: "projects/betting-analytics/apps/backend"
|
|
port_ref: "projects.betting.services.api"
|
|
domain_ref: "projects.betting.environments"
|
|
db_ref: "databases.betting"
|
|
status: "planned"
|
|
|
|
- name: "betting-web"
|
|
type: "frontend_web"
|
|
runtime: "react"
|
|
owner_agent: "NEXUS-FRONTEND"
|
|
path: "projects/betting-analytics/apps/frontend"
|
|
port_ref: "projects.betting.services.web"
|
|
status: "planned"
|
|
|
|
- name: "betting-ml-engine"
|
|
type: "ml_service"
|
|
runtime: "fastapi"
|
|
owner_agent: "NEXUS-ML"
|
|
path: "projects/betting-analytics/apps/ml"
|
|
port_ref: "projects.betting.services.ml_engine"
|
|
status: "planned"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# VALIDACION
|
|
# ------------------------------------------------------------------------------
|
|
validation:
|
|
script: "devtools/scripts/validation/validate-services.sh"
|
|
rules:
|
|
- "Cada servicio debe tener service.descriptor.yml"
|
|
- "Referencias a ports.registry deben existir"
|
|
- "Referencias a domains.registry deben existir"
|
|
- "Referencias a databases.registry deben existir"
|