@@ -38,7 +38,9 @@ import (
3838 "sigs.k8s.io/controller-runtime/pkg/client"
3939 crcontroller "sigs.k8s.io/controller-runtime/pkg/controller"
4040 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
41+ "sigs.k8s.io/controller-runtime/pkg/event"
4142 "sigs.k8s.io/controller-runtime/pkg/handler"
43+ "sigs.k8s.io/controller-runtime/pkg/predicate"
4244
4345 infrav1alpha2 "github.com/linode/cluster-api-provider-linode/api/v1alpha2"
4446 "github.com/linode/cluster-api-provider-linode/cloud/scope"
@@ -533,6 +535,20 @@ func (r *LinodeClusterReconciler) SetupWithManager(mgr ctrl.Manager, options crc
533535 ),
534536 builder .WithPredicates (predicates .ClusterPausedTransitionsOrInfrastructureProvisioned (mgr .GetScheme (), mgr .GetLogger ())),
535537 ).
538+ Watches (
539+ & clusterv1.Machine {},
540+ handler .EnqueueRequestsFromMapFunc (machineToLinodeCluster (r .TracedClient (), mgr .GetLogger ())),
541+ builder .WithPredicates (predicate.Funcs {
542+ CreateFunc : func (e event.CreateEvent ) bool {
543+ return ! e .Object .GetDeletionTimestamp ().IsZero ()
544+ },
545+ UpdateFunc : func (e event.UpdateEvent ) bool {
546+ return ! e .ObjectNew .GetDeletionTimestamp ().IsZero ()
547+ },
548+ DeleteFunc : func (event.DeleteEvent ) bool { return false },
549+ GenericFunc : func (event.GenericEvent ) bool { return false },
550+ }),
551+ ).
536552 Watches (
537553 & infrav1alpha2.LinodeMachine {},
538554 handler .EnqueueRequestsFromMapFunc (linodeMachineToLinodeCluster (r .TracedClient (), mgr .GetLogger ())),
0 commit comments