Pular para o conteúdo principal

Visão Geral do Dashboard

O dashboard do PatchOne é uma SPA React servida na URL raiz do servidor. Ele oferece gerenciamento completo da frota sem a necessidade de ferramentas adicionais.

O dashboard possui um sidebar persistente à esquerda com todas as seções principais, além de uma barra superior com controles globais.

Seção (sidebar)Finalidade
FleetVisualização da frota — todas as máquinas registradas e seus status
DeployEnviar atualizações de software para uma máquina, tag ou toda a frota
JobsMonitorar status e resultados dos jobs de implantação em tempo real
PoliciesCriar e gerenciar políticas de patch automatizadas com cron
CatalogNavegar e gerenciar o catálogo de software (global + personalizado)
ComplianceScore de compliance por máquina, tendência 30 dias e exportação de relatórios
AuditLog imutável de todas as ações do administrador
BackupGerenciamento de backup do banco de dados
AdminsGerenciamento de contas de administrador

O sidebar colapsa para ícones em telas menores (< 768px), preservando o acesso a todas as seções.

Barra superior

A barra de navegação superior contém:

  • PatchOne — nome do produto (link para o início)
  • Alternador de tema (☀/🌙) — alterna entre modo escuro e claro; preferência salva no navegador
  • Sino de notificações — exibe a contagem de notificações não lidas
  • Nome do administrador — usuário logado atualmente
  • Sign out — encerra a sessão

Tela inicial (Home)

A tela inicial (/) combina três componentes:

  1. ComplianceWidget — três cartões de resumo:
    • Fleet Compliance — percentual médio de conformidade da frota (ex.: 100% · 1 of 1 machines)
    • Critical Pending — número de máquinas com atualizações pendentes
    • Never Seen — máquinas registradas que ainda não realizaram nenhum check-in
  2. DailySummary — snapshot de saúde: máquinas online/offline e jobs concluídos/com falha nas últimas 24h
  3. Fleet — tabela de máquinas com status em tempo real, pesquisa por hostname, filtro por status, filtro por tag e checkbox "Has pending updates"

Badges de status

As máquinas exibem um badge de status:

BadgeSignificado
OnlineÚltimo heartbeat dentro do limite configurado (padrão: 30 min)
OfflineNenhum heartbeat por mais tempo que o limite

Autenticação

O dashboard usa autenticação JWT baseada em cookie. As sessões expiram após 8 horas (configurável via SESSION_TIMEOUT_HOURS no .env). Após a expiração, o navegador redireciona para a página de Login.

Compatibilidade com navegadores

Qualquer navegador moderno (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+) é suportado. JavaScript deve estar habilitado.