Sağlık ve Hazırlık Kontrolleri
Sağlık kontrol endpointleri API yanıt zarfı dışında tutulur. Bu yüzeyler yük dengeleyici, erişilebilirlik izleme, dağıtım kapısı ve aynı SHA doğrulaması için sade JSON döndürür.
GET /health
Geriye uyumlu sağlık kontrol endpointidir. DB ve Redis erişimini kontrol eder.
{
"status": "ok",
"db": true,
"redis": true,
"sourceCommit": "abc123"
}sourceCommit yerel geliştirme ortamında null olabilir. Canlı ortam kabulünde
aynı SHA doğrulaması /health.sourceCommit veya sağlık kontrol gövdesindeki
sourceCommit değeriyle ayrıca yapılır.
GET /health/live
Süreç canlılığı kontrolüdür. DB, Redis, Meilisearch veya MinIO hazırlık kontrolü yapmaz.
{
"status": "ok",
"live": true,
"reason": "process_alive",
"sourceCommit": "abc123"
}Kullanım: container/süreç yeniden başlatma kararı, temel canlılık kontrolü ve süreç izleyici. Bağımlılık kesintisi nedeniyle bu endpoint başarısız olmamalıdır.
GET /health/ready
Hazırlık kontrolüdür. DB, Redis, Meilisearch ve MinIO için sınırlı zaman aşımı
ile erişilebilirlik kontrolü yapar. Hazır değilse HTTP 503 döner.
{
"status": "ok",
"ready": true,
"checks": {
"db": true,
"redis": true,
"meilisearch": true,
"minio": true
},
"reason": "ready",
"sourceCommit": "abc123"
}Kullanım: dağıtım hazırlık kapısı, yük dengeleyici arka uç kabulü ve bağımlılık tabanlı sağlık alarmı.
Güvenlik Sınırı
Sağlık kontrol yanıtları gizli değer, bağlantı dizesi, bucket adı, API anahtarı veya token içermez. Hazırlık hatası nedeni bağımlılık adlarıyla sınırlıdır; kimlik bilgisi değeri veya ham exception mesajı herkese açık sağlık kontrol gövdesine yazılmaz.