Skip to content

feat: Add startupProbe support for all deployment types#297

Open
dnplkndll wants to merge 1 commit into8gears:mainfrom
dnplkndll:feat/startup-probe-support
Open

feat: Add startupProbe support for all deployment types#297
dnplkndll wants to merge 1 commit into8gears:mainfrom
dnplkndll:feat/startup-probe-support

Conversation

@dnplkndll
Copy link

@dnplkndll dnplkndll commented Feb 15, 2026

Summary

  • Adds optional startupProbe configuration support for main, worker, and webhook deployments
  • Follows the same pattern as existing livenessProbe and readinessProbe configuration
  • Defaults to empty (no startupProbe), fully backwards-compatible

Motivation

Kubernetes startupProbe allows slow-starting containers to initialize before liveness/readiness checks begin. This is particularly important for n8n in queue mode where workers need time to connect to Redis and Postgres before becoming healthy.

Without a startupProbe, the only option is to increase initialDelaySeconds or failureThreshold on the liveness probe, which also makes the probe less responsive to actual failures after startup completes.

Example usage

main:
  startupProbe:
    httpGet:
      path: /healthz
      port: http
    initialDelaySeconds: 10
    periodSeconds: 10
    timeoutSeconds: 5
    failureThreshold: 30  # 30 * 10s = 5 min startup window

worker:
  startupProbe:
    httpGet:
      path: /healthz
      port: http
    failureThreshold: 30
    periodSeconds: 10

Changes

  • templates/deployment.yaml — added startupProbe block for main container
  • templates/deployment.worker.yaml — added startupProbe block for worker container
  • templates/deployment.webhook.yaml — added startupProbe block for webhook container
  • values.yaml — added documented startupProbe: {} defaults for all three sections

Test plan

  • helm template renders startupProbe correctly when values are provided
  • helm template renders without startupProbe when values are empty (backwards-compatible)
  • No breaking changes to existing configurations

Summary by CodeRabbit

Release Notes

  • New Features
    • Added startup probe configuration support for all container types (main, worker, webhook) in Kubernetes deployments, enabling custom startup probe definitions with HTTP and timing options via Helm configuration.

Kubernetes startupProbe allows slow-starting containers to initialize
before liveness/readiness checks begin, preventing premature restarts
during startup. This is particularly important for n8n in queue mode
where workers need time to connect to Redis/Postgres before becoming
healthy.

The startupProbe is optional (defaults to empty) and follows the same
pattern as the existing livenessProbe and readinessProbe configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 15, 2026

Walkthrough

This PR adds conditional startupProbe configurations to the Helm chart for n8n across the main, worker, and webhook container deployments. StartupProbe blocks are added to three deployment templates with corresponding configuration scaffolding in values.yaml, extending existing liveness and readiness probe patterns.

Changes

Cohort / File(s) Summary
Deployment Templates
charts/n8n/templates/deployment.yaml, charts/n8n/templates/deployment.worker.yaml, charts/n8n/templates/deployment.webhook.yaml
Added conditional startupProbe blocks to container specs, rendered via toYaml with proper indentation, gated by respective .Values.*.startupProbe configuration keys.
Configuration Values
charts/n8n/values.yaml
Added startupProbe configuration placeholders for main, worker, and webhook containers with commented examples for httpGet and timing options (initialDelaySeconds, timeoutSeconds, periodSeconds, failureThreshold).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested reviewers

  • Vad1mo
  • RoseSecurity
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: Add startupProbe support for all deployment types' accurately summarizes the main change: adding startupProbe configuration across all three deployment templates (main, worker, webhook) in the n8n Helm chart.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant