From 83fd149f58030b29736e8dca0788f6a821fe7f0f Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 7 Jan 2026 23:20:09 +0900 Subject: [PATCH] FEAT(repo): add startupProbe for CPU-limited apps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add startupProbe to Helm chart template - Configure 300s startup timeout (10s × 30 attempts) - Set initialDelaySeconds to 0 for liveness/readiness - Prevents pod restart loop during slow startup --- charts/web-app/templates/deployment.yaml | 8 ++++++++ jaejadle-dev/helm-values.yaml | 7 +++++-- jaejadle/helm-values.yaml | 7 +++++-- joossam-dev/helm-values.yaml | 7 +++++-- joossam/helm-values.yaml | 7 +++++-- jotion/helm-values.yaml | 7 +++++-- jovies/helm-values.yaml | 7 +++++-- portfolio/helm-values.yaml | 7 +++++-- todo/helm-values.yaml | 7 +++++-- 9 files changed, 48 insertions(+), 16 deletions(-) diff --git a/charts/web-app/templates/deployment.yaml b/charts/web-app/templates/deployment.yaml index 914eafa..b470b7b 100644 --- a/charts/web-app/templates/deployment.yaml +++ b/charts/web-app/templates/deployment.yaml @@ -60,6 +60,14 @@ spec: port: {{ .Values.containerPort }} initialDelaySeconds: {{ .Values.healthCheck.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.healthCheck.readinessProbe.periodSeconds }} + {{- if .Values.healthCheck.startupProbe }} + startupProbe: + httpGet: + path: {{ .Values.healthCheck.path }} + port: {{ .Values.containerPort }} + periodSeconds: {{ .Values.healthCheck.startupProbe.periodSeconds | default 10 }} + failureThreshold: {{ .Values.healthCheck.startupProbe.failureThreshold | default 30 }} + {{- end }} {{- end }} restartPolicy: Always {{- with .Values.nodeSelector }} diff --git a/jaejadle-dev/helm-values.yaml b/jaejadle-dev/helm-values.yaml index 2dea0dc..ca2065f 100644 --- a/jaejadle-dev/helm-values.yaml +++ b/jaejadle-dev/helm-values.yaml @@ -45,11 +45,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 envFrom: diff --git a/jaejadle/helm-values.yaml b/jaejadle/helm-values.yaml index b67d512..2ede5e2 100644 --- a/jaejadle/helm-values.yaml +++ b/jaejadle/helm-values.yaml @@ -45,11 +45,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 envFrom: diff --git a/joossam-dev/helm-values.yaml b/joossam-dev/helm-values.yaml index 81d382e..4f7e0ec 100644 --- a/joossam-dev/helm-values.yaml +++ b/joossam-dev/helm-values.yaml @@ -45,11 +45,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 10 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 externalSecret: diff --git a/joossam/helm-values.yaml b/joossam/helm-values.yaml index e776fd8..e6b062e 100644 --- a/joossam/helm-values.yaml +++ b/joossam/helm-values.yaml @@ -45,11 +45,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 10 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 externalSecret: diff --git a/jotion/helm-values.yaml b/jotion/helm-values.yaml index 15cbf64..4cf737b 100644 --- a/jotion/helm-values.yaml +++ b/jotion/helm-values.yaml @@ -50,11 +50,14 @@ resources: healthCheck: enabled: true path: /api/health + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 env: diff --git a/jovies/helm-values.yaml b/jovies/helm-values.yaml index ebe8184..eb53abb 100644 --- a/jovies/helm-values.yaml +++ b/jovies/helm-values.yaml @@ -47,11 +47,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 env: diff --git a/portfolio/helm-values.yaml b/portfolio/helm-values.yaml index 270ad6f..86b76e4 100644 --- a/portfolio/helm-values.yaml +++ b/portfolio/helm-values.yaml @@ -49,11 +49,14 @@ resources: healthCheck: enabled: true path: / + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 env: diff --git a/todo/helm-values.yaml b/todo/helm-values.yaml index 9bac097..8e51caa 100644 --- a/todo/helm-values.yaml +++ b/todo/helm-values.yaml @@ -50,11 +50,14 @@ resources: healthCheck: enabled: true path: /api/health + startupProbe: + periodSeconds: 10 + failureThreshold: 30 livenessProbe: - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: - initialDelaySeconds: 5 + initialDelaySeconds: 0 periodSeconds: 5 env: