MIGRAÇÃO COMPLETA: Sistema antigo → Kernel Nativo (porta 5001)
📁 Arquivos alterados:
- server/engine-room/kernel-adapter.ts (NOVO)
- server/engine-room/routes.ts
- server/kernel/config/services.json
🔧 O que mudou no Kernel (services.json):
+ Adicionado: python-fisco (porta 8002)
+ Corrigido: node-communication (8006, era 9001)
+ Adicionado: node-core-api (9002)
+ Adicionado: node-worker (9003)
- Removido: java-metaset (gerenciado externamente)
Total: 6 → 7 serviços gerenciados pelo Kernel
🔄 Engine Room - Novo comportamento:
- Todas as rotas /api/engine-room/* agora usam Kernel Adapter
- Sistema antigo (managedServices) mantido em comentário para fallback
- Verificação automática se Kernel está disponível
- Retorna erro 503 se Kernel não responde na porta 5001
📊 Mapeamento de serviços:
Engine Room → Kernel ID
────────────────────────────────────────
contabil → python-contabil
bi-engine → python-bi
automation-engine → python-automation
fisco → python-fisco
communication → node-communication
🚫 Serviços externos (não gerenciados pelo Kernel):
- plus (PHP/Laravel, porta 8080)
- metaset (Java, porta 8088)
✨ Benefícios:
- Auto-restart configurável por serviço
- Health checks automáticos
- Logs centralizados com timestamps
- WebSocket para atualizações em tempo real
- Dashboard na porta 5001
⚠️ Pré-requisito:
KERNEL_ENABLED=true npm run dev
Refs: Semana 4 - Integração Kernel com Engine Room
Breaking Change: Engine Room requer Kernel rodando
Kernel Arcadia - Sistema nativo de gerenciamento de serviços:
Core:
- ProcessManager: spawn, monitor, restart automático de serviços
- HealthMonitor: HTTP health checks com circuit breaker
- LogAggregator: coleta e streaming de logs
API & Dashboard:
- API REST /api/kernel/* para controle dos serviços
- Dashboard Web na porta 5001
- WebSocket /ws/kernel para updates em tempo real
Serviços configurados (6):
- Python: Contabil (8003), BI Engine (8004), Automation (8005)
- Node.js: Communication (9001), Core API (9002), Worker (9003)
Integração:
- server/index.ts integrado com flag KERNEL_ENABLED
- Build passando, pronto para testes
Uso:
KERNEL_ENABLED=true npm run dev
Acesse http://localhost:5001 para o dashboard