Add livenessProbe.enabled to turn off the check-live probe
What does this MR do?
Adds livenessProbe.enabled (default true). When false, the Deployment renders no livenessProbe. The readiness and startup probes are unchanged.
Why
check-live runs gitlab-runner verify and greps for is alive/is valid. When GitLab returns a 5xx, the grep fails, and after failureThreshold (3) periods (60s) kubelet restarts the runner pod. The pod was healthy; it was GitLab that was down. The restart interrupts running jobs and the new pod starts into the same outage.
On GitLab.com's own runner fleet, a 45-minute GitLab outage on 2026-09-24 (INC-14518, Patroni leader failure) turned into ~2,300 runner-manager restarts across 120 managers, all from this probe.
#526 (closed) and #531 (closed) reported the same effect in 2024. !457 (merged) made a probe timeout inconclusive and !483 (merged) exposed the probe periods, but a fast 5xx still counts as a dead pod. Raising failureThreshold only moves the cliff. For a fleet where a stuck runner process is not a failure mode we have seen, and where a restart during an outage is strictly worse than waiting, disabling the probe is the right setting.
Test
helm unittest -f 'tests/*.yaml' .Three new cases in tests/deployment_test.yaml: default renders the probe, enabled: false removes it (readiness stays), enabled: true with a period override still renders.
Checklist
- Tests added
-
values.yamldocumented