fix(helm): make KEDA hook Job resources configurable - #268
modelpath-dev wants to merge 1 commit into
Conversation
Upgrade apply OOMs at the old 256Mi limit when kubectl plus jq load live ScaledObjects. Expose hooks.resources and raise the default limit to 1Gi while keeping the 128Mi request. Co-authored-by: Cursor <cursoragent@cursor.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Helm chart exposes shared CPU and memory settings for three KEDA hook Jobs. The Jobs render these settings through a common helper. The README documents the configuration and default values. ChangesKEDA hook resource configuration
Suggested reviewers: Priority: ➖ Normal Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The configurable KEDA hook resources are consistent across values, rendering, Job consumers, and documentation. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary
The keda-apply hook is OOMKilled at a hardcoded 256Mi on upgrade. Install skips the ownership jq path, so the same limit passes there. The chart had no values key for that Job, and Helm post-renderers do not patch hook manifests.
I added
hooks.resourcesand wired it through keda-apply, keda-cleanup, and the KEDA ScaledObject/HPA gate. Default memory limit is 1Gi. Requests stay at 128Mi so scheduling does not get tighter. backoffLimit stays 0. A retry in the same memory limit does not fix this.Closes #248
Compatibility
New values key with a chart default. Existing overlays keep working. The rendered hook memory limit changes from 256Mi to 1Gi. Clusters with a tighter LimitRange can set
hooks.resources.limits.memorydown.Did not bump Chart.yaml. Release automation owns the version.
Test plan
helm lint --set payloadStore.enabled=falsehelm templatewith default values and each ofvalues-aws.yaml,values-gke.yaml,values-aks.yaml,values-ack.yamlhelm templatewithautoscaling.enabled=trueshows 128Mi request and 1Gi limit on the three Jobs--set hooks.resources.limits.memory=2Gichanges those Job limits onlyhelm packagesucceeds andChart.lockis unchangedSummary by CodeRabbit
New Features
Documentation