7.2 KiB
7.2 KiB
layer, type, title, description, tags, timestamp
| layer | type | title | description | tags | timestamp | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| wiki | Document | PLAN — DashDescomplicar | Plano operacional do DashDescomplicar v2.7.3. Roadmap de manutenção, deploys e expansões. Ciclo PDCA: versão atual em produção, próximas iterações planejadas. |
|
2026-06-30T00:00:00+01:00 |
PLAN — DashDescomplicar
Versão Atual: 2.7.3 · Data: 2026-06-30 · Status: 🟢 Operacional
Visão Geral
Dashboard interno de monitorização operacional (React 19 + Express + TypeScript) com 8 painéis ativos. Corre em EasyPanel Swarm (easy.descomplicar.pt) com MySQL no CWP. Ciclo de releases: manutenção mensal + features trimestrais.
Roadmap Operacional (Q3-Q4 2026)
Q3 2026 — Consolidação
| Sprint | Objetivo | Proprietário | Estado |
|---|---|---|---|
| Q3-S1 (Jul) | Audit segurança completo + certificado de revisão | Claude Code | 📋 Planeado |
| Q3-S2 (Ago) | Painel Cron Dev (visibilidade de agentes cron) | Claude Code | 📋 Planeado |
| Q3-S3 (Set) | Reintrodução progressiva Paperclip (renegociação) | Claude Code | 📋 Planeado |
| Q3-S4 (Out) | Sincronização multi-máquina (HP + desktop) | Claude Code | 📋 Planeado |
Q4 2026 — Expansão Estratégica
| Sprint | Objetivo | Proprietário | Estado |
|---|---|---|---|
| Q4-S1 (Nov) | Integração Wiki Descomplicar (leitura de artigos) | Claude Code | 📋 Backlog |
| Q4-S2 (Dez) | Painel Inteligência Stack — melhorias | Claude Code | 📋 Backlog |
Ciclos de Manutenção
Semanal (2ªf)
- ✅ Verificar saúde do serviço:
curl -sf https://dash.descomplicar.pt/api/dashboard - ✅ Revisar logs de erro no EasyPanel
- ✅ Sincronização manual de sessões se necessário:
rsync -av ~/IJFW/sessions/ easy:/var/dash-sessions/
Mensal (último Fri)
- ✅ Audit de dependências:
npm audit - ✅ Atualizar ficheiro STATUS.md com métricas de uptime
- ✅ Revisar tickets de sugestões e bugs abertos
Trimestral (fim de trimestre)
- ✅ Revisão de segurança (OWASP top 10)
- ✅ Testes de carga/stress (Load testing)
- ✅ Atualização de documentação (AGENTS.md, SPEC.md, CHANGELOG.md)
- ✅ Release notes e bump de versão
Processo de Deploy
Pré-requisitos
- Branch
maindeve estar com todos os testes a passar:npm test - Lint sem erros:
npm run lint - Build local validado:
npm run build - STATUS.md actualizado com versão nova
Passos do Deploy (SSH directo no EasyPanel)
# 1. SSH para o servidor
ssh root@easy.descomplicar.pt
# 2. Navegar para a pasta do projeto
cd /etc/easypanel/projects/descomplicar/dashboard_descomplicar/code
# 3. Pull da branch main
git pull origin main
# 4. Build da imagem Docker
docker build -t easypanel/descomplicar/dashboard_descomplicar:latest .
# 5. Forçar reinicialização do serviço
docker service update --force descomplicar_dashboard_descomplicar
# 6. Verificação pós-deploy
curl -sf https://dash.descomplicar.pt/api/dashboard && echo "✅ Deploy OK" || echo "❌ Deploy FALHOU"
Tempo estimado: 3-5 minutos (pull + build + restart)
Rollback (se necessário)
# Voltar para versão anterior
git revert HEAD
git push origin main
# Repetir deploy
Estrutura de Features
Painéis Ativos (v2.7.3)
| ID | Painel | Rota | Ficheiros | Status |
|---|---|---|---|---|
| 1 | Dashboard | / |
pages/Monitor.tsx |
🟢 Activo |
| 2 | Monitor | /monitor |
pages/Monitor.tsx |
🟢 Activo |
| 3 | Financeiro | /financial |
pages/Financial.tsx |
🟢 Activo |
| 4 | MCPs | /mcps |
pages/McpMonitor.tsx |
🟢 Activo |
| 5 | n8n | /n8n |
pages/N8nMonitor.tsx |
🟢 Activo |
| 6 | Paperclip | /paperclip |
pages/Paperclip.tsx |
🟡 Suspenso |
| 7 | IA/Claude | /ai |
pages/AiOverview.tsx |
🟢 Activo |
| 8 | Operações | /operations |
pages/Operations.tsx |
🟢 Activo |
| 9 | Sessions (Observabilidade) | /sessions |
pages/Sessions.tsx + pages/SessionDetail.tsx |
🟢 Activo |
Painéis Planeados
- Cron Dev (Q3 2026) — visibilidade de agentes systemd-user cron
- Wiki Integration (Q4 2026) — busca e leitura de artigos do Hub
- Inteligência Stack (Q4 2026) — melhorias e recomendações de stack
Dependências Críticas
Infraestrutura
- EasyPanel:
easy.descomplicar.pt(5.9.90.70) — serviçodescomplicar_dashboard_descomplicar - MySQL:
176.9.3.158(CWP) — DBdesscomplicar, tabelastbl_eal_* - MCP Gateway:
gateway.descomplicar.pt— estado de 39 MCPs - Desk CRM: MySQL interno — tarefas, tickets, projecto
Serviços Externos
- n8n: workflows automação
- Moloni API: dados financeiros
- Hetzner Cloud API: métricas servidores VPS
- IJFW: sessões Claude Code (SQLite local)
- SSH (CWP + EasyPanel): coleta de métricas
Processo de Contribuição
1. Local Development
cd /media/ealmeida/Dados/Dev/DashDescomplicar
npm install
npm run dev # Vite + Express em paralelo
npm run test # Vitest
npm run lint # ESLint
2. Branch Workflow
git checkout -b feature/meu-painel
# ... fazer changes ...
npm run build # Validar build
npm run lint # Lint
npm test # Testes
git add .
git commit -m "feat: novo painel..."
git push origin feature/meu-painel
# Criar PR no Gitea
3. Code Review
- Build passa
- Lint passa
- Testes adicionados/passam
- Documentação actualizada
- Sem hardcoded secrets
- Validação Zod em todas as rotas novas
4. Merge & Deploy
Após aprovação:
git merge feature/meu-painel
git tag v2.7.4 # Nova versão
npm run build
npm start # Local test
# Seguir "Processo de Deploy" acima
Troubleshooting Rápido
Serviço não responde
# 1. SSH no EasyPanel
ssh root@easy.descomplicar.pt
# 2. Verificar logs
docker logs descomplicar_dashboard_descomplicar
# 3. Reiniciar serviço
docker service update --force descomplicar_dashboard_descomplicar
Build local falha
# Limpar cache e reinstalar
rm -rf node_modules package-lock.json
npm install
npm run build
DB não responde
# Verificar conectividade MySQL
mysql -h 176.9.3.158 -u [user] -p [pass] desscomplicar
# Se falhar, contactar administrador de infraestrutura
Métricas de Saúde
Monitorar semanalmente:
- Uptime: > 99.5% (target SLA)
- Response time: < 500ms (p95)
- Error rate: < 0.5% (5xx errors)
- DB connections: < 80% do pool máximo
- Disk space: > 10% livre em EasyPanel
- Session sync: < 5min de lag
Alertas automáticos configurados em monitor-alerts (Desk #2323 com regra DO monitor).
Contactos & Escalação
| Cenário | Contacto | Nível |
|---|---|---|
| Bug/Feature Request | Comentário em Desk #65 | Prioridade normal |
| Incidente crítico (site down) | Usar CodeRED: curl -X POST https://codered.descomplicar.pt/v1/trigger/RED-ZMT3FCU8 |
P0 |
| Questão técnica | IRC com Claude Code (DocFaseA-DashDescomplicar) |
On-demand |
| Deploy urgente | SSH directo + pós-deploy verification | On-demand |
Próxima revisão de plano: 2026-09-30 (fim Q3)