@@ -79,12 +79,12 @@ func NewAPIServiceExportRequestReconciler(
7979
8080 // Set up field indexers for APIServiceExportRequests
8181 if err := mgr .GetFieldIndexer ().IndexField (ctx , & kubebindv1alpha2.APIServiceExportRequest {}, indexers .ServiceExportRequestByServiceExport ,
82- indexers .IndexServiceExportRequestByServiceExportControllerRuntime ); err != nil {
82+ indexers .IndexServiceExportRequestByServiceExport ); err != nil {
8383 return nil , fmt .Errorf ("failed to setup ServiceExportRequestByServiceExport indexer: %w" , err )
8484 }
8585
8686 if err := mgr .GetFieldIndexer ().IndexField (ctx , & kubebindv1alpha2.APIServiceExportRequest {}, indexers .ServiceExportRequestByGroupResource ,
87- indexers .IndexServiceExportRequestByGroupResourceControllerRuntime ); err != nil {
87+ indexers .IndexServiceExportRequestByGroupResource ); err != nil {
8888 return nil , fmt .Errorf ("failed to setup ServiceExportRequestByGroupResource indexer: %w" , err )
8989 }
9090
@@ -97,14 +97,6 @@ func NewAPIServiceExportRequestReconciler(
9797 reconciler : reconciler {
9898 informerScope : scope ,
9999 clusterScopedIsolation : isolation ,
100- getCRD : func (ctx context.Context , cache cache.Cache , name string ) (* apiextensionsv1.CustomResourceDefinition , error ) {
101- var crd apiextensionsv1.CustomResourceDefinition
102- key := types.NamespacedName {Name : name }
103- if err := cache .Get (ctx , key , & crd ); err != nil {
104- return nil , err
105- }
106- return & crd , nil
107- },
108100 getAPIResourceSchema : func (ctx context.Context , cache cache.Cache , name string ) (* kubebindv1alpha2.APIResourceSchema , error ) {
109101 var schema kubebindv1alpha2.APIResourceSchema
110102 key := types.NamespacedName {Name : name }
@@ -137,9 +129,8 @@ func NewAPIServiceExportRequestReconciler(
137129}
138130
139131// getServiceExportRequestMapper creates a mapping function for ServiceExport changes.
140-
141132func getServiceExportRequestMapper (clusterName string , cl cluster.Cluster ) handler.TypedEventHandler [client.Object , mcreconcile.Request ] {
142- return handler.TypedEnqueueRequestsFromMapFunc [client. Object , mcreconcile. Request ] (func (ctx context.Context , obj client.Object ) []mcreconcile.Request {
133+ return handler .TypedEnqueueRequestsFromMapFunc (func (ctx context.Context , obj client.Object ) []mcreconcile.Request {
143134 serviceExport := obj .(* kubebindv1alpha2.APIServiceExport )
144135 seKey := serviceExport .Namespace + "/" + serviceExport .Name
145136
@@ -167,16 +158,15 @@ func getServiceExportRequestMapper(clusterName string, cl cluster.Cluster) handl
167158 })
168159}
169160
170- // getCRDMapper creates a mapping function for CRD changes.
171- func getCRDMapper (clusterName string , cl cluster.Cluster ) handler.TypedEventHandler [client.Object , mcreconcile.Request ] {
172- return handler.TypedEnqueueRequestsFromMapFunc [client.Object , mcreconcile.Request ](func (ctx context.Context , obj client.Object ) []mcreconcile.Request {
173- crd := obj .(* apiextensionsv1.CustomResourceDefinition )
174- crdKey := crd .Name // CRDs are cluster-scoped
175-
161+ // getAPIResourceSchemaMapper creates a mapping function for APIResourceSchema changes.
162+ func getAPIResourceSchemaMapper (clusterName string , cl cluster.Cluster ) handler.TypedEventHandler [client.Object , mcreconcile.Request ] {
163+ return handler .TypedEnqueueRequestsFromMapFunc (func (ctx context.Context , obj client.Object ) []mcreconcile.Request {
164+ apiResourceSchema := obj .(* kubebindv1alpha2.APIResourceSchema )
165+ apiResourceSchemaKey := apiResourceSchema .Name
176166 c := cl .GetClient ()
177167
178168 var requests kubebindv1alpha2.APIServiceExportRequestList
179- if err := c .List (ctx , & requests , client.MatchingFields {indexers .ServiceExportRequestByGroupResource : crdKey }); err != nil {
169+ if err := c .List (ctx , & requests , client.MatchingFields {indexers .ServiceExportRequestByGroupResource : apiResourceSchemaKey }); err != nil {
180170 return []mcreconcile.Request {}
181171 }
182172
@@ -259,8 +249,8 @@ func (r *APIServiceExportRequestReconciler) SetupWithManager(mgr mcmanager.Manag
259249 getServiceExportRequestMapper ,
260250 ).
261251 Watches (
262- & apiextensionsv1. CustomResourceDefinition {},
263- getCRDMapper ,
252+ & kubebindv1alpha2. APIResourceSchema {},
253+ getAPIResourceSchemaMapper ,
264254 ).
265255 Named (controllerName ).
266256 Complete (r )
0 commit comments