Expose nodeSelector in knative-operator Helm chart
- Dominant language
- Go
- Stars
- 226
- Forks
- 117
- Avg merge
- 12h 40m
- Merged PRs (30d)
- 12
Description
## Problem
The knative-operator Helm chart exposes affinity and tolerations for both chart-owned deployments:
- knative_operator.knative_operator.affinity
- knative_operator.knative_operator.tolerations
- knative_operator.operator_webhook.affinity
- knative_operator.operator_webhook.tolerations
It does not expose matching nodeSelector values for those same deployments.
Clusters with dedicated node pools often need all three scheduling knobs. Today the workaround is to express simple node selection through affinity.nodeAffinity, which works but is more verbose and less consistent with common Helm chart behavior.
## Request
Add nodeSelector support for both chart-owned deployments:
- knative_operator.knative_operator.nodeSelector
- knative_operator.operator_webhook.nodeSelector
and render those values into spec.template.spec.nodeSelector.
## Related
- #5 requested nodeSelector, tolerations, and affinity support broadly.
- #658 added spec.deployments.nodeSelector support for KnativeServing/KnativeEventing workloads managed by the operator.
- #1479 / #1480 added nodeSelector and toleration support for migration jobs.
This issue is narrower: it only covers the Helm chart's own operator and webhook deployment pods.
Contributor guide
Research direction
Start by locating the Knative operator Helm chart values and templates for the knative_operator and operator_webhook deployments. Render the chart with nodeSelector values for both deployments and verify they appear under spec.template.spec.nodeSelector without changing the existing affinity or tolerations behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100