# Backlog — Ligbox Ops Platform (VM122) **Última atualização:** 2026-06-17 (Specs **014–025** + VM123 finance stack) **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 | --- ## 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** | P3 | Agentes IA + runbooks | 📋 | --- ## 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/`