- CPU throttling prevents app startup, not crashes - Memory OOM is the real cascading failure cause - CPU request ensures fair scheduling
- 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
- Set CPU request to VPA recommendation - Set CPU limit to VPA × 1.5 for burst allowance - Set Memory limit to VPA × 1.5 to prevent OOM - Prevent cascading failure on node failure
- Add web-app Helm chart in charts/web-app/ - Replace individual deployment/service/ingress YAML with helm-values - Update ArgoCD applications to use Helm chart with values files - Reduces per-app files from 6 to 2 (argocd.yaml + helm-values.yaml) Apps migrated: jaejadle, jaejadle-dev, joossam, joossam-dev, jotion, jovies, portfolio, todo