@@ -38,6 +38,7 @@ import (
3838 "github.com/apache/apisix-ingress-controller/api/v1alpha1"
3939 "github.com/apache/apisix-ingress-controller/internal/controller/indexer"
4040 "github.com/apache/apisix-ingress-controller/internal/controller/status"
41+ "github.com/apache/apisix-ingress-controller/internal/manager/readiness"
4142 "github.com/apache/apisix-ingress-controller/internal/provider"
4243 "github.com/apache/apisix-ingress-controller/internal/utils"
4344)
@@ -51,6 +52,7 @@ type ConsumerReconciler struct { //nolint:revive
5152 Provider provider.Provider
5253
5354 Updater status.Updater
55+ Readier readiness.ReadinessManager
5456}
5557
5658// SetupWithManager sets up the controller with the Manager.
@@ -181,6 +183,7 @@ func (r *ConsumerReconciler) listConsumersForGatewayProxy(ctx context.Context, o
181183}
182184
183185func (r * ConsumerReconciler ) Reconcile (ctx context.Context , req ctrl.Request ) (ctrl.Result , error ) {
186+ defer r .Readier .Done (& v1alpha1.Consumer {}, req .NamespacedName )
184187 consumer := new (v1alpha1.Consumer )
185188 if err := r .Get (ctx , req .NamespacedName , consumer ); err != nil {
186189 if client .IgnoreNotFound (err ) == nil {
@@ -303,31 +306,5 @@ func (r *ConsumerReconciler) checkGatewayRef(object client.Object) bool {
303306 if ! ok {
304307 return false
305308 }
306- if consumer .Spec .GatewayRef .Name == "" {
307- return false
308- }
309- if consumer .Spec .GatewayRef .Kind != nil && * consumer .Spec .GatewayRef .Kind != KindGateway {
310- return false
311- }
312- if consumer .Spec .GatewayRef .Group != nil && * consumer .Spec .GatewayRef .Group != gatewayv1 .GroupName {
313- return false
314- }
315- ns := consumer .GetNamespace ()
316- if consumer .Spec .GatewayRef .Namespace != nil {
317- ns = * consumer .Spec .GatewayRef .Namespace
318- }
319- gateway := & gatewayv1.Gateway {}
320- if err := r .Get (context .Background (), client.ObjectKey {
321- Name : consumer .Spec .GatewayRef .Name ,
322- Namespace : ns ,
323- }, gateway ); err != nil {
324- r .Log .Error (err , "failed to get gateway" , "gateway" , consumer .Spec .GatewayRef .Name )
325- return false
326- }
327- gatewayClass := & gatewayv1.GatewayClass {}
328- if err := r .Get (context .Background (), client.ObjectKey {Name : string (gateway .Spec .GatewayClassName )}, gatewayClass ); err != nil {
329- r .Log .Error (err , "failed to get gateway class" , "gateway" , gateway .GetName (), "gatewayclass" , gateway .Spec .GatewayClassName )
330- return false
331- }
332- return matchesController (string (gatewayClass .Spec .ControllerName ))
309+ return MatchConsumerGatewayRef (context .Background (), r .Client , r .Log , consumer )
333310}
0 commit comments