feat(datastore): triggering tcp reconciliation upon secret changes (#1161)

Signed-off-by: Dario Tranchitella <dario@tranchitella.eu>
This commit is contained in:
Dario Tranchitella
2026-05-27 11:00:07 +02:00
committed by GitHub
parent cd6d81a1e5
commit 70806f95be
+15
View File
@@ -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)
}