diff --git a/controllers/vectorstore_controller.go b/controllers/vectorstore_controller.go index faf4ac3d5..6b84f7d72 100644 --- a/controllers/vectorstore_controller.go +++ b/controllers/vectorstore_controller.go @@ -25,8 +25,10 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/klog/v2" ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" arcadiav1alpha1 "github.com/kubeagi/arcadia/api/base/v1alpha1" @@ -74,7 +76,7 @@ func (r *VectorStoreReconciler) Reconcile(ctx context.Context, req ctrl.Request) return ctrl.Result{}, err } log.Info("Adding Finalizer for VectorStore done") - return ctrl.Result{}, nil + return ctrl.Result{Requeue: true}, nil } // Check if the VectorStore instance is marked to be deleted, which is @@ -103,7 +105,7 @@ func (r *VectorStoreReconciler) Reconcile(ctx context.Context, req ctrl.Request) } if err := r.CheckVectorStore(ctx, log, vs); err != nil { - return reconcile.Result{RequeueAfter: waitMedium}, err + return reconcile.Result{RequeueAfter: waitMedium}, nil } return ctrl.Result{RequeueAfter: waitLonger}, nil @@ -112,7 +114,8 @@ func (r *VectorStoreReconciler) Reconcile(ctx context.Context, req ctrl.Request) // SetupWithManager sets up the controller with the Manager. func (r *VectorStoreReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). - For(&arcadiav1alpha1.VectorStore{}). + For(&arcadiav1alpha1.VectorStore{}, + builder.WithPredicates(predicate.GenerationChangedPredicate{})). Complete(r) }