Add agent_incidents dedup, overview/incidents/timeline API, mission board UI with fleet rail, kanban, context panel, mobile tabs, poll and keyboard shortcuts. Co-authored-by: Cursor <cursoragent@cursor.com>
194 lines
8 KiB
Markdown
194 lines
8 KiB
Markdown
# Backlog — Ligbox Ops Platform (VM122)
|
||
|
||
**Última atualização:** 2026-06-19 (Specs **026–032** purge extra-auth)
|
||
**Projeto:** `ligbox-ops-platform`
|
||
**VM122:** `ligbox-ops` · `10.10.10.122` · SSH WAN `:2522`
|
||
**VM112:** Portal/Wizard — integração **API + webhooks** (fora do compose)
|
||
**VM123:** Finance stack — FOSSBilling + Odoo 16 + OpenPanel · SSH WAN `:2523`
|
||
|
||
**Visão:** `docs/architecture/VISAO_PLATAFORMA_LIGBOX_OPS.md`
|
||
**Specs:** `specs/` (Spec Kit)
|
||
|
||
---
|
||
|
||
## Legenda
|
||
|
||
| Prioridade | Significado |
|
||
|------------|-------------|
|
||
| **P0** | Bloqueia MVP / produção |
|
||
| **P1** | Sprint actual |
|
||
| **P2** | Importante, pós-MVP |
|
||
| **P3** | Futuro |
|
||
|
||
| Estado | Significado |
|
||
|--------|-------------|
|
||
| 📋 | Backlog |
|
||
| 🔄 | Em curso |
|
||
| ✅ | Concluído |
|
||
| 🔀 | Consolidada noutra spec |
|
||
|
||
---
|
||
|
||
## Decisões fechadas
|
||
|
||
| Data | Tema | Decisão |
|
||
|------|------|---------|
|
||
| 2026-06-04 | VM alvo | Ops na VM113 (plano inicial) |
|
||
| 2026-06-08 | VM alvo | **VM122** criada (8 GB, SQLite MVP) |
|
||
| 2026-06-08 | Storage | SQLite no MVP (sem Postgres) |
|
||
| 2026-06-08 | VM112 | **Não** entra no compose — só API/webhooks |
|
||
| 2026-06-10 | Mail Desk | **VM108** `@ligbox.com.br` via LMTP |
|
||
| 2026-06-10 | Spec 007 | Push mobile/web — draft (ntfy + PWA) |
|
||
| 2026-06-10 | Spec 010 | Assist/takeover ASM — **P0**, decisões Roger fechadas |
|
||
| 2026-06-10 | Spec 011 | OTRS VM112 — stub futuro (pós 010) |
|
||
| 2026-06-10 | Ticket onboarding | **1 ticket em `onboarding.started`** no «Criar conta» VM112 |
|
||
| 2026-06-10 | Spec 012 | Abandono → Lead CRM — Fase A+B ✅ |
|
||
| 2026-06-10 | Spec 013 | Migração e-mail — **migrar antes do DNS** |
|
||
| 2026-06-16 | Spec 015 | Módulos Desk — activar/desactivar sem quebrar núcleo |
|
||
| 2026-06-16 | Spec 017/018 | Purge VM112 + Orquestração Serviços (MOSP) |
|
||
| 2026-06-17 | Spec 023 | Billing Desk Fase 1 — Odoo primário, gateway fase 2 |
|
||
| 2026-06-17 | Spec 024 | VM123 FOSS + Odoo + OpenPanel · Opção B domínios ligbox |
|
||
| 2026-06-17 | Spec 025 | Onboarding contínuo — Fase 1 idempotência create |
|
||
|
||
---
|
||
|
||
## Specs concluídas
|
||
|
||
| # | Feature | Notas |
|
||
|---|---------|-------|
|
||
| **001** | `webhook-vm112-integration` | Funil + company gate + tickets |
|
||
| **002** | `wazuh-integration` | Ingress genérico + VM104 |
|
||
| **003** | `desk-auth-rbac` | Login JWT, root/admin/mini/noc |
|
||
| **004** | `desk-account-management` | Cadastro · VM108 · 2-de-3 · TOTP · pt-BR |
|
||
| **022** | `carbonio-account-exists-release` | Bloqueios Carbonio + zmprov VM112 |
|
||
|
||
**API:** `0.9.6-spec019-023`
|
||
**URLs:** `desk.ligbox.com.br` · `api.ops.ligbox.com.br` · `financeiro.ligbox.com.br` · `openpanel.ligbox.com.br`
|
||
|
||
---
|
||
|
||
## Fila Spec Kit (014–025)
|
||
|
||
| # | Feature | Prioridade | Estado | Pendente principal |
|
||
|---|---------|------------|--------|-------------------|
|
||
| **007** | `mobile-push-notifications` | P1 | 📋 | Fases A–C (ntfy + PWA) |
|
||
| **010** | `desk-assist-takeover` | **P0** | 🔄 | Fase D: push 007, auto-escalada |
|
||
| **011** | `integration-otrs` | P2 | 📋 | Stub futuro |
|
||
| **012** | `abandoned-onboarding-lead` | P1 | 🔄 | Fase C outreach · Fase D CRM |
|
||
| **013** | `email-server-migration` | P0 | 📋 | Design completo — execução em 019 |
|
||
| **014** | `funnel-phase-timing` | P1 | 🔄 | Validação E2E formal |
|
||
| **015** | `desk-module-registry` | P0 | 🔄 | Evolução modular contínua |
|
||
| **016** | `onboard-self-service-prefill` | P0 | 🔄 | Regressão UX / testes |
|
||
| **017** | `vm112-domain-orchestration` | P1 | 🔄 | Fase 3 VM112 passos tempo real |
|
||
| **018** | `service-orchestration` | P1 | 🔄 | Fase 2 API clients · Fase 3 multi-wizard |
|
||
| **019** | `email-migration-vm122-execution` | P0 | 🔄 | PST upload · hook VM112 · piloto |
|
||
| **020** | `purge-history-desk` | — | 🔀 | Consolidada na **017 v2** |
|
||
| **021** | `wizard-cybersecurity-telemetry` | P1 | 🔄 | Deploy middleware VM112 · push ntfy |
|
||
| **023** | `billing-recurrence-desk-visibility` | P1 | 🔄 | **Fase 1 ✅** · Fase 2 gateway ASAAS/Iugu |
|
||
| **024** | `openpanel-fossbilling` | P1 | ✅ | v1 piloto concluído 17/06 |
|
||
| **025** | `wizard-onboarding-continuity` | **P0** | 🔄 | **Fase 1 ✅** · Fase 2 resume + RAM 16GB |
|
||
| **026** | `purge-traefik-validation` | **P0** | ✅ | YAML seguro + smoke onboard pós-purge |
|
||
| **032** | `purge-domain-extra-auth` | P1 | ✅ | Códigos Infra · myvexx.com · ver spec |
|
||
|
||
---
|
||
|
||
## Track A — Auditoria & Ops Dashboard
|
||
|
||
| ID | P | Item | Estado |
|
||
|----|---|------|--------|
|
||
| **OPS-1** | P0 | VM Ops (VM122) Debian 12 + fail2ban | ✅ |
|
||
| **OPS-2** | P0 | `docker-compose.mvp.yml` | ✅ |
|
||
| **OPS-3** | P0 | `tenant-registry` (VM112 = 1º nó) | ✅ |
|
||
| **OPS-7** | P1 | VM123 finance stack (Spec 024) | ✅ |
|
||
| **AUD-1** | P0 | Collectors: Carbonio, DNS, nginx | 🔄 parcial |
|
||
| **AUD-2** | P0 | UI `/ops/overview` + API scorecard | 🔄 parcial |
|
||
| **AUD-3** | P1 | Scorecard por domínio (8 checks) | 🔄 |
|
||
| **MIG-1** | **P0** | Módulo migração e-mail (Spec 013/019) | 🔄 MVP |
|
||
| **MIG-2** | **P0** | Gate DNS — migrar antes de MX | 🔄 gate OK |
|
||
| **MIG-3** | P0 | Pipeline PST (readpst + imap-upload) | 📋 |
|
||
| **WZ-1** | P1 | Wazuh agent EmailServers + VM123 | 🔄 VM123 ✅ |
|
||
| **WZ-2** | P2 | UI Wazuh filtro origem | ✅ |
|
||
|
||
---
|
||
|
||
## Track B — Support Desk
|
||
|
||
| ID | P | Item | Estado |
|
||
|----|---|------|--------|
|
||
| **DESK-1** | P0 | UI tickets + timeline | ✅ MVP |
|
||
| **DESK-2** | P0 | Modelo tickets + estados SQLite | ✅ |
|
||
| **INT-2** | P0 | Webhooks VM112 → VM122 | ✅ |
|
||
| **DESK-4** | **P0** | Assist/takeover ASM — Spec 010 A+B+C+F | 🔄 |
|
||
| **DESK-5** | P1 | Orquestração Serviços MOSP (018) | 🔄 Fase 1 |
|
||
| **DESK-6** | P1 | Billing visibilidade 💳 (023 Fase 1) | ✅ |
|
||
| **INT-1** | P2 | OTRS API bridge — Spec 011 | 📋 |
|
||
| **DESK-3** | P2 | Kanban, SLA (após Spec 010) | 📋 → Spec 008 |
|
||
| **AG-1** | P1 | Agentes IA + runbooks (Spec 029) | ✅ prod `0.9.7` |
|
||
| **AG-2** | P1 | Agentic Ops UI Mission Board (Spec 030) | ✅ prod |
|
||
|
||
---
|
||
|
||
## Track RBAC & Auth
|
||
|
||
| ID | P | Item | Estado |
|
||
|----|---|------|--------|
|
||
| **OPS-4** | P0 | RBAC: super_admin, ops_lead, technician, noc | ✅ |
|
||
| **OPS-6** | P0 | Auth JWT Desk (login UI) | ✅ |
|
||
| **OPS-5** | P2 | Roles client_domain_admin (futuro) | 📋 |
|
||
|
||
### Utilizadores Desk (VM122)
|
||
|
||
| User | Role | Função |
|
||
|------|------|--------|
|
||
| `root` | super_admin | Roger — tudo |
|
||
| `admin` | ops_lead | Chefe ops |
|
||
| `mini` | technician | Suporte N1/N2 |
|
||
| `noc` | noc | Monitorização (leitura) |
|
||
|
||
---
|
||
|
||
## VM123 — Finance Stack (Spec 024)
|
||
|
||
| Serviço | URL | Estado |
|
||
|---------|-----|--------|
|
||
| FOSSBilling Admin | `https://financeiro.ligbox.com.br/admin` | ✅ HTTPS |
|
||
| FOSSBilling Cliente | `https://financeiro.ligbox.com.br/login` | ✅ |
|
||
| Odoo 16 | `https://financeiro.ligbox.com.br/odoo/web/login?db=ligbox` | ✅ |
|
||
| OpenPanel | `https://openpanel.ligbox.com.br` | ✅ |
|
||
| OpenAdmin | `https://admin.openpanel.ligbox.com.br` | ✅ |
|
||
| Bridge Community API | `http://10.10.10.123:18087` | ✅ |
|
||
|
||
**Credenciais:** `deploy/vm123-finance-stack/CREDENCIAIS_SERVICOS_VM123.txt`
|
||
|
||
---
|
||
|
||
## Prioridades P0/P1 — próximo sprint
|
||
|
||
1. **025 Fase 2** — resume wizard + VM112 16 GB + Traefik YAML validation
|
||
2. **025 Fase 2** — resume wizard + VM112 16 GB + Traefik YAML validation
|
||
3. **023 Fase 2** — gateway pagamento (ASAAS vs Iugu)
|
||
4. **019** — piloto migração real + hook VM112 gate DNS
|
||
5. **018 Fase 2** — API `clients` + `service_instances`
|
||
6. **012 Fase C** — outreach abandonos
|
||
7. **007** — push ntfy (desbloqueia 010-D e 021)
|
||
|
||
---
|
||
|
||
## Portal VM112 (repo separado)
|
||
|
||
| ID | Item | Estado |
|
||
|----|------|--------|
|
||
| OPS-1/2 diarissima | DNS + LE + webmail | ✅ |
|
||
| WIZ-025 | Onboarding contínuo Fase 1 | ✅ |
|
||
| SUP-3.2 | OTRS no `/escalate` | 📋 → Spec **011** |
|
||
| SUP-4.1/4.2 | Painel humano ASM + SLA cliente | 📋 → Spec **010** |
|
||
| PRD-3 | Painel corporativo UI | 📋 |
|
||
|
||
---
|
||
|
||
## Como actualizar
|
||
|
||
- Spec concluída → actualizar esta tabela + `specs/NNN/tasks.md`
|
||
- Sync Obsidian: `rsync -av /opt/ligbox-ops-platform/ /root/obsidian-infra/ligbox-ops-platform/`
|
||
- GitHub: `itecnologys/ligbox-ops-platform`
|
||
- Deploy VM122: `/opt/ligbox-ops-platform/`
|