@@ -38,6 +38,7 @@ import (
38
38
"github.com/apache/apisix-ingress-controller/api/v1alpha1"
39
39
"github.com/apache/apisix-ingress-controller/internal/controller/indexer"
40
40
"github.com/apache/apisix-ingress-controller/internal/controller/status"
41
+ "github.com/apache/apisix-ingress-controller/internal/manager/readiness"
41
42
"github.com/apache/apisix-ingress-controller/internal/provider"
42
43
"github.com/apache/apisix-ingress-controller/internal/utils"
43
44
)
@@ -51,6 +52,7 @@ type ConsumerReconciler struct { //nolint:revive
51
52
Provider provider.Provider
52
53
53
54
Updater status.Updater
55
+ Readier readiness.ReadinessManager
54
56
}
55
57
56
58
// SetupWithManager sets up the controller with the Manager.
@@ -181,6 +183,7 @@ func (r *ConsumerReconciler) listConsumersForGatewayProxy(ctx context.Context, o
181
183
}
182
184
183
185
func (r * ConsumerReconciler ) Reconcile (ctx context.Context , req ctrl.Request ) (ctrl.Result , error ) {
186
+ defer r .Readier .Done (& v1alpha1.Consumer {}, req .NamespacedName )
184
187
consumer := new (v1alpha1.Consumer )
185
188
if err := r .Get (ctx , req .NamespacedName , consumer ); err != nil {
186
189
if client .IgnoreNotFound (err ) == nil {
@@ -303,31 +306,5 @@ func (r *ConsumerReconciler) checkGatewayRef(object client.Object) bool {
303
306
if ! ok {
304
307
return false
305
308
}
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 )
333
310
}
0 commit comments