From 8e33cf052470d8020b9d8638ceb19034e7a00c12 Mon Sep 17 00:00:00 2001 From: Scooby Husky Date: Tue, 18 Aug 2026 18:51:50 -0500 Subject: [PATCH] Fix n8n liveness probe: chart has no startupProbe, needs a longer runway The n8n chart (riatlas/chart__n8n) doesn't support startupProbe at all - my earlier fix set a field the chart ignores, so the liveness probe was still killing the container ~40s into startup (exitCode 143, confirmed live via repeated crashloops even after the first 'fix'). n8n takes longer than that to bind :5678 on the VPS's more modest hardware. Widened readiness/liveness directly instead: ~190s total runway before a liveness kill. --- infrastructure/vps-standby/n8n/values.yaml | 27 ++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/infrastructure/vps-standby/n8n/values.yaml b/infrastructure/vps-standby/n8n/values.yaml index daf349d..2a5abdf 100644 --- a/infrastructure/vps-standby/n8n/values.yaml +++ b/infrastructure/vps-standby/n8n/values.yaml @@ -78,36 +78,29 @@ resources: cpu: "500m" memory: 512Mi -# Chart defaults are more aggressive than n8n needs to actually finish -# starting - without this the liveness probe kills the container before -# it ever binds :5678 (confirmed live: exitCode 143/SIGTERM, crashloop). -# Matches home's apps/n8n/values.yaml timings. -startupProbe: - httpGet: - path: /healthz - port: http - initialDelaySeconds: 10 - periodSeconds: 5 - timeoutSeconds: 3 - failureThreshold: 12 - +# This chart has no startupProbe support at all (confirmed against +# `helm show values` - only livenessProbe/readinessProbe exist), so the +# liveness probe itself has to be generous enough to cover full startup - +# even home's copied startupProbe timings (60s total) weren't enough on +# the VPS's more modest hardware; confirmed live it needs 100s+. +# initialDelaySeconds + (periodSeconds * failureThreshold) = 190s runway. readinessProbe: httpGet: path: /healthz port: http - initialDelaySeconds: 5 + initialDelaySeconds: 30 periodSeconds: 5 timeoutSeconds: 3 - failureThreshold: 2 + failureThreshold: 20 livenessProbe: httpGet: path: /healthz port: http - initialDelaySeconds: 10 + initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 - failureThreshold: 3 + failureThreshold: 16 extraEnvSecrets: DB_POSTGRESDB_PASSWORD: