118 lines
3.4 KiB
Markdown
118 lines
3.4 KiB
Markdown
# VM123 — Ligbox Ops Console (handoff implementação)
|
||
|
||
**Data:** 2026-06-16
|
||
**Roger** · Spec **019**
|
||
**Status:** Início implementação
|
||
|
||
---
|
||
|
||
## Papel da VM123
|
||
|
||
| Item | Valor |
|
||
|------|-------|
|
||
| **Função** | Host **UI only** — Ligbox Ops Console (SPA React) |
|
||
| **Deploy** | **Docker Compose obrigatório** (VM já tem outros serviços) |
|
||
| **Path** | `/opt/ligbox-ops-console/` |
|
||
| **Porta** | `8100` (validar com preflight) |
|
||
| **URL** | `https://console.ligbox.com.br` (Traefik CT114) |
|
||
| **API** | `https://api.ops.ligbox.com.br` (VM122 — não corre na 123) |
|
||
|
||
**Não construir na VM123:** API chamados, SQLite, workers, Wazuh, wizard.
|
||
|
||
---
|
||
|
||
## O que vai ser construído aqui
|
||
|
||
```text
|
||
/opt/ligbox-ops-console/
|
||
├── docker-compose.yml
|
||
├── .env
|
||
├── frontend/ # React + Vite
|
||
│ ├── Dockerfile
|
||
│ └── src/
|
||
│ ├── views/
|
||
│ │ ├── Overview.jsx
|
||
│ │ ├── Discover.jsx
|
||
│ │ ├── ChamadosList.jsx
|
||
│ │ └── ChamadoHub.jsx ← hub investigação CH-*
|
||
│ └── components/
|
||
│ ├── InvestigationTimeline.jsx
|
||
│ ├── ObservablesPanel.jsx
|
||
│ ├── AssistPanel.jsx
|
||
│ └── WazuhDeepLinkButton.jsx
|
||
├── nginx/default.conf
|
||
└── scripts/
|
||
├── preflight-vm123.sh
|
||
└── deploy-console.sh
|
||
```
|
||
|
||
---
|
||
|
||
## Navegação (hub CH-*)
|
||
|
||
Ver: `specs/019-ops-console-active-operations/design/navigation-ia.md`
|
||
|
||
- **Discover** → entrada; click evento → hub `CH-*`
|
||
- **Hub** = timeline + observables + assist + infra + runbooks
|
||
- Deep link Wazuh → VM104 (novo tab)
|
||
|
||
---
|
||
|
||
## Legado
|
||
|
||
- `desk.ligbox.com.br` na VM122 **não é alterado** nesta fase
|
||
- Novo compose **não** faz `docker compose down` global na VM
|
||
- Cutover só com aprovação Roger
|
||
|
||
---
|
||
|
||
## Spec Kit (Obsidian)
|
||
|
||
| Documento | Path |
|
||
|-----------|------|
|
||
| Spec | `specs/019-ops-console-active-operations/spec.md` |
|
||
| Plan | `specs/019-ops-console-active-operations/plan.md` |
|
||
| Tasks | `specs/019-ops-console-active-operations/tasks.md` |
|
||
| Deploy template | `specs/019-ops-console-active-operations/deploy/` |
|
||
| Chat bruto | `LAPTOP/CHAT_BRUTO_OPS_CONSOLE_VM123_SPEC_20260616.txt` |
|
||
|
||
---
|
||
|
||
## Comandos deploy
|
||
|
||
```bash
|
||
# Copiar templates Spec Kit → VM123
|
||
rsync -av /root/obsidian-infra/ligbox-ops-platform/specs/019-ops-console-active-operations/deploy/ \
|
||
root@10.10.10.123:/opt/ligbox-ops-console/
|
||
|
||
ssh root@10.10.10.123 'cd /opt/ligbox-ops-console && cp -n .env.example .env'
|
||
ssh root@10.10.10.123 'chmod +x /opt/ligbox-ops-console/scripts/*.sh'
|
||
ssh root@10.10.10.123 '/opt/ligbox-ops-console/scripts/preflight-vm123.sh'
|
||
```
|
||
|
||
---
|
||
|
||
## Inventário VM123 (preencher no 1º SSH)
|
||
|
||
| Campo | Valor |
|
||
|-------|-------|
|
||
| Hostname | `vm123-finance` |
|
||
| IP LAN | `10.10.10.123` |
|
||
| Porta 8100 | **livre** → Console em `127.0.0.1:8100` |
|
||
| Porta 8092 | **ocupada** — FOSSBilling (não usar) |
|
||
| Containers existentes | 9 (Odoo, FOSSBilling, OpenPanel, Caddy, …) — **inalterados** |
|
||
| Console stack | `ligbox-ops-console-ui` (compose isolado) |
|
||
| Path workspace | `/opt/ligbox-ops-console/` |
|
||
| Docs no host | `/opt/ligbox-ops-console/docs/` |
|
||
| SSH LAN | `root@10.10.10.123` |
|
||
|
||
---
|
||
|
||
## Dependências outras VMs
|
||
|
||
| Fase | VM |
|
||
|------|-----|
|
||
| F3 UI (agora) | **123** |
|
||
| F1–F2 API hub | 122 |
|
||
| F5 Assist | 112 |
|
||
| SOC mail logs | Spec 012 (futuro) |
|