fix: healthcheck не должен зависеть от полноты конфига
HEALTHCHECK в образе запускается отдельным процессом без -config и без секретов, поэтому валидация конфига делала контейнер unhealthy при полностью рабочем демоне. Проверка /healthz перенесена до разбора ошибки Load, который и при ошибке возвращает конфиг со значениями по умолчанию. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2 files changed
+19
-4
No files matched your search
@@ -138,3 +138,15 @@ func TestSecretMissingFile(t *testing.T) {
|
||||
t.Fatal("ожидалась ошибка")
|
||||
}
|
||||
}
|
||||
|
||||
// Load обязан возвращать пригодный Listen даже при ошибке: на этом построена проверка
|
||||
// здоровья в контейнере — HEALTHCHECK запускается без -config и без секретов.
|
||||
func TestLoadReturnsDefaultListenOnError(t *testing.T) {
|
||||
cfg, err := Load("", func(string) string { return "" }, OSReadFile)
|
||||
if err == nil {
|
||||
t.Fatal("ожидали ошибку: не заданы ни конфиг, ни креды")
|
||||
}
|
||||
if cfg.Listen != ":9090" {
|
||||
t.Fatalf("Listen = %q, ожидали значение по умолчанию :9090", cfg.Listen)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user