feat(helm-ee)!: add worker pools and extraDeploy hook + major bump chart to v9.0.0#845
Conversation
…viceAccount wiring
… pool deployments
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds per-pool worker support to the Mend Renovate EE Helm chart and docs: introduces Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
🚥 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 |
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@helm-charts/mend-renovate-ee/templates/worker-deployment.yaml`:
- Around line 82-83: The shared helper mend-renovate.worker-pod-spec emits
.worker.restartPolicy unconditionally which causes invalid Deployments when
pools set restartPolicy: Never; fix by making the helper controller-aware or
enforcing Allowed values on the Deployment path: update the include call where
you render the Deployment (the include of "mend-renovate.worker-pod-spec") to
pass a controller flag (e.g., add "controller": "deployment" to the dict) and
change the helper logic in mend-renovate.worker-pod-spec to only emit
restartPolicy when controller != "deployment" or when the value is "Always"
(otherwise omit or coerce to "Always"); alternatively, add a validation branch
in the Deployment template that rejects/nullifies non-"Always"
.worker.restartPolicy before calling the helper.
- Around line 7-20: Update the Helm helper mend-renovate.validate-worker-pools
(in templates/_helpers.tpl) to validate each pool name against Kubernetes
DNS-1123 subdomain rules: ensure renovateWorker.name is present, lowercase, only
alphanumeric and hyphens, does not start or end with a hyphen, and is <= 63
characters; use required plus regexMatch to enforce the pattern and length and
fail with a clear message (e.g., "renovateWorker.pools[].name must be a valid
DNS-1123 subdomain: lowercase alphanumerics and '-' only, max 63 chars") so
invalid names like "ARM_64" or overly long names are rejected during helm
template/validate.
In `@helm-charts/mend-renovate-ee/templates/worker-extra-configmaps.yaml`:
- Around line 6-10: The duplicate-detection currently uses only metadata.name
(variable $extraConfigMapName and map $seenConfigMapNames) which wrongly treats
same-named ConfigMaps in different namespaces as duplicates; change the key to
namespace-qualified form by reading metadata.namespace (defaulting to
$.Release.Namespace) and constructing a combined key like "<namespace>/<name>"
when setting and checking $seenConfigMapNames in the root loop that processes
renovateWorker.extraConfigMaps and likewise in the pool loop that processes
pool.extraConfigMaps so both loops use the same namespace-scoped keying for
duplicate detection.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 674b7e0d-73e6-458f-bb15-1181068d4cbd
📒 Files selected for processing (10)
docs/worker-queues.mdhelm-charts/mend-renovate-ee/Chart.yamlhelm-charts/mend-renovate-ee/templates/_helpers.tplhelm-charts/mend-renovate-ee/templates/_worker-pod.tplhelm-charts/mend-renovate-ee/templates/configmap.yamlhelm-charts/mend-renovate-ee/templates/extra-deploy.yamlhelm-charts/mend-renovate-ee/templates/secret.yamlhelm-charts/mend-renovate-ee/templates/worker-deployment.yamlhelm-charts/mend-renovate-ee/templates/worker-extra-configmaps.yamlhelm-charts/mend-renovate-ee/values.yaml
Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
Summary
This PR adds worker pool support to the EE Helm chart and introduces a minimal, vendor neutral
extraDeployextension point for custommanifests (for example,
KEDA), while keeping default rendering unchanged when pools are not used.Versioning
Important
This is a major chart version bump because pod template
annotation/checksumcalculation changed.That changes rendered pod template metadata and can trigger rollout behavior differences on upgrade.
9.0.0.What Changed
renovateWorker.poolssupport:renovateWorker(viamustMergeOverwrite).createDeploymentcontrol.mend-renovate.worker-pod-spec: renders the worker pod innertemplate.specfor reuse across worker Deployment and custom manifests(for example via
extraDeploy).mend-renovate.worker-for-pool: builds merged worker values for a specific pool.extraDeploywith templating support (viatpl) for rendering additional arbitrary manifests.mendRnvWorkerQueuesmendRnvSingleJobWorkerrestartPolicyas a first-class worker value.Summary by CodeRabbit
New Features
Documentation
Chores