Skip to content

feat: make health probe timeoutSeconds and failureThreshold configurable via values#2317

Open
lindeskar wants to merge 1 commit intogoharbor:mainfrom
lindeskar:probe-timeouts
Open

feat: make health probe timeoutSeconds and failureThreshold configurable via values#2317
lindeskar wants to merge 1 commit intogoharbor:mainfrom
lindeskar:probe-timeouts

Conversation

@lindeskar
Copy link
Contributor

Summary

  • Expose all five probe timing parameters (initialDelaySeconds, periodSeconds, timeoutSeconds, failureThreshold, successThreshold) as configurable values for all 9 components: core, portal, jobservice, registry (registry + registryctl), nginx, exporter, trivy, database, and redis
  • Defaults match current hardcoded values exactly — zero behavioral change on upgrade
  • Add unit tests for custom probe overrides on core (startup, liveness, readiness)

Closes #2316

Motivation

Health probe settings are currently hardcoded in templates and cannot be overridden via values.yaml. This causes issues in environments with higher network latency (e.g. China regions), where the default 1s timeout and low failure thresholds trigger unnecessary pod restarts and 502 errors.

Test plan

  • helm template before/after diff shows only newly-explicit fields (timeoutSeconds, failureThreshold, successThreshold) that were previously Kubernetes implicit defaults — no behavioral change
  • All 105 existing + new unit tests pass (helm unittest -f 'test/unittest/**/*_test.yaml' .)
  • Spot-check: helm template . --set core.livenessProbe.timeoutSeconds=5 --set core.livenessProbe.failureThreshold=5 renders custom values correctly

🤖 Generated with Claude Code

…ble via values

Expose all five probe timing parameters (initialDelaySeconds, periodSeconds,
timeoutSeconds, failureThreshold, successThreshold) as configurable values
for all components: core, portal, jobservice, registry, nginx, exporter,
trivy, database, and redis.

Defaults match the current hardcoded values exactly, so there is zero
behavioral change on upgrade.

Closes goharbor#2316

Signed-off-by: Alexander Lindeskär <lindeskar@users.noreply.github.com>
@lindeskar lindeskar marked this pull request as ready for review February 20, 2026 12:22
@MinerYang MinerYang self-assigned this Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make health probe timeoutSeconds and failureThreshold configurable via values

2 participants