Skip to content

[FEATURE] add a managed-by label to CRD #438

Description

@ajaysundark

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

  1. 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.

  1. It should be added to CRD because it will be visible to any NRC install flows and available across namespaces.

  2. 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

  1. implement a validation check in the controller itself as a start blocker, but the discovery is complicated and may require additional permissions
  2. provide additional exclusive tooling for detecting if a controller exists

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions