From 70806f95bed148013bc0ecd392218151b6b36728 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Wed, 27 May 2026 11:00:07 +0200 Subject: [PATCH] feat(datastore): triggering tcp reconciliation upon secret changes (#1161) Signed-off-by: Dario Tranchitella --- controllers/datastore_controller.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/controllers/datastore_controller.go b/controllers/datastore_controller.go index 14cbd1c..94d710d 100644 --- a/controllers/datastore_controller.go +++ b/controllers/datastore_controller.go @@ -287,6 +287,21 @@ func (r *DataStore) SetupWithManager(mgr controllerruntime.Manager) error { enqueueFn(deleteEvent.Object.(*kamajiv1alpha1.TenantControlPlane), w) }, }). + Watches(&corev1.Secret{}, handler.EnqueueRequestsFromMapFunc(func(ctx context.Context, object client.Object) []reconcile.Request { + var dsList kamajiv1alpha1.DataStoreList + if err := r.Client.List(ctx, &dsList, client.MatchingFieldsSelector{Selector: fields.OneTermEqualSelector(kamajiv1alpha1.DatastoreUsedSecretNamespacedNameKey, fmt.Sprintf("%s/%s", object.GetNamespace(), object.GetName()))}); err != nil { + return nil + } + + requests := make([]reconcile.Request, 0, len(dsList.Items)) + for _, ds := range dsList.Items { + requests = append(requests, reconcile.Request{NamespacedName: k8stypes.NamespacedName{ + Name: ds.Name, + }}) + } + + return requests + })). Complete(r) }