# Spec 028 — Adendo: Teste de Confirmação API Multidomínio **Criado:** 2026-06-19 **Solicitado por:** Roger **Status:** ✅ Implementado **Relacionado:** Spec 028 (OpenPanel CE Ligbox Re-engenharia) --- ## Objetivo Permitir validar **quantas vezes quiser** que a re-engenharia OpenPanel Ligbox está operacional: - Desk API → Bridge `:18087` → `opencli user-add` + `domains-add` - Suporte **multidomínio na plataforma** (2 contas / 2 domínios via API) - Cleanup automático da conta de teste --- ## Onde executar | Canal | Como | |-------|------| | **Menu Infra (Desk)** | Infraestrutura → card *OpenPanel API* → **Testar multidomínio** | | **Script CLI** | `scripts/test-openpanel-multidomain-api.sh` | | **API directa** | `POST /api/v1/vm123/openpanel/test-confirm` | --- ## Menu Infra (Desk VM122) 1. Login em https://desk.ligbox.com.br 2. Menu lateral → **Infraestrutura** 3. Card **OpenPanel API — Re-engenharia Ligbox** 4. Botão **Testar multidomínio** 5. Modal com passo-a-passo e resultado (OK/FAIL por step) **Perfis autorizados:** `super_admin`, `devops`, `developer` --- ## Script CLI (repetível) ### Via Desk API (recomendado) ```bash cd /opt/ligbox-ops-platform # ou clone local DESK_PASS='sua_senha_desk' bash scripts/test-openpanel-multidomain-api.sh ``` ### Via bridge directo (sem Desk) ```bash MODE=bridge bash scripts/test-openpanel-multidomain-api.sh ``` Variáveis opcionais: | Variável | Default | |----------|---------| | `API_URL` | `http://10.10.10.122:8080` | | `DESK_USER` | `root` | | `BRIDGE_URL` | `http://10.10.10.123:18087` | | `BRIDGE_TOKEN` | `ligbox-community-bridge-token` | --- ## Suite de testes (7 passos) | # | Step | O que valida | |---|------|--------------| | 1 | `bridge_health` | Bridge `:18087` responde `ligbox-v2` | | 2 | `list_users` | API lista contas existentes | | 3 | `get_reference_user` | Conta real `diarissima` + domínio | | 4 | `provision_domain_a` | Cria conta 1 + domínio A | | 5 | `provision_domain_b` | Cria conta 2 + domínio B | | 6 | `verify_multidomain_platform` | Ambas contas visíveis na listagem | | 7 | `cleanup_*` | Remove contas de teste | **Senha teste:** `LbOpenTest805353` (nunca persiste — user apagado no fim) --- ## Endpoint API ```http POST /api/v1/vm123/openpanel/test-confirm Authorization: Bearer ``` **Resposta (exemplo sucesso):** ```json { "ok": true, "suite": "openpanel-multidomain-api-confirm", "spec": "028-openpanel-ce-ligbox-reengineering", "steps_passed": 7, "steps_total": 7, "message": "OpenPanel via API multidomínio Ligbox Re-engenharia — CONFIRMADO", "steps": [ ... ] } ``` --- ## Critérios de aceite - [x] Botão no Menu Infra Desk - [x] Script CLI repetível em `scripts/` - [x] Endpoint `POST /openpanel/test-confirm` - [x] Multidomínio validado (2 contas / 2 domínios na plataforma) - [x] Cleanup automático - [x] Documentado como adendo Spec 028 --- ## Ficheiros ``` scripts/test-openpanel-multidomain-api.sh api/app/vm123/openpanel_test.py api/app/vm123/openpanel_client.py # add_domain() api/app/vm123/routes.py # POST test-confirm frontend/assets/app.js # card Menu Infra ``` --- ## Referências - [spec.md](spec.md) — re-engenharia completa - [contracts/foss-bridge-api.md](contracts/foss-bridge-api.md) — contrato bridge - [quickstart.md](quickstart.md) — operação VM123