in controllers/codebasebranch/codebasebranch_controller.go [55:97]
func (r *ReconcileCodebaseBranch) SetupWithManager(mgr ctrl.Manager, maxConcurrentReconciles int) error {
p := predicate.Funcs{
UpdateFunc: func(e event.UpdateEvent) bool {
oo, ok := e.ObjectOld.(*codebaseApi.CodebaseBranch)
if !ok {
return false
}
no, ok := e.ObjectNew.(*codebaseApi.CodebaseBranch)
if !ok {
return false
}
if codebasepredicate.PauseAnnotationChanged(oo, no) {
return true
}
if !reflect.DeepEqual(oo.Spec, no.Spec) {
return true
}
if no.DeletionTimestamp != nil {
return true
}
return false
},
}
pause := codebasepredicate.NewPause(r.log)
err := ctrl.NewControllerManagedBy(mgr).
For(&codebaseApi.CodebaseBranch{}, builder.WithPredicates(pause, p)).
WithOptions(controller.Options{
MaxConcurrentReconciles: maxConcurrentReconciles,
}).
Complete(r)
if err != nil {
return fmt.Errorf("failed to build CodebaseBranch controller: %w", err)
}
return nil
}