Cria produto FOSS (product_id=3), endpoint mail-bundle no wizard VM112 com contrato documentado, e runbook de deploy para fechar o ciclo de activação. Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.6 KiB
Markdown
56 lines
1.6 KiB
Markdown
# Deploy — mail-bundle endpoint VM112 (Spec 035/043)
|
|
|
|
**Roger · 2026-07-01**
|
|
|
|
## Pré-requisitos
|
|
|
|
- `OPS_INTERNAL_TOKEN` no `/opt/ligbox-deploy/env/.env` ou `.env` wizard (igual VM122 Desk)
|
|
- Clone `ligbox-ops-platform` na VM112 ou copiar ficheiros via `scp`
|
|
|
|
## Passos (executar NA VM112)
|
|
|
|
```bash
|
|
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform
|
|
git pull origin main
|
|
|
|
python3 deploy/vm112-wizard/deploy-mail-bundle-vm112.py
|
|
systemctl restart ligbox-wizard
|
|
systemctl status ligbox-wizard --no-pager
|
|
```
|
|
|
|
## Teste local
|
|
|
|
```bash
|
|
source /opt/ligbox-deploy/env/.env 2>/dev/null || true
|
|
curl -s -X POST http://127.0.0.1:8090/api/internal/provision/mail-bundle \
|
|
-H "X-Ops-Internal-Token: ${OPS_INTERNAL_TOKEN}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"domain": "empresa-teste.ligbox.com.br",
|
|
"admin_email": "admin@empresa-teste.ligbox.com.br",
|
|
"admin_name": "Teste Bundle",
|
|
"seats": 25,
|
|
"mail_gb_per_seat": 30,
|
|
"files_gb_per_seat": 200
|
|
}' | python3 -m json.tool
|
|
```
|
|
|
|
## Teste via Desk (após deploy VM122)
|
|
|
|
Activar conta no Desk → passo `wizard` deve retornar `provisioned: true` (não `skipped`).
|
|
|
|
## Rollback
|
|
|
|
```bash
|
|
git checkout HEAD~1 -- projects/wizard/backend/app/services/mail_bundle.py
|
|
# ou remover router de main.py manualmente
|
|
systemctl restart ligbox-wizard
|
|
```
|
|
|
|
## Ficheiros instalados
|
|
|
|
| Destino VM112 | Origem repo |
|
|
|---------------|-------------|
|
|
| `/opt/ligbox-wizard/backend/app/services/mail_bundle.py` | `projects/wizard/.../mail_bundle.py` |
|
|
| `/opt/ligbox-wizard/backend/app/routers/internal_provision.py` | `projects/wizard/.../internal_provision.py` |
|
|
| `main.py` (patch router) | `deploy-mail-bundle-vm112.py` |
|