93 lines
3.1 KiB
Markdown
93 lines
3.1 KiB
Markdown
# Tasks: 019-ops-console-active-operations
|
|
|
|
**Spec:** [spec.md](./spec.md) · **Plan:** [plan.md](./plan.md)
|
|
|
|
---
|
|
|
|
## F0 — Pré-deploy VM123
|
|
|
|
- [ ] T001 Inventariar VM123 no Proxmox (IP, hostname, serviços existentes)
|
|
- [ ] T002 Executar `deploy/scripts/preflight-vm123.sh` e documentar resultado
|
|
- [ ] T003 Confirmar porta livre (default 8100) ou definir `CONSOLE_HOST_PORT` no `.env`
|
|
- [ ] T004 DNS `console.ligbox.com.br` → Traefik CT114
|
|
- [ ] T005 Router Traefik → `http://10.10.10.123:8100` (ou bind local + proxy)
|
|
|
|
---
|
|
|
|
## F1 — Data model VM122
|
|
|
|
- [ ] T010 Migração SQL `chamados`, `chamado_eventos`, `runbook_execucoes`, `aprovacoes`
|
|
- [ ] T011 `chamado_aggregator.py` — regras session_id + domain + 72h
|
|
- [ ] T012 Worker hook pós-`webhook_events` insert
|
|
- [ ] T013 Gerador `public_id` `CH-YYYY-NNNNN`
|
|
- [ ] T014 Teste unitário agregação (Wazuh + onboard mesmo domínio → 1 chamado)
|
|
- [ ] T015 Extractor `chamado_observables` a partir de payloads
|
|
- [ ] T016 `chamado_notas` + append timeline
|
|
|
|
---
|
|
|
|
## F2 — API hub VM122
|
|
|
|
- [ ] T020 `GET /api/v1/chamados` com filtros
|
|
- [ ] T021 `GET /api/v1/chamados/{public_id}` — **resposta hub completa**
|
|
- [ ] T022 `POST .../assumir` + RBAC
|
|
- [ ] T023 `PATCH ...` estados
|
|
- [ ] T024 `POST .../eventos/anexar` + `POST .../notas`
|
|
- [ ] T025 `GET .../links/wazuh` deep link builder
|
|
- [ ] T026 Compat: `desk/tickets` expõe `chamado_public_id`
|
|
- [ ] T027 `scripts/verify-chamado-unico.sh`
|
|
|
|
---
|
|
|
|
## F3 — Console UI Docker VM123
|
|
|
|
- [x] T030 Scaffold React + Vite + React Router
|
|
- [x] T031 navigation-ia.md — rotas e drill-down
|
|
- [x] T032 Layout sidebar + tema tokens
|
|
- [x] T033 View Overview → links para hub
|
|
- [x] T034 View Discover → abrir hub
|
|
- [x] T035 View Chamados lista
|
|
- [x] T036 **ChamadoHub** `/chamados/:publicId` — timeline + tabs (mock)
|
|
- [ ] T037 `ObservablesPanel` drill-down real (API)
|
|
- [ ] T038 `WazuhDeepLinkButton` API
|
|
- [ ] T039 Auth JWT → API VM122
|
|
- [x] T040 Deploy Docker VM123 — **ligbox-ops-console-ui UP :8100**
|
|
- [ ] T041 Traefik console.ligbox.com.br
|
|
|
|
---
|
|
|
|
## F4 — Runbooks + aprovações
|
|
|
|
- [ ] T040 Registry runbooks MVP (8 códigos — ver spec)
|
|
- [ ] T041 `POST .../runbooks/{code}/executar`
|
|
- [ ] T042 Fila `GET /api/v1/aprovacoes`
|
|
- [ ] T043 `POST .../aprovar` e `.../rejeitar`
|
|
- [ ] T044 UI Aprovações na Console
|
|
- [ ] T045 Executores R0 (`infra_recheck`) e R1 (`traefik_cert_sync` mock)
|
|
- [ ] T046 Middleware bloqueio R3 sem dupla aprovação
|
|
|
|
---
|
|
|
|
## F5 — Assist Opção A
|
|
|
|
- [ ] T050 VM112 `GET /api/onboarding/session/{id}/ops-status` + secret LAN
|
|
- [ ] T051 VM122 poll/cache passo wizard no chamado
|
|
- [ ] T052 Console `AssistPanel` no detalhe chamado
|
|
- [ ] T053 Validar: sem senha/replay no payload
|
|
|
|
---
|
|
|
|
## F6 — Agentic + WebSocket (pós-MVP)
|
|
|
|
- [ ] T060 Políticas agentic R0/R1
|
|
- [ ] T061 Propostas runbook na fila aprovações
|
|
- [ ] T062 `WS /api/v1/chamados/{id}/live`
|
|
- [ ] T063 Console substitui poll por WebSocket
|
|
|
|
---
|
|
|
|
## Cutover
|
|
|
|
- [ ] T070 Redirect `desk.ligbox.com.br` → `console.ligbox.com.br`
|
|
- [ ] T071 Documentar rollback (`docker compose -f ... down` só stack console)
|
|
- [ ] T072 Actualizar `docs/network/INTERFACES_PROXMOX.md` com VM123 Console
|