in controllers/cdpipeline/cdpipeline_controller.go [47:74]
func (r *ReconcileCDPipeline) SetupWithManager(mgr ctrl.Manager) error {
p := predicate.Funcs{
UpdateFunc: func(e event.UpdateEvent) bool {
oo, ok := e.ObjectOld.(*cdPipeApi.CDPipeline)
if !ok {
return false
}
no, ok := e.ObjectNew.(*cdPipeApi.CDPipeline)
if !ok {
return false
}
if no.DeletionTimestamp != nil {
return true
}
return !reflect.DeepEqual(oo.Spec, no.Spec)
},
}
if err := ctrl.NewControllerManagedBy(mgr).
For(&cdPipeApi.CDPipeline{}, builder.WithPredicates(p)).
Complete(r); err != nil {
return fmt.Errorf("failed to create controller manager: %w", err)
}
return nil
}