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
508 lines
12 KiB
YAML
508 lines
12 KiB
YAML
# =============================================================================
|
|
# DEPLOYMENT-INVENTORY.yml
|
|
# =============================================================================
|
|
# Inventario completo de despliegue para todos los proyectos
|
|
# Gestionado por: DevEnv Agent
|
|
# Fecha: 2025-12-12
|
|
# Version: 1.0.0
|
|
# =============================================================================
|
|
|
|
version: "1.0.0"
|
|
updated: "2025-12-12"
|
|
maintainer: "DevEnv Agent"
|
|
|
|
# =============================================================================
|
|
# SERVIDORES
|
|
# =============================================================================
|
|
|
|
servers:
|
|
main:
|
|
ip: "72.60.226.4"
|
|
hostname: "isem-main"
|
|
purpose: "Servidor principal multi-proyecto"
|
|
services:
|
|
- nginx
|
|
- jenkins
|
|
- docker
|
|
- postgresql
|
|
- redis
|
|
- gitea
|
|
projects:
|
|
- trading-platform
|
|
- erp-suite
|
|
- platform-marketing-content
|
|
- betting-analytics
|
|
- inmobiliaria-analytics
|
|
|
|
gamilit:
|
|
ip: "74.208.126.102"
|
|
hostname: "gamilit-prod"
|
|
purpose: "Servidor dedicado Gamilit"
|
|
services:
|
|
- nginx
|
|
- pm2
|
|
- postgresql
|
|
projects:
|
|
- gamilit
|
|
|
|
# =============================================================================
|
|
# REPOSITORIOS GIT
|
|
# =============================================================================
|
|
|
|
repositories:
|
|
gamilit:
|
|
url: "https://github.com/rckrdmrd/gamilit-workspace.git"
|
|
type: "github"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
|
|
trading-platform:
|
|
url: "http://72.60.226.4:3000/rckrdmrd/trading-platform.git"
|
|
type: "gitea"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
status: "pendiente_crear"
|
|
|
|
erp-suite:
|
|
url: "http://72.60.226.4:3000/rckrdmrd/erp-suite.git"
|
|
type: "gitea"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
status: "pendiente_crear"
|
|
|
|
platform-marketing-content:
|
|
url: "http://72.60.226.4:3000/rckrdmrd/pmc.git"
|
|
type: "gitea"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
status: "pendiente_crear"
|
|
|
|
betting-analytics:
|
|
url: "http://72.60.226.4:3000/rckrdmrd/betting-analytics.git"
|
|
type: "gitea"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
status: "reservado"
|
|
|
|
inmobiliaria-analytics:
|
|
url: "http://72.60.226.4:3000/rckrdmrd/inmobiliaria-analytics.git"
|
|
type: "gitea"
|
|
branch_prod: "main"
|
|
branch_staging: "develop"
|
|
status: "reservado"
|
|
|
|
# =============================================================================
|
|
# SUBDOMINIOS Y DNS
|
|
# =============================================================================
|
|
|
|
domains:
|
|
base_domain: "isem.dev"
|
|
|
|
assignments:
|
|
# Gamilit (servidor independiente)
|
|
gamilit:
|
|
frontend: "gamilit.com"
|
|
frontend_alt: "app.gamilit.com"
|
|
backend: "api.gamilit.com"
|
|
server: "74.208.126.102"
|
|
|
|
# Trading Platform
|
|
trading-platform:
|
|
frontend: "trading.isem.dev"
|
|
backend: "api.trading.isem.dev"
|
|
websocket: "ws.trading.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
# ERP Suite
|
|
erp-core:
|
|
frontend: "erp.isem.dev"
|
|
backend: "api.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-construccion:
|
|
frontend: "construccion.erp.isem.dev"
|
|
backend: "api.construccion.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-vidrio:
|
|
frontend: "vidrio.erp.isem.dev"
|
|
backend: "api.vidrio.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-mecanicas:
|
|
frontend: "mecanicas.erp.isem.dev"
|
|
backend: "api.mecanicas.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-retail:
|
|
frontend: "retail.erp.isem.dev"
|
|
backend: "api.retail.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-clinicas:
|
|
frontend: "clinicas.erp.isem.dev"
|
|
backend: "api.clinicas.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
erp-pos:
|
|
frontend: "pos.erp.isem.dev"
|
|
backend: "api.pos.erp.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
# Platform Marketing Content
|
|
pmc:
|
|
frontend: "pmc.isem.dev"
|
|
backend: "api.pmc.isem.dev"
|
|
server: "72.60.226.4"
|
|
|
|
# Betting Analytics (reservado)
|
|
betting:
|
|
frontend: "betting.isem.dev"
|
|
backend: "api.betting.isem.dev"
|
|
server: "72.60.226.4"
|
|
status: "reservado"
|
|
|
|
# Inmobiliaria Analytics (reservado)
|
|
inmobiliaria:
|
|
frontend: "inmobiliaria.isem.dev"
|
|
backend: "api.inmobiliaria.isem.dev"
|
|
server: "72.60.226.4"
|
|
status: "reservado"
|
|
|
|
# =============================================================================
|
|
# MATRIZ DE PUERTOS (PRODUCCIÓN)
|
|
# =============================================================================
|
|
|
|
ports_production:
|
|
# Gamilit (74.208.126.102)
|
|
gamilit:
|
|
frontend: 3005
|
|
backend: 3006
|
|
db: 5432
|
|
|
|
# Trading Platform (72.60.226.4)
|
|
trading-platform:
|
|
frontend: 3080
|
|
backend: 3081
|
|
websocket: 3082
|
|
ml_engine: 3083
|
|
data_service: 3084
|
|
llm_agent: 3085
|
|
trading_agents: 3086
|
|
ollama_webui: 3087
|
|
db: 5432
|
|
redis: 6379
|
|
|
|
# ERP Suite (72.60.226.4)
|
|
erp-core:
|
|
frontend: 3010
|
|
backend: 3011
|
|
db: 5432
|
|
|
|
erp-construccion:
|
|
frontend: 3020
|
|
backend: 3021
|
|
db: 5433
|
|
redis: 6380
|
|
|
|
erp-vidrio:
|
|
frontend: 3030
|
|
backend: 3031
|
|
db: 5434
|
|
redis: 6381
|
|
|
|
erp-mecanicas:
|
|
frontend: 3040
|
|
backend: 3041
|
|
db: 5432
|
|
|
|
erp-retail:
|
|
frontend: 3050
|
|
backend: 3051
|
|
db: 5436
|
|
redis: 6383
|
|
|
|
erp-clinicas:
|
|
frontend: 3060
|
|
backend: 3061
|
|
db: 5437
|
|
redis: 6384
|
|
|
|
erp-pos:
|
|
frontend: 3070
|
|
backend: 3071
|
|
db: 5433
|
|
|
|
# PMC (72.60.226.4)
|
|
pmc:
|
|
frontend: 3110
|
|
backend: 3111
|
|
db: 5432
|
|
minio_api: 9000
|
|
minio_console: 9001
|
|
comfyui: 8188
|
|
|
|
# Reservados
|
|
betting:
|
|
frontend: 3090
|
|
backend: 3091
|
|
db: 5438
|
|
|
|
inmobiliaria:
|
|
frontend: 3100
|
|
backend: 3101
|
|
db: 5439
|
|
|
|
# =============================================================================
|
|
# BASES DE DATOS PRODUCCIÓN
|
|
# =============================================================================
|
|
|
|
databases_production:
|
|
# Servidor 74.208.126.102
|
|
gamilit:
|
|
host: "localhost"
|
|
port: 5432
|
|
name: "gamilit_platform"
|
|
user: "gamilit_user"
|
|
server: "74.208.126.102"
|
|
|
|
# Servidor 72.60.226.4
|
|
trading-platform:
|
|
host: "localhost"
|
|
port: 5432
|
|
name: "orbiquant_platform"
|
|
user: "orbiquant_user"
|
|
server: "72.60.226.4"
|
|
|
|
erp-suite:
|
|
host: "localhost"
|
|
port: 5432
|
|
name: "erp_generic"
|
|
user: "erp_admin"
|
|
server: "72.60.226.4"
|
|
|
|
pmc:
|
|
host: "localhost"
|
|
port: 5432
|
|
name: "pmc_prod"
|
|
user: "pmc_user"
|
|
server: "72.60.226.4"
|
|
|
|
# =============================================================================
|
|
# MÉTODOS DE DESPLIEGUE POR PROYECTO
|
|
# =============================================================================
|
|
|
|
deployment_methods:
|
|
# GAMILIT - Usa PM2 (NO Jenkins)
|
|
gamilit:
|
|
method: "pm2"
|
|
server: "74.208.126.102"
|
|
user: "isem"
|
|
repo: "https://github.com/rckrdmrd/gamilit-workspace.git"
|
|
deploy_path: "/home/isem/workspace/workspace-gamilit/gamilit/projects/gamilit"
|
|
ecosystem_file: "ecosystem.config.js"
|
|
commands:
|
|
deploy: "git pull && npm install && npm run build:all && pm2 reload ecosystem.config.js --env production && pm2 save"
|
|
restart: "pm2 restart all"
|
|
stop: "pm2 stop all"
|
|
status: "pm2 status"
|
|
logs: "pm2 logs"
|
|
processes:
|
|
- name: "gamilit-backend"
|
|
port: 3006
|
|
instances: 2
|
|
mode: "cluster"
|
|
- name: "gamilit-frontend"
|
|
port: 3005
|
|
instances: 1
|
|
mode: "fork"
|
|
|
|
# DEMÁS PROYECTOS - Usan Jenkins + Docker
|
|
trading-platform:
|
|
method: "jenkins-docker"
|
|
server: "72.60.226.4"
|
|
jenkins_job: "trading-platform"
|
|
|
|
erp-suite:
|
|
method: "jenkins-docker"
|
|
server: "72.60.226.4"
|
|
jenkins_job: "erp-suite"
|
|
|
|
pmc:
|
|
method: "jenkins-docker"
|
|
server: "72.60.226.4"
|
|
jenkins_job: "pmc"
|
|
|
|
betting-analytics:
|
|
method: "jenkins-docker"
|
|
server: "72.60.226.4"
|
|
jenkins_job: "betting-analytics"
|
|
status: "reservado"
|
|
|
|
inmobiliaria-analytics:
|
|
method: "jenkins-docker"
|
|
server: "72.60.226.4"
|
|
jenkins_job: "inmobiliaria-analytics"
|
|
status: "reservado"
|
|
|
|
# =============================================================================
|
|
# CI/CD JENKINS (Solo para proyectos en 72.60.226.4)
|
|
# =============================================================================
|
|
# NOTA: Gamilit NO usa Jenkins, usa PM2 directamente en 74.208.126.102
|
|
|
|
jenkins:
|
|
url: "http://72.60.226.4:8080"
|
|
note: "Solo para proyectos desplegados en 72.60.226.4. Gamilit usa PM2."
|
|
|
|
jobs:
|
|
trading-platform:
|
|
- name: "trading-platform-backend"
|
|
type: "pipeline"
|
|
trigger: "webhook"
|
|
branch: "main"
|
|
- name: "trading-platform-frontend"
|
|
type: "pipeline"
|
|
trigger: "webhook"
|
|
branch: "main"
|
|
|
|
erp-suite:
|
|
- name: "erp-core"
|
|
type: "multibranch"
|
|
trigger: "webhook"
|
|
- name: "erp-verticales"
|
|
type: "multibranch"
|
|
parameters:
|
|
- vertical: ["construccion", "vidrio", "mecanicas", "retail", "clinicas"]
|
|
|
|
pmc:
|
|
- name: "pmc-backend"
|
|
type: "pipeline"
|
|
trigger: "webhook"
|
|
- name: "pmc-frontend"
|
|
type: "pipeline"
|
|
trigger: "webhook"
|
|
|
|
shared_libraries:
|
|
- deployNode
|
|
- deployDocker
|
|
- notifySlack
|
|
- healthCheck
|
|
|
|
# =============================================================================
|
|
# DOCKER REGISTRY
|
|
# =============================================================================
|
|
|
|
docker_registry:
|
|
url: "72.60.226.4:5000"
|
|
protocol: "https"
|
|
|
|
images:
|
|
- "trading-platform-backend"
|
|
- "trading-platform-frontend"
|
|
- "erp-core-backend"
|
|
- "erp-core-frontend"
|
|
- "erp-construccion-backend"
|
|
- "erp-construccion-frontend"
|
|
- "pmc-backend"
|
|
- "pmc-frontend"
|
|
|
|
# =============================================================================
|
|
# NGINX UPSTREAMS
|
|
# =============================================================================
|
|
|
|
nginx:
|
|
config_path: "/etc/nginx"
|
|
upstreams_path: "/etc/nginx/upstreams"
|
|
sites_path: "/etc/nginx/conf.d"
|
|
|
|
ssl:
|
|
certificate: "/etc/letsencrypt/live/isem.dev/fullchain.pem"
|
|
certificate_key: "/etc/letsencrypt/live/isem.dev/privkey.pem"
|
|
protocols: "TLSv1.2 TLSv1.3"
|
|
|
|
# =============================================================================
|
|
# VARIABLES DE ENTORNO POR AMBIENTE
|
|
# =============================================================================
|
|
|
|
environments:
|
|
development:
|
|
suffix: ".dev"
|
|
ssl: false
|
|
debug: true
|
|
log_level: "debug"
|
|
swagger: true
|
|
|
|
staging:
|
|
suffix: ".staging"
|
|
ssl: true
|
|
debug: true
|
|
log_level: "info"
|
|
swagger: true
|
|
|
|
production:
|
|
suffix: ""
|
|
ssl: true
|
|
debug: false
|
|
log_level: "warn"
|
|
swagger: false
|
|
|
|
# =============================================================================
|
|
# CHECKLIST DE IMPLEMENTACIÓN
|
|
# =============================================================================
|
|
|
|
implementation_checklist:
|
|
fase_1_infraestructura:
|
|
- task: "Instalar Docker y Docker Compose"
|
|
server: "72.60.226.4"
|
|
status: "pendiente"
|
|
- task: "Configurar Docker Registry"
|
|
server: "72.60.226.4"
|
|
status: "pendiente"
|
|
- task: "Instalar Jenkins"
|
|
server: "72.60.226.4"
|
|
status: "pendiente"
|
|
- task: "Configurar Nginx"
|
|
server: "72.60.226.4"
|
|
status: "pendiente"
|
|
- task: "Obtener SSL wildcard"
|
|
domain: "*.isem.dev"
|
|
status: "pendiente"
|
|
|
|
fase_2_repositorios:
|
|
- task: "Crear repo trading-platform en Gitea"
|
|
status: "pendiente"
|
|
- task: "Crear repo erp-suite en Gitea"
|
|
status: "pendiente"
|
|
- task: "Crear repo pmc en Gitea"
|
|
status: "pendiente"
|
|
- task: "Migrar código de monorepo"
|
|
status: "pendiente"
|
|
|
|
fase_3_cicd:
|
|
- task: "Configurar jobs Jenkins"
|
|
status: "pendiente"
|
|
- task: "Configurar webhooks Gitea"
|
|
status: "pendiente"
|
|
- task: "Probar pipelines staging"
|
|
status: "pendiente"
|
|
|
|
fase_4_despliegue:
|
|
- task: "Desplegar trading-platform"
|
|
status: "pendiente"
|
|
- task: "Desplegar erp-suite"
|
|
status: "pendiente"
|
|
- task: "Desplegar pmc"
|
|
status: "pendiente"
|
|
- task: "Verificar health checks"
|
|
status: "pendiente"
|
|
|
|
# =============================================================================
|
|
# REFERENCIAS
|
|
# =============================================================================
|
|
|
|
references:
|
|
ports_inventory: "@DEVENV_PORTS"
|
|
deployment_docs: "core/orchestration/deployment/DEPLOYMENT-ARCHITECTURE.md"
|
|
nginx_configs: "core/orchestration/deployment/nginx/"
|
|
jenkins_pipelines: "core/orchestration/deployment/jenkins/"
|