67 lines
2.8 KiB
Text
67 lines
2.8 KiB
Text
---
|
|
description: Desk VM122 release — deploy atómico UI+API, smoke GREEN, credenciais VM112
|
|
globs: projects/ops-desk/**/*,deploy/desk-staging-modern/**/*,deploy/vm112-wizard/**/*
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Desk Release — Roger / Ligbox (anti-divergência)
|
|
|
|
**Problema:** UI em produção sem API, ou API sem assets → 404, wizard quebrado, páginas híbridas.
|
|
**Métrica única:** `DESK_RELEASE=GREEN` após `./deploy/desk-staging-modern/smoke-desk.sh`.
|
|
|
|
## Definição: «Sincronizado»
|
|
|
|
**Sincronizado** só quando **todos** estes critérios são verdadeiros:
|
|
|
|
| # | Critério | Verificação |
|
|
|---|----------|-------------|
|
|
| 1 | Mesmo commit em VM130 (Forgejo `main`) | `git rev-parse HEAD` no repo |
|
|
| 2 | Mesmo deploy em VM122 (Desk) | `./deploy-desk-full.sh` executado com esse commit |
|
|
| 3 | Mesmo deploy em VM112 (wizard, se tocado) | `deploy-wizard-vm112-smoke.sh` GREEN |
|
|
| 4 | Smoke GREEN | `DESK_RELEASE=GREEN` |
|
|
| 5 | Checkpoint actualizado | `SESSION-CHECKPOINT.md` com hash + data + smoke |
|
|
|
|
**Chat bonito sem deploy não conta.** Código no disco sem commit, ou commit sem deploy, ou deploy sem smoke = **NÃO sincronizado**.
|
|
|
|
## Credenciais SSH (root)
|
|
|
|
| VM | IP LAN | SSH WAN | Senha root |
|
|
|----|--------|---------|------------|
|
|
| **VM122** Desk | `10.10.10.122` | `95.216.14.146:2522` | `805353` |
|
|
| **VM130** Obsidian | `10.10.10.130` | — | `805353` |
|
|
| **VM112** Wizard | `10.10.10.112` | `95.216.14.146:2512` | **`@betinplace`** |
|
|
|
|
**VM112 ≠ VM122:** nunca usar `805353` na VM112. Env: `VM112_SSH_PASS=@betinplace`.
|
|
|
|
## Regras obrigatórias
|
|
|
|
1. **Nunca** `docker cp` parcial (só `index.html` ou só `app.staging.js`).
|
|
2. **Sempre** `deploy/desk-staging-modern/deploy-desk-full.sh` para produção Desk (API + frontend + catálogo RBAC).
|
|
3. **Sempre** smoke GREEN antes de declarar "feito" ou actualizar checkpoint.
|
|
4. **Git `develop` → PR → `main`** = fonte de verdade; ver `docs/GIT_WORKFLOW.md`.
|
|
5. Alterações VM112 wizard → `deploy/vm112-wizard/deploy-wizard-vm112-smoke.sh` (carbonio `list_all_domains`).
|
|
|
|
## Comandos canónicos
|
|
|
|
```bash
|
|
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/desk-staging-modern
|
|
|
|
# Produção completa (um comando)
|
|
./deploy-desk-full.sh
|
|
|
|
# Só smoke (sem deploy)
|
|
./smoke-desk.sh https://desk.ligbox.com.br
|
|
|
|
# VM112 wizard (Serviços IaaS / domínios)
|
|
../vm112-wizard/deploy-wizard-vm112-smoke.sh
|
|
```
|
|
|
|
## Pacote mínimo (não omitir)
|
|
|
|
**API:** `governance_routes.py`, `desk_governance_store.py`, `action_catalog.py`, `main.py`, `ops_inbox_*`, `email_relay_*`
|
|
**UI:** `user-wizard.js`, `operational-feed.js`, `access-control-*`, `ligbox-ds.css`, `agentic-ops.js` (≥1200 linhas)
|
|
**Catálogo:** `specs/039-ligbox-ops-authorization-catalog/contracts/action-catalog.yaml`
|
|
|
|
## Checkpoint
|
|
|
|
Ao encerrar sessão Desk: `git rev-parse --short HEAD` + resultado smoke no `SESSION-CHECKPOINT.md` da spec activa.
|