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:
parent
c2050f311a
commit
479c66d52c
18 changed files with 1205 additions and 38 deletions
25
agents.md
25
agents.md
|
|
@ -23,6 +23,24 @@
|
|||
5. `pnpm convex:dev`
|
||||
6. Em outro terminal: `pnpm dev`
|
||||
|
||||
## App Desktop (Agente de Máquinas)
|
||||
- Código: `apps/desktop` (Tauri v2 + Vite).
|
||||
- Padrões de URL:
|
||||
- Produção: usa `https://tickets.esdrasrenan.com.br` por padrão (fallback em release).
|
||||
- Desenvolvimento: use `apps/desktop/.env` (ver `.env.example`).
|
||||
- Comandos úteis:
|
||||
- `pnpm -C apps/desktop tauri dev` — dev completo (abre WebView em 1420 + backend Rust).
|
||||
- `pnpm -C apps/desktop build` — build do frontend (dist).
|
||||
- `pnpm -C apps/desktop tauri build` — gera instaladores (bundle) por SO.
|
||||
- Saída dos pacotes: `apps/desktop/src-tauri/target/release/bundle/`.
|
||||
- Fluxo:
|
||||
1) Coleta perfil (hostname/OS/MAC/seriais/métricas).
|
||||
2) Provisiona via `POST /api/machines/register` com `MACHINE_PROVISIONING_SECRET`.
|
||||
3) Envia heartbeats a cada 5 min para `/api/machines/heartbeat` com inventário básico.
|
||||
4) Abre `APP_URL/machines/handshake?token=...` para autenticar sessão na UI.
|
||||
- Segurança: token salvo no cofre do SO (Keyring). Store guarda apenas metadados não sensíveis.
|
||||
- Endpoint extra: `POST /api/machines/inventory` (atualiza inventário por token ou provisioningSecret).
|
||||
|
||||
## Desenvolvimento local — boas práticas (atualizado)
|
||||
- Ambientes separados: mantenha seu `.env.local` só para DEV e o `.env` da VPS só para PROD. Nunca commitar arquivos `.env`.
|
||||
- Convex em DEV: rode `pnpm convex:dev` e aponte o front para `http://127.0.0.1:3210` via `NEXT_PUBLIC_CONVEX_URL`.
|
||||
|
|
@ -147,6 +165,13 @@ Observações:
|
|||
- CSAT CSV: `/api/reports/csat.csv?range=7d|30d|90d`
|
||||
- SLA CSV: `/api/reports/sla.csv`
|
||||
- Horas por cliente CSV: `/api/reports/hours-by-client.csv?range=7d|30d|90d`
|
||||
|
||||
## Referências de inventário de máquinas
|
||||
- UI (Admin > Máquinas): filtros, pesquisa e export detalhados — ver docs/admin-inventory-ui.md
|
||||
- Endpoints do agente:
|
||||
- `POST /api/machines/register`
|
||||
- `POST /api/machines/heartbeat`
|
||||
- `POST /api/machines/inventory`
|
||||
|
||||
## Rotina antes de abrir PR
|
||||
- `pnpm lint`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue