Files
kubesphere/pkg/controller/application/predicate.go
2025-04-30 15:53:51 +08:00

33 lines
796 B
Go

/*
* Copyright 2024 the KubeSphere Authors.
* Please refer to the LICENSE file in the root directory of the project.
* https://github.com/kubesphere/kubesphere/blob/master/LICENSE
*/
package application
import (
"sigs.k8s.io/controller-runtime/pkg/event"
)
type IgnoreAnnotationChangePredicate struct {
AnnotationKey string
}
func (p IgnoreAnnotationChangePredicate) Create(e event.CreateEvent) bool {
return true
}
func (p IgnoreAnnotationChangePredicate) Delete(e event.DeleteEvent) bool {
return true
}
func (p IgnoreAnnotationChangePredicate) Update(e event.UpdateEvent) bool {
return e.ObjectOld.GetAnnotations()[p.AnnotationKey] == e.ObjectNew.GetAnnotations()[p.AnnotationKey]
}
func (p IgnoreAnnotationChangePredicate) Generic(e event.GenericEvent) bool {
return true
}