Is your feature request related to a problem or existing issue? Please describe.
In a managed provider environment, the control-plane is hosted and node-readiness-controller if installed is invisible to the user. so controller itself is not visible to the end-users risking duplicate installation and two controllers competing to manage taints. Add guardrails / visibility into protecting this scenario.
Describe the solution you'd like
- One simplest way to handle this to stamp our artifacts with a 'managed-by' label, ref: https://kubernetes.io/docs/reference/labels-annotations-taints/#app-kubernetes-io-managed-by.
And add clear documentation about it. A provider setup could handle this with a managed-by:<provider> label.
-
It should be added to CRD because it will be visible to any NRC install flows and available across namespaces.
-
Add a helm pre-install hook or similar so the chart installation will detect existing CRD and fail with guidance
Describe alternatives you've considered
- implement a validation check in the controller itself as a start blocker, but the discovery is complicated and may require additional permissions
- provide additional exclusive tooling for detecting if a controller exists
Is your feature request related to a problem or existing issue? Please describe.
In a managed provider environment, the control-plane is hosted and node-readiness-controller if installed is invisible to the user. so controller itself is not visible to the end-users risking duplicate installation and two controllers competing to manage taints. Add guardrails / visibility into protecting this scenario.
Describe the solution you'd like
And add clear documentation about it. A provider setup could handle this with a
managed-by:<provider>label.It should be added to CRD because it will be visible to any NRC install flows and available across namespaces.
Add a helm pre-install hook or similar so the chart installation will detect existing CRD and fail with guidance
Describe alternatives you've considered