From ca770114e4b87f7ed1f6f7e9c3fb4a5b93359399 Mon Sep 17 00:00:00 2001 From: Veronika Fisarova Date: Wed, 24 Jun 2026 09:14:30 +0200 Subject: [PATCH] Use dedicated startup probe with higher failure threshold The startup probe shared the same configuration as liveness/readiness probes, giving Horizon only ~40s to start. In resource-constrained environments startup exceeds this window causing CrashLoopBackOff. Introduce formatStartupProbe() with FailureThreshold: 12 (allowing ~120s for startup), matching the pattern used by Cinder, Glance, and Manila operators. Signed-off-by: Veronika Fisarova Assisted-by: Claude Opus 4.6 --- internal/horizon/deployment.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/internal/horizon/deployment.go b/internal/horizon/deployment.go index f7789e87..0fae8903 100644 --- a/internal/horizon/deployment.go +++ b/internal/horizon/deployment.go @@ -68,7 +68,7 @@ func Deployment( livenessProbe := formatProbes() readinessProbe := formatProbes() - startupProbe := formatProbes() + startupProbe := formatStartupProbe() envVars := getEnvVars(configHash, enabledServices) @@ -210,6 +210,21 @@ func formatProbes() *corev1.Probe { } } +func formatStartupProbe() *corev1.Probe { + + return &corev1.Probe{ + TimeoutSeconds: 5, + PeriodSeconds: 10, + FailureThreshold: 12, + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: horizonDashboardURL, + Port: intstr.FromString(horizonContainerPortName), + }, + }, + } +} + func (t *TLSRequiredOptions) formatTLSOptions(instance *horizonv1.Horizon) error { var err error