Quest-Finder / temvagamestre.server

MIT License
5 stars 0 forks source link

Criar Endpoint de Status do Sistema #77

Open emerson-oliveira opened 3 weeks ago

emerson-oliveira commented 3 weeks ago

Quero que o sistema possua um endpoint que forneça o status atualizado das dependências críticas, Para que os times de desenvolvimento e operações possam monitorar a saúde do sistema em tempo real.

Critérios de Aceitação:

Endpoint Disponível:

O endpoint deve estar disponível em /api/v1/status. Formato da Resposta:

A resposta deve ser em formato JSON e seguir a estrutura abaixo:

{
  "updated_at": "<timestamp>",
  "dependencies": {
    "database": {
      "status": "healthy",
      "max_connections": <número máximo de conexões permitidas>,
      "opened_connections": <número de conexões abertas no momento>,
      "version": "<versão do banco de dados>"
    }
  }
}

Informações Atualizadas:

O campo "updated_at" deve refletir a data e hora em UTC do momento em que a consulta foi realizada.

Status das Dependências:

O sistema deve verificar o status das dependências críticas, começando pelo banco de dados, e incluir essas informações na resposta. O campo "status" deve indicar se o banco de dados está "healthy" (saudável) ou "unhealthy" (não saudável).

Resiliência e Disponibilidade:

O endpoint deve ser resiliente e deve retornar uma resposta mesmo se uma ou mais dependências estiverem indisponíveis. Se uma dependência estiver indisponível, o campo "status" deve ser "unhealthy" e deve haver uma mensagem apropriada explicando a falha.

Performance:

O tempo de resposta do endpoint deve ser inferior a 200ms em 95% das requisições.

Segurança:

O endpoint deve estar protegido e acessível apenas para usuários autenticados e autorizados.

Documentação:

A API deve ser documentada no Swagger (ou outra ferramenta de documentação utilizada), incluindo exemplos de requisição e resposta.

felipesouza91 commented 1 week ago

@emerson-oliveira A doc do Nejts, tem esse link: https://docs.nestjs.com/recipes/terminus , não sei se essa a ideia.

emerson-oliveira commented 1 week ago

@felipesouza91 , podemos seguir a estrutura parecida com essa...