API REST

O GitOps expoe uma API REST para gerenciamento de repositorios, monitoramento e webhooks.

Base URL

Ambiente URL
Producao https://sys.gitops.borlot.com.br
Desenvolvimento https://dev.sys.gitops.borlot.com.br

Autenticacao

A API suporta dois metodos de autenticacao:

API Key (Header)

X-API-Key: sua-chave-aqui

Necessario para todas as operacoes de escrita.

Token JWT em cookie HttpOnly access_token. Obtido via POST /auth/login.

Niveis de Acesso

Nivel Endpoints
Publico GET /health, GET /monitor/status
API Key ou JWT Listagem, check, reprocess, history
API Key apenas Add/delete repos, webhooks, telegram test

Endpoints

Gerais

Metodo Path Descricao
GET /health Health check
GET / Welcome message

Autenticacao

Metodo Path Descricao
POST /auth/login Login (retorna JWT)
POST /auth/register Registrar usuario
POST /auth/logout Logout
GET /auth/profile Perfil do usuario
POST /auth/refresh Renovar token
GET /auth/check Verificar token

Repositorios

Metodo Path Descricao
GET /monitor/repositories Listar repositorios
POST /monitor/repositories Adicionar repositorio
PATCH /monitor/repositories/{id} Atualizar status
DELETE /monitor/repositories/{id} Remover repositorio

Monitoramento

Metodo Path Descricao
GET /monitor/status Status do sistema
POST /monitor/check/{owner}/{repo} Verificar repositorio
POST /monitor/check-all Verificar todos
POST /monitor/reprocess/{owner}/{repo} Reprocessar latest
POST /monitor/reprocess/{owner}/{repo}/{tag} Reprocessar tag
GET /monitor/dry-run/{owner}/{repo} Preview sem processar
GET /monitor/dry-run Preview todos
GET /monitor/history Historico geral
GET /monitor/history/{owner}/{repo} Historico do repo

Webhooks

Metodo Path Descricao
POST /webhook/github Receiver de webhooks GitHub
POST /monitor/webhooks/{owner}/{repo} Criar webhook
GET /monitor/webhooks/{owner}/{repo} Listar webhooks
DELETE /monitor/webhooks/{owner}/{repo}/{id} Remover webhook

Notificacoes

Metodo Path Descricao
GET /monitor/notifications Listar notificacoes
POST /monitor/notifications/cleanup Limpar antigas
POST /monitor/telegram/test Testar Telegram

Formato de Resposta

Todas as respostas sao JSON. Exemplo de sucesso:

{
  "repository": "devborlot/runner-client",
  "tag": "v1.2.3",
  "processed": [...],
  "artifacts": [...],
  "documentation": [...],
  "errors": []
}

Exemplo de erro:

{
  "error": "Repository not registered in database"
}
By Borlot.com.br on 06/03/2026