Repository navigation
fix(kyverno): exclude the system namespaces from auto-vpa explicitly - #4232
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai review |
Evaluation at
|
✅ Action performedReview finished.
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (10)
🔇 Additional comments (1)
📝 WalkthroughWalkthroughThe auto-VPA policy now excludes kube-system, kube-public, kube-node-lease, and kyverno from VPA generation for Deployments, StatefulSets, and DaemonSets. Its header and description document the exclusions and note that prod uses static VPAs in those namespaces. Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to The change is reported to apply the requested namespace exclusions across all three VPA rules, with no actionable merge risk identified. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Why
The policy system has not checked the cluster's own system areas since June (#4228). Before the proposed repair can stop filtering those areas out, the rule that sizes workloads automatically has to leave those areas alone, because prod already sizes their controllers with hand-written settings of the same names. If that rule reached them, it and the deployment tooling would keep overwriting each other.
What
The automatic sizing rule now skips the four system areas explicitly, so it no longer depends on the global filter to stay out. Nothing changes today, because the filter still hides those areas. This clears the prerequisite that the #4228 decision named before the filter entries can be removed.
Fixes #4231