5.1 KiB
5.1 KiB
Anais de Referência — Serviços MOSP, Orquestração VM122, Purge SSE/Jobs
Data: 2026-06-16
Utilizador: Roger
Transcript Cursor: ad3c7400-04ce-47bf-8995-2861d54a831b
Projeto: Ligbox Ops Platform · Desk VM122 (10.10.10.122:8091) + Wizard VM112 (10.10.10.112)
Chat bruto: CHAT_BRUTO_LIGBOX_OPS_SERVICOS_ORQUESTRACAO_PURGE_20260616.{txt,jsonl}
1. Resumo executivo
Sessão focada em orquestração MOSP no Desk (não no wizard VM112):
- Página Serviços (ex-Contas/Overview Home) — clientes + tenants de oferta + purge Spec 017.
- Spec 018 — modelo Pizza as a Service / MOSP / catálogo multi-produto.
- Purge com painel lateral timeline + SSE + jobs async/polling (fix 504 / Failed to fetch).
- Purges testados:
dratcoin.com,eplacebets.com— UI falhou mas backend concluiu. - Fase 3 pendente VM112 — passos Carbonio/CF/Traefik em tempo real dentro do purge.
2. Specs criadas/actualizadas
| Spec | Path | Estado |
|---|---|---|
| 017 | specs/017-vm112-domain-orchestration/spec.md |
Purge domínio — Fase 1 concluída |
| 018 | specs/018-service-orchestration/spec.md |
MOSP, Pizza as a Service, Fase 1 UI |
3. UI Desk — menu Serviços
| Item | Valor |
|---|---|
| Módulo ID | overview-home (sem breaking change) |
| Menu | Serviços |
| Título | Orquestração de Serviços |
| Subtítulo | Desk VM122 · Orquestração MOSP |
| Layout | 3 colunas: Clientes · Tenants de Oferta · Escopo OPS |
Ficheiros principais:
frontend/assets/accounts.js→DeskServicesfrontend/assets/styles.css→.servicos-*,.vm112-purge-drawerfrontend/index.html→ modal + drawer purgeapi/app/modules/registry.py
Regra: cada oferta MOSP terá wizard próprio; VM112 Hero = só e-mail.
4. API Desk — domínios VM112
| Método | Path | Uso |
|---|---|---|
| GET | /api/v1/vm112/domains |
Lista clientes Fase 1 |
| GET | /api/v1/vm112/domains/{domain} |
Detalhe modal |
| POST | /api/v1/vm112/domains/{domain}/purge |
Purge síncrono (legado) |
| POST | /api/v1/vm112/domains/{domain}/purge/stream |
SSE timeline |
| POST | /api/v1/vm112/domains/{domain}/purge/jobs |
Recomendado — job async |
| GET | /api/v1/vm112/purge/jobs/{job_id} |
Poll timeline 2s |
Ficheiros API:
api/app/vm112_domains.pyapi/app/vm112_domains_routes.pyapi/app/vm112_purge_stream.pyapi/app/vm112_purge_jobs.py
RBAC: super_admin, ops_lead + senha Root no purge.
Blocklist: ligbox.com.br, itecnologys.com
5. Purge — incidentes e fixes
504 Gateway Timeout (~60s)
- Causa: nginx proxy timeout 60s; purge VM112 demora minutos.
- Fix:
frontend/nginx.conf→proxy_read_timeout 600s,proxy_buffering off.
Failed to fetch (~79s) via desk.ligbox.com.br
- Causa: Traefik/SSE ligação longa cortada; browser perde stream.
- Fix: purge async jobs + polling (pedidos curtos GET a cada 2s).
- Nota: purge concluiu mesmo com erro UI (
dratcoin,eplacebetssumiram da lista).
Poll automático página Serviços (piscava)
- Causa:
refresh()30s re-renderizava com «A carregar…» - Fix: poll silencioso em
renderPage({ poll: true })
6. Domínios VM112 (fim de sessão)
Após purges teste, lista típica:
betinsport.com,diarissima.com,ibytera.com,itecnologys.com,myvexx.com- Removidos:
dratcoin.com,eplacebets.com(testes purge)
7. Deploy
cd /opt/ligbox-ops-platform
docker-compose -f docker-compose.mvp.yml build api frontend
docker-compose -f docker-compose.mvp.yml up -d api frontend
URLs:
- Desk:
http://10.10.10.122:8091/https://desk.ligbox.com.br - API:
http://10.10.10.122:8080 - Wizard:
https://onboard.ligbox.com.br(VM112)
Hard refresh: Ctrl+Shift+R após deploy.
8. Reteste E2E wizard e-mail
- Desk → Serviços → purge domínio teste (se existir)
- Portal onboard → Self-Service →
/onboard - Domínio → DNS → conta → infra
- Desk → Serviços → Actualizar → cliente reaparece
9. Próximo passo — VM112 (Fase 3)
Não implementado nesta sessão (sem SSH VM112):
domain_orchestration.py— purge passo a passo com eventosPOST /api/admin/domains/{domain}/purge/jobsna VM112- Desk proxy eventos VM112 para drawer timeline
Path produção VM112: /opt/ligbox-wizard
SSH: root@10.10.10.112 (credencial user rule: @betinplace)
10. Canais de arquivo
| Canal | Path |
|---|---|
| Anais VM122 | /opt/ligbox-ops-platform/docs/anais-referencia/ |
| Chat bruto projeto | /opt/ligbox-ops-platform/chat-bruto/ |
| Chat bruto central | /root/ligbox-ops-platform-chat-bruto/ |
| Obsidian | /root/obsidian-infra/ligbox-ops-platform/ |
| LAPTOP | /opt/ligbox-ops-platform/LAPTOP/ |
11. Decisões Roger (registo)
- MOSP planeado no Desk VM122, não na Hero VM112.
- Cada oferta = wizard próprio (Proxmox, servidor físico, etc.).
- Modelo comercial Pizza as a Service documentado na Spec 018.
- Purge Spec 017 mantido; UI evolui (drawer + jobs).