Logosulfite.app
rafagazani/sulfite 999999

Health & Info

Endpoints públicos de health check e informações do servidor

Health & Info#

Endpoints públicos que não requerem autenticação, úteis para monitoramento e descoberta de capacidades.

Health check — GET /health#

Autenticação: Não requerida (endpoint público).

Resposta 200:

{ "status": "ok" }

Use para probes de liveness/readiness em orquestradores como Kubernetes, Docker Compose ou plataformas como Render, Railway, etc.

# docker-compose.yml
services:
  sulfite:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 5s
      retries: 3

Informações — GET /info#

Autenticação: Não requerida (endpoint público).

Retorna as capacidades do servidor:

Resposta 200:

{
  "version": "0.1.0",
  "formats": ["pdf", "html", "csv", "excel"],
  "drivers": ["rest", "postgres", "postgrest", "sqlite3"],
  "package_support": true
}
CampoDescrição
versionVersão do sulfite_server
formatsFormatos de renderização suportados
driversDrivers de datasource disponíveis
package_supportSuporte a pacotes .sulfite

Auditoria de segurança — GET /api/v1/health/security#

Permissão: canSettings

Retorna o status das proteções de segurança configuradas:

{
  "auth": true,
  "rateLimit": true,
  "ssrfGuard": true,
  "encryption": true,
  "corsOrigins": ["https://app.example.com"],
  "corsWildcard": false
}
CampoDescrição
authAutenticação habilitada (AUTH_SECRET configurado)
rateLimitRate limiting ativo
ssrfGuardProteção SSRF ativa (ALLOWED_HOSTS configurado)
encryption Criptografia de conexões ativa (ENCRYPTION_KEY configurado)
corsOriginsLista de origens CORS permitidas
corsWildcardSe CORS está em modo wildcard (*)

Este endpoint é útil para verificar automaticamente se o servidor de produção está corretamente configurado. Veja o checklist de produção.