From 191bbff6174b1e2129c8d6ed34c7354a25100df4 Mon Sep 17 00:00:00 2001 From: Winter M Date: Mon, 20 Oct 2025 14:23:38 -0400 Subject: [PATCH] libpod: fix healthchecks not executing every interval on linux By default, systemd sets a limit of how many times a service can start, which means that if you have a healthcheck that runs more often than the limits, systemd will refuse to start it with a message like "Start request repeated too quickly." emitted to the journal. Signed-off-by: Winter M --- libpod/healthcheck_linux.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libpod/healthcheck_linux.go b/libpod/healthcheck_linux.go index 2723c1eb21a..99a436e2d60 100644 --- a/libpod/healthcheck_linux.go +++ b/libpod/healthcheck_linux.go @@ -40,7 +40,7 @@ func (c *Container) createTimer(interval string, isStartup bool) error { cmd = append(cmd, "--setenv=PATH="+path) } - cmd = append(cmd, "--unit", hcUnitName, fmt.Sprintf("--on-unit-inactive=%s", interval), "--timer-property=AccuracySec=1s", podman) + cmd = append(cmd, "--unit", hcUnitName, fmt.Sprintf("--on-unit-inactive=%s", interval), "--timer-property=AccuracySec=1s", podman, "--property=StartLimitIntervalSec=0") if logrus.IsLevelEnabled(logrus.DebugLevel) { cmd = append(cmd, "--log-level=debug", "--syslog")