feat: kubevuln SBOM scanner sidecar support#803
Conversation
Add opt-in sidecar container for kubevuln that isolates Syft SBOM generation in a separate memory cgroup, preventing OOM kills from crashing the main kubevuln pod. - kubevuln.sbomScanner.enabled (default: false) adds sbom-scanner sidecar container using the same kubevuln image - Shared emptyDir volume (sbom-comm) for Unix domain socket IPC - SBOM_SCANNER_SOCKET and SCANNER_MEMORY_LIMIT env vars on main container - GOMEMLIMIT via downward API on sidecar container Companion PR: kubescape/kubevuln#335 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ben <ben@armosec.io>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe pull request adds optional sidecar support for an Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
matthyx
left a comment
There was a problem hiding this comment.
approved, but we need to use the released tag
Summary
kubevuln.sbomScanner.enabledflag (default:false) that deploys an sbom-scanner sidecar container alongside kubevuln/usr/bin/sbom-scannerbinarysbom-commemptyDir volume for Unix domain socket IPC between containersGOMEMLIMITset via downward API on the sidecar for Go runtime memory awarenessCompanion PR
kubevuln code changes: kubescape/kubevuln#335
Values added
Test plan
helm lintpasses with sidecar enabled and disabledhelm templateshows correct sidecar container, volumes, and env vars when enabledhelm templateshows no sidecar artifacts when disabled (backward compatible)kubevuln.sbomScanner.enabled=true— pod starts with both containers, scanner connected, SBOMs generated🤖 Generated with Claude Code
Summary by CodeRabbit