/health e versão em runtime¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-07-07
O /health segue o shape plano da constituição ({status, versao}, Versionamento). O /health do
micronaut-management fica desligado (endpoints.health.enabled: false); quem serve é um
HealthController (br.com.xadm.comum).
{ "status": "UP", "versao": "1.0.3" }
- Liveness, não readiness: é "o app está no ar", não checa o banco (trade-off consciente).
Responde 200 sem autenticação (whitelisted no
intercept-url-map); o Dockerfile fazHEALTHCHECKnele. versaovem deversion.properties, gerado no build a partir deproject.version(task GradlegerarVersionProperties) — nunca um literal no código (literal mente e drifta a cada release). Lido porVersaoInfo(umInfoSource, expõe também no/info).- O
mainloga a versão na 1ª linha do startup (VersaoInfo.versaoAtual()).
⚠️ A versão do @OpenAPIDefinition (em Application) é o contrato HTTP da API, desacoplada
da versão de release — não confundir.
Código: comum/HealthController, comum/VersaoInfo, task gerarVersionProperties no
build.gradle.kts. Teste: integration/HealthControllerIntegrationTest (shape) +
comum/VersaoInfoTest.