diff --git a/pkg/controlplane/controller/crdregistration/crdregistration_controller.go b/pkg/controlplane/controller/crdregistration/crdregistration_controller.go index 8cd7a7c8bb73a..f1410fd30317d 100644 --- a/pkg/controlplane/controller/crdregistration/crdregistration_controller.go +++ b/pkg/controlplane/controller/crdregistration/crdregistration_controller.go @@ -198,6 +198,10 @@ func (c *crdRegistrationController) handleVersionUpdate(groupVersion schema.Grou apiServiceName := groupVersion.Version + "." + groupVersion.Group if apiserver.APIServiceAlreadyExists(groupVersion) { + // Removing APIService from sync means the CRD registration controller won't sync this APIService + // anymore. If the APIService is managed externally, this will mean the external component can + // update this APIService without CRD controller stomping the changes on it. + c.apiServiceRegistration.RemoveAPIServiceToSync(apiServiceName) return nil }