diff --git a/internal/controller/apisixpluginconfig_controller.go b/internal/controller/apisixpluginconfig_controller.go index 8751d107ba..dcba68fb73 100644 --- a/internal/controller/apisixpluginconfig_controller.go +++ b/internal/controller/apisixpluginconfig_controller.go @@ -29,6 +29,7 @@ import ( apiv2 "github.com/apache/apisix-ingress-controller/api/v2" "github.com/apache/apisix-ingress-controller/internal/controller/status" + "github.com/apache/apisix-ingress-controller/internal/manager/readiness" "github.com/apache/apisix-ingress-controller/internal/provider" "github.com/apache/apisix-ingress-controller/internal/utils" ) @@ -39,6 +40,7 @@ type ApisixPluginConfigReconciler struct { Scheme *runtime.Scheme Log logr.Logger Updater status.Updater + Readier readiness.ReadinessManager } // SetupWithManager sets up the controller with the Manager. @@ -51,6 +53,7 @@ func (r *ApisixPluginConfigReconciler) SetupWithManager(mgr ctrl.Manager) error } func (r *ApisixPluginConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + defer r.Readier.Done(&apiv2.ApisixPluginConfig{}, req.NamespacedName) var pc apiv2.ApisixPluginConfig if err := r.Get(ctx, req.NamespacedName, &pc); err != nil { return ctrl.Result{}, client.IgnoreNotFound(err) diff --git a/internal/controller/apisixupstream_controller.go b/internal/controller/apisixupstream_controller.go index 14dba916cc..c0d63e910d 100644 --- a/internal/controller/apisixupstream_controller.go +++ b/internal/controller/apisixupstream_controller.go @@ -28,6 +28,7 @@ import ( apiv2 "github.com/apache/apisix-ingress-controller/api/v2" "github.com/apache/apisix-ingress-controller/internal/controller/status" + "github.com/apache/apisix-ingress-controller/internal/manager/readiness" "github.com/apache/apisix-ingress-controller/internal/provider" "github.com/apache/apisix-ingress-controller/internal/utils" ) @@ -38,6 +39,7 @@ type ApisixUpstreamReconciler struct { Scheme *runtime.Scheme Log logr.Logger Updater status.Updater + Readier readiness.ReadinessManager } // SetupWithManager sets up the controller with the Manager. @@ -50,6 +52,7 @@ func (r *ApisixUpstreamReconciler) SetupWithManager(mgr ctrl.Manager) error { } func (r *ApisixUpstreamReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { + defer r.Readier.Done(&apiv2.ApisixUpstream{}, req.NamespacedName) var au apiv2.ApisixUpstream if err := r.Get(ctx, req.NamespacedName, &au); err != nil { return ctrl.Result{}, client.IgnoreNotFound(err) diff --git a/internal/manager/controllers.go b/internal/manager/controllers.go index a397056648..9b37066c55 100644 --- a/internal/manager/controllers.go +++ b/internal/manager/controllers.go @@ -269,6 +269,7 @@ func setupAPIv2Controllers(ctx context.Context, mgr manager.Manager, pro provide Scheme: mgr.GetScheme(), Log: ctrl.LoggerFrom(ctx).WithName("controllers").WithName(types.KindApisixPluginConfig), Updater: updater, + Readier: readier, }, &apiv2.ApisixTls{}: &controller.ApisixTlsReconciler{ Client: mgr.GetClient(), @@ -283,6 +284,7 @@ func setupAPIv2Controllers(ctx context.Context, mgr manager.Manager, pro provide Scheme: mgr.GetScheme(), Log: ctrl.LoggerFrom(ctx).WithName("controllers").WithName(types.KindApisixUpstream), Updater: updater, + Readier: readier, }, } { if utils.HasAPIResource(mgr, resource) {