feat(desktop-agent,admin/inventory): secure token storage via keyring; extended inventory collectors per OS; new /api/machines/inventory endpoint; posture rules + tickets; Admin UI inventory with filters, search and export; docs + CI desktop release

This commit is contained in:
Esdras Renan 2025-10-09 22:08:20 -03:00
parent c2050f311a
commit 479c66d52c
18 changed files with 1205 additions and 38 deletions

View file

@ -134,6 +134,20 @@ healthcheck:
Observação: o CI já força `docker service update --force` após `stack deploy` e passa `RELEASE_SHA` no ambiente para variar a spec em todo commit, assegurando rollout.
## App Desktop (Tauri)
- Build local por SO:
- Linux: `pnpm -C apps/desktop tauri build`
- Windows/macOS: executar o mesmo comando no respectivo sistema (o Tauri gera .msi/.dmg/.app).
- Por padrão, o executável em modo release usa `https://tickets.esdrasrenan.com.br` como `APP_URL` e `API_BASE_URL`.
- Para customizar, crie `apps/desktop/.env` com `VITE_APP_URL` e `VITE_API_BASE_URL`.
- Saída dos pacotes: `apps/desktop/src-tauri/target/release/bundle/`.
### Alertas de postura (opcional)
- Variáveis de ambiente para geração automática de tickets em alertas de postura (CPU alta, serviço parado, SMART em falha):
- `MACHINE_ALERTS_CREATE_TICKETS=true|false` (padrão: true)
- `MACHINE_ALERTS_TICKET_REQUESTER_EMAIL=admin@sistema.dev` (usuário solicitante dos tickets automáticos)
### Dashboard (opcional)
Você pode expor o painel do Convex para inspeção em produção.
@ -263,7 +277,7 @@ Benefícios
- `MAILER_SENDER_EMAIL` com erro de parsing:
- Adicionar aspas no `.env`.
- `pnpm` reclama de workspace:
- `pnpm-workspace.yaml` já aponta só para `.` (evita apps/desktop no deploy).
- O `pnpm-workspace.yaml` inclui `apps/desktop`. No deploy do web isso não impacta pois usamos filtros/paths do projeto. Se preferir isolar, ajuste para apenas `.`.
- Portainer erro de bind relativo:
- Usar caminho absoluto `/srv/apps/sistema:/app` no stack (feito).
- Prisma CLI “not found”: