Entrega read-only de apontamentos DNS (Cloudflare, OpenPanel BIND, público) no Desk e Console /admin/dominio, com spec, scripts de rollback e patches VM112 para painel lateral no passo DNS do onboarding (deploy wizard pendente). Co-authored-by: Cursor <cursoragent@cursor.com>
2.8 KiB
2.8 KiB
Spec 037 — Plano de implementação (4 fases FECHADAS)
Roger · 2026-06-22 · Status: 🏗️ CONSTRUÇÃO ACTIVA (Fase A deploy VM112 ✅)
Todas as fases estão definidas e fechadas para execução. Ordem de construção obrigatória: A → B → C → D.
Fase A — VM112 núcleo (FastAPI + wizard)
Objectivo: Multi-conta CF, BYO, proj_*@ligbox.com.br, provision-zone, apply.
| Entrega | Path / endpoint |
|---|---|
| Registry 3 contas | dns-accounts.yaml + dns_account_registry.py |
| Resolve / BYO | GET /dns/resolve, POST /dns/cloudflare/connect-custom |
| Zona cliente | POST /dns/cloudflare/provision-zone |
| Identidade projeto | POST /project/provision-email, GET /project/{domain} |
| UI wizard | 3 caminhos DNS + painel credenciais proj_* |
| Webhook 004 | ligbox_project_email em eventos |
Critério done: onboarding completo em VM112 sem Worker edge.
Fase B — Worker orquestrador (1 Durable Object)
Objectivo: onboard-maestro DO por sessão; delega VM112 via HTTP; WebSocket wizard.
| Entrega | Path |
|---|---|
| Worker | projects/cloudflare-agents/onboard/ |
| DO | OnboardMaestro — estado sessão |
| Routes | POST /session, WS /session/{id} |
| Client | vm112_client.ts → API onboarding |
Critério done: wizard pode usar edge OU VM112 directo (feature flag).
Fase C — Multi-agent edge (4 agentes)
Objectivo: Especialização + human-in-the-loop + MCP.
| Agente DO | Tools |
|---|---|
proj-mail |
provision-email |
cf-zone |
provision-zone, apply, verify |
cf-handoff |
handoff-manager (stub → Fase D) |
onboard-maestro |
coordena + pausa humana |
Critério done: 4 passos críticos com pause/resume; eventos VM122 Spec 029.
Fase D — Conta CF dedicada por cliente
Objectivo: POST /accounts Tenant + handoff gestor.
| Entrega | Endpoint VM112 |
|---|---|
| Conta CF cliente | POST /dns/cloudflare/provision-client-account |
| Handoff | POST /dns/cloudflare/handoff-manager |
| Registo | /var/lib/ligbox-wizard/cf_client_accounts/ |
Pré-requisito: Tenant Cloudflare Ligbox activo.
Critério done: zona na conta do cliente, não na mãe ibytera.
Anexos (referência fechada)
| Doc | Conteúdo |
|---|---|
| spec.md | Visão geral |
| client-cf-account-lifecycle.md | Fase D regras |
| project-email-identity.md | Fase A identidade |
| cf-agents-sdk-architecture.md | Fases B+C |
Construção — sprint actual
[A] VM112 endpoints project + wizard UI ← AGORA
[B] Worker scaffold + wrangler
[C] Agent classes no Worker
[D] provision-client-account stub + handoff stub