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; dört bileşenin (DB, Redis, Meilisearch, MinIO)
erişilebilirliğini doğrular. Meilisearch ve MinIO kontrolleri 450 ms sınırlı
zaman aşımıyla yapılır; DB ve Redis kontrolleri bağlantı sürücüsünün zaman
aşımı davranışına dayanır. Hazır değilse HTTP 503 döner.
{
"status": "ok",
"ready": true,
"checks": {
"db": true,
"redis": true,
"meilisearch": true,
"minio": true
},
"reason": "ok",
"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.