Skip to content

Commit

Permalink
update runner.go
Browse files Browse the repository at this point in the history
  • Loading branch information
ilackarms committed May 7, 2024
1 parent 7d982f5 commit 07e0c11
Showing 1 changed file with 27 additions and 1 deletion.
28 changes: 27 additions & 1 deletion pkg/reconcile/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"context"
"fmt"

"sigs.k8s.io/controller-runtime/pkg/event"

"github.com/rotisserie/eris"

"github.com/solo-io/skv2/pkg/verifier"
Expand Down Expand Up @@ -122,8 +124,32 @@ func (r *runner) RunReconciler(ctx context.Context, reconciler Reconciler, predi
return err
}

var typedPredicates []predicate.TypedPredicate[ezkube.Object]
for _, p := range predicates {
typedPredicates = append(typedPredicates, predicate.TypedFuncs[ezkube.Object]{
CreateFunc: func(e event.TypedCreateEvent[ezkube.Object]) bool {
return p.Create(event.TypedCreateEvent[client.Object]{
Object: e.Object,
})
},
DeleteFunc: func(e event.TypedDeleteEvent[ezkube.Object]) bool {
return p.Delete(event.TypedDeleteEvent[client.Object]{
Object: e.Object,
})
},
UpdateFunc: func(e event.TypedUpdateEvent[ezkube.Object]) bool {
return p.Update(event.TypedUpdateEvent[client.Object]{ObjectOld: e.ObjectOld, ObjectNew: e.ObjectNew})
},
GenericFunc: func(e event.TypedGenericEvent[ezkube.Object]) bool {
return p.Generic(event.TypedGenericEvent[client.Object]{
Object: e.Object,
})
},
})
}

// send us watch events
if err := ctl.Watch(source.Kind(r.mgr.GetCache(), r.resource), &handler.EnqueueRequestForObject{}, predicates...); err != nil {
if err := ctl.Watch(source.Kind(r.mgr.GetCache(), r.resource, &handler.TypedEnqueueRequestForObject[ezkube.Object]{}, typedPredicates...)); err != nil {
return err
}

Expand Down

0 comments on commit 07e0c11

Please sign in to comment.