in operator/controllers/operator/javaagent_controller.go [291:316]
func (r *JavaAgentReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&core.Pod{}).
WithEventFilter(predicate.Funcs{
CreateFunc: func(e event.CreateEvent) bool {
annotations := e.Object.GetAnnotations()
if annotations != nil && strings.ToLower(annotations[injector.SidecarInjectSucceedAnno]) == "true" {
return true
}
return false
},
// avoid calling Reconcile when the pod's workload is deleted
UpdateFunc: func(e event.UpdateEvent) bool {
annotations := e.ObjectNew.GetAnnotations()
if annotations != nil && strings.ToLower(annotations[injector.SidecarInjectSucceedAnno]) == "true" {
return e.ObjectNew.GetDeletionTimestamp() == nil
}
return false
},
DeleteFunc: func(_ event.DeleteEvent) bool {
return false
},
}).
Owns(&operatorv1alpha1.JavaAgent{}).
Complete(r)
}