Skip to content

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:

json
{ "status": "ok" }

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

yaml
# 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:

json
{
  "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:

json
{
  "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)
encryptionCriptografia 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.

Sulfite do 🇧🇷 para o mundo © 2026 Rafael S. Pinheiro