Canonical controller names
NAMING CONVENTIONS 1. naming should be consistent across the controllers 2. use of shortcuts should be avoided, unless they are well-known non-Kubernetes shortcuts 3. Kubernetes' resources should be written together without a hyphen ("-")
CHANGE POLICY The controller names should be treated as IDs. They can only be changed if absolutely necessary. For example if an inappropriate name was chosen in the past, or if the scope of the controller changes. When a name is changed, the old name should be aliased in app.ControllerDescriptor#GetAliases, while preserving all old aliases. This is done to achieve backwards compatibility
USE CASES The following places should use the controller name constants, when:
const ( ServiceAccountTokenController = "serviceaccount-token-controller" EndpointsController = "endpoints-controller" EndpointSliceController = "endpointslice-controller" EndpointSliceMirroringController = "endpointslice-mirroring-controller" ReplicationControllerController = "replicationcontroller-controller" PodGarbageCollectorController = "pod-garbage-collector-controller" ResourceQuotaController = "resourcequota-controller" NamespaceController = "namespace-controller" ServiceAccountController = "serviceaccount-controller" GarbageCollectorController = "garbage-collector-controller" DaemonSetController = "daemonset-controller" JobController = "job-controller" DeploymentController = "deployment-controller" ReplicaSetController = "replicaset-controller" HorizontalPodAutoscalerController = "horizontal-pod-autoscaler-controller" DisruptionController = "disruption-controller" StatefulSetController = "statefulset-controller" CronJobController = "cronjob-controller" CertificateSigningRequestSigningController = "certificatesigningrequest-signing-controller" CertificateSigningRequestApprovingController = "certificatesigningrequest-approving-controller" CertificateSigningRequestCleanerController = "certificatesigningrequest-cleaner-controller" TTLController = "ttl-controller" BootstrapSignerController = "bootstrap-signer-controller" TokenCleanerController = "token-cleaner-controller" NodeIpamController = "node-ipam-controller" NodeLifecycleController = "node-lifecycle-controller" TaintEvictionController = "taint-eviction-controller" PersistentVolumeBinderController = "persistentvolume-binder-controller" PersistentVolumeAttachDetachController = "persistentvolume-attach-detach-controller" PersistentVolumeExpanderController = "persistentvolume-expander-controller" ClusterRoleAggregationController = "clusterrole-aggregation-controller" PersistentVolumeClaimProtectionController = "persistentvolumeclaim-protection-controller" PersistentVolumeProtectionController = "persistentvolume-protection-controller" TTLAfterFinishedController = "ttl-after-finished-controller" RootCACertificatePublisherController = "root-ca-certificate-publisher-controller" EphemeralVolumeController = "ephemeral-volume-controller" StorageVersionGarbageCollectorController = "storageversion-garbage-collector-controller" ResourceClaimController = "resourceclaim-controller" LegacyServiceAccountTokenCleanerController = "legacy-serviceaccount-token-cleaner-controller" ValidatingAdmissionPolicyStatusController = "validatingadmissionpolicy-status-controller" ServiceCIDRController = "service-cidr-controller" StorageVersionMigratorController = "storage-version-migrator-controller" )