docs: registrar fluxo do updater e atualizar chaves
This commit is contained in:
parent
206d00700e
commit
b5fd920efd
50 changed files with 980 additions and 93 deletions
18
agents.md
18
agents.md
|
|
@ -33,13 +33,15 @@
|
|||
- `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:
|
||||
- Fluxo atualizado:
|
||||
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).
|
||||
2) Provisiona via `POST /api/machines/register` com `MACHINE_PROVISIONING_SECRET`, solicitando o **perfil de acesso** (Colaborador ou Gestor) e os dados do usuário associado. O backend garante a vinculação única da máquina ao colaborador ou gestor informado.
|
||||
3) Envia heartbeats a cada 5 min para `/api/machines/heartbeat` com inventário básico + estendido (discos, GPUs, serviços, softwares).
|
||||
4) Abre `APP_URL/machines/handshake?token=...&redirect=...` para autenticar a sessão: colaboradores são direcionados ao portal (`/portal`), gestores ao painel completo (`/dashboard`).
|
||||
- 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).
|
||||
- Atualizações automáticas: o plugin `@tauri-apps/plugin-updater` verifica `latest.json` nos releases do GitHub. Publicar uma nova release com manifestos atualiza os clientes sem reinstalação manual.
|
||||
- Ajustes administrativos: em **Admin ▸ Máquinas** é possível vincular ou alterar o perfil (colaborador/gestor) e e-mail associado através do botão “Ajustar acesso”.
|
||||
|
||||
## 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`.
|
||||
|
|
@ -93,6 +95,7 @@ Observações:
|
|||
- Disparo do deploy web: apenas quando há mudanças em arquivos do app (src/, public/, prisma/, next.config.ts, package.json, pnpm-lock.yaml, tsconfig.json, middleware.ts, stack.yml).
|
||||
- Disparo do deploy Convex: apenas quando há mudanças em `convex/**`.
|
||||
- O `.env` da VPS é preservado; caches do servidor (`node_modules`, `.pnpm-store`) não são tocados.
|
||||
- Smoke de provisionamento (`/api/machines/register` + heartbeat) roda só se `RUN_MACHINE_SMOKE=true` (default: desativado para evitar quedas em caso de instabilidade).
|
||||
- Banco Prisma (SQLite) persiste em volume nomeado (`sistema_db`); não é recriado a cada deploy.
|
||||
|
||||
## Bancos e seeds — DEV x PROD
|
||||
|
|
@ -151,6 +154,7 @@ Observações:
|
|||
|
||||
### Papéis
|
||||
- Papéis válidos: `admin`, `manager`, `agent`, `collaborator` (papel `customer` removido).
|
||||
- Colaboradores acessam o portal (`/portal`) e visualizam apenas os próprios tickets; gestores herdam a visão completa da empresa mesmo quando autenticados via agente desktop.
|
||||
- Gestores veem os tickets da própria empresa e só podem registrar comentários públicos.
|
||||
|
||||
## Próximos passos sugeridos
|
||||
|
|
@ -167,7 +171,7 @@ Observações:
|
|||
- 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
|
||||
- UI (Admin > Máquinas): filtros, pesquisa, inventário enriquecido (GPUs, discos, serviços) e exclusão de máquina — ver docs/admin-inventory-ui.md
|
||||
- Endpoints do agente:
|
||||
- `POST /api/machines/register`
|
||||
- `POST /api/machines/heartbeat`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue