Pular para conteúdo

Dashboard

mux.Handle("/kiln/", dashboard.New(client, dashboard.Options{
    Prefix:    "/kiln",
    Authorize: func(r *http.Request) dashboard.Access { return dashboard.ReadOnly },
}))

Authorize roda em toda requisição e retorna Denied, ReadOnly ou ReadWrite, então o controle de acesso se encaixa em qualquer auth que a sua aplicação já tenha. dashboard.AllowAll é para desenvolvimento local: concede acesso de leitura/escrita só para requisições endereçadas a localhost ou a um IP loopback, e nega todo o resto. O dashboard mostra contagens em tempo real e um gráfico de concluídos/com falha, jobs por estado com filtros por fila, tipo, lote e tag, e ações em massa, detalhe do job com títulos, argumentos/metadados/saída que podem ser redigidos e o console em tempo real, retentativas, agendamentos recorrentes e seus grupos, filas, servidores, lotes, e limites com o que cada chave está rodando e retendo, e espelha tudo isso em uma API JSON em <prefix>/api/... para scripting. É renderizado no servidor, sem assets externos e com um CSP estrito.

O dashboard fala inglês e português brasileiro. Um seletor no cabeçalho lembra a escolha de cada pessoa; Options.Language define o padrão, e sem ele, o idioma do navegador decide. Um outro idioma é só um arquivo JSON em dashboard/locales.