From 8353cf22bcef39bd389f5f8c94834fa44703bcb3 Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Wed, 7 Jan 2026 23:25:06 +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 code-server, crafty, mas, umami, immich - Configure 300s startup timeout (10s × 30 attempts) - Set initialDelaySeconds to 0 for liveness/readiness - Reduce immich-ml memory from 2Gi to 1Gi (node memory limit) --- code-server/helm-values.yaml | 12 ++++++++++-- crafty/helm-values.yaml | 19 ++++++++++++++----- immich/helm-values.yaml | 24 ++++++++++++++++++++++-- mas/helm-values.yaml | 13 +++++++++++-- umami/helm-values.yaml | 12 ++++++++++-- 5 files changed, 67 insertions(+), 13 deletions(-) diff --git a/code-server/helm-values.yaml b/code-server/helm-values.yaml index 16557bc..64c9c2a 100644 --- a/code-server/helm-values.yaml +++ b/code-server/helm-values.yaml @@ -72,12 +72,20 @@ extraVars: value: "coder:\\w~ " # Health checks +startupProbe: + enabled: true + httpGet: + path: /healthz + port: 8080 + periodSeconds: 10 + failureThreshold: 30 + livenessProbe: enabled: true httpGet: path: /healthz port: 8080 - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: @@ -85,5 +93,5 @@ readinessProbe: httpGet: path: /healthz port: 8080 - initialDelaySeconds: 10 + initialDelaySeconds: 0 periodSeconds: 5 diff --git a/crafty/helm-values.yaml b/crafty/helm-values.yaml index 69d5a68..6705665 100644 --- a/crafty/helm-values.yaml +++ b/crafty/helm-values.yaml @@ -16,17 +16,26 @@ resources: cpu: 53m memory: 192Mi -# Disable default probes (Crafty HTTPS needs time to initialize) -livenessProbe: - initialDelaySeconds: 60 +# Health checks with startupProbe for slow initialization +startupProbe: httpGet: path: / port: https scheme: HTTPS -readinessProbe: - initialDelaySeconds: 60 periodSeconds: 10 failureThreshold: 30 + +livenessProbe: + initialDelaySeconds: 0 + periodSeconds: 10 + httpGet: + path: / + port: https + scheme: HTTPS + +readinessProbe: + initialDelaySeconds: 0 + periodSeconds: 10 httpGet: path: / port: https diff --git a/immich/helm-values.yaml b/immich/helm-values.yaml index c5c1dc0..bee5811 100644 --- a/immich/helm-values.yaml +++ b/immich/helm-values.yaml @@ -63,6 +63,16 @@ server: limits: cpu: 23m memory: 768Mi + probes: + startup: + enabled: true + custom: true + spec: + httpGet: + path: /api/server-info/ping + port: 2283 + periodSeconds: 10 + failureThreshold: 30 ingress: main: enabled: true @@ -90,10 +100,20 @@ machine-learning: resources: requests: cpu: 15m - memory: 2Gi + memory: 1Gi limits: cpu: 23m - memory: 3Gi + memory: 1536Mi + probes: + startup: + enabled: true + custom: true + spec: + httpGet: + path: /ping + port: 3003 + periodSeconds: 10 + failureThreshold: 30 persistence: cache: enabled: false diff --git a/mas/helm-values.yaml b/mas/helm-values.yaml index a454f04..f84b52f 100644 --- a/mas/helm-values.yaml +++ b/mas/helm-values.yaml @@ -50,6 +50,15 @@ controllers: cpu: 23m memory: 225Mi probes: + startup: + enabled: true + custom: true + spec: + httpGet: + path: / + port: 8000 + periodSeconds: 10 + failureThreshold: 30 liveness: enabled: true custom: true @@ -57,7 +66,7 @@ controllers: httpGet: path: / port: 8000 - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readiness: enabled: true @@ -66,7 +75,7 @@ controllers: httpGet: path: / port: 8000 - initialDelaySeconds: 10 + initialDelaySeconds: 0 periodSeconds: 5 service: diff --git a/umami/helm-values.yaml b/umami/helm-values.yaml index c28adde..66515e1 100644 --- a/umami/helm-values.yaml +++ b/umami/helm-values.yaml @@ -55,12 +55,20 @@ autoscaling: targetCPUUtilizationPercentage: 80 # Health checks +startupProbe: + enabled: true + httpGet: + path: /api/heartbeat + port: 3000 + periodSeconds: 10 + failureThreshold: 30 + livenessProbe: enabled: true httpGet: path: /api/heartbeat port: 3000 - initialDelaySeconds: 30 + initialDelaySeconds: 0 periodSeconds: 10 readinessProbe: @@ -68,5 +76,5 @@ readinessProbe: httpGet: path: /api/heartbeat port: 3000 - initialDelaySeconds: 10 + initialDelaySeconds: 0 periodSeconds: 5