Documentation ¶
Index ¶
- Constants
- func ClassChangedPredicate() predicate.Predicate
- func ConditionStatusChanged(conditionType gardencorev1beta1.ConditionType, changeFn ConditionChangeFn) predicate.Predicate
- func GotMarkedAsIgnored() predicate.Predicate
- func HasFinalizer(finalizer string) predicate.Predicate
- func HasOperationAnnotation() predicate.Predicate
- func NoLongerIgnored() predicate.Predicate
- func NotIgnored() predicate.Predicate
- type ClassFilter
- func (f *ClassFilter) Create(e event.CreateEvent) bool
- func (f *ClassFilter) Delete(e event.DeleteEvent) bool
- func (f *ClassFilter) FinalizerName() string
- func (f *ClassFilter) Generic(e event.GenericEvent) bool
- func (f *ClassFilter) IsTransferringResponsibility(mr *resourcesv1alpha1.ManagedResource) bool
- func (f *ClassFilter) IsWaitForCleanupRequired(mr *resourcesv1alpha1.ManagedResource) bool
- func (f *ClassFilter) ResourceClass() string
- func (f *ClassFilter) Responsible(o runtime.Object) bool
- func (f *ClassFilter) Update(e event.UpdateEvent) bool
- type ConditionChangeFn
Constants ¶
const ( // FinalizerName is the finalizer base name that is injected into ManagedResources. // The concrete finalizer is finally containing this base name and the resource class. FinalizerName = "resources.gardener.cloud/gardener-resource-manager" )
Variables ¶
This section is empty.
Functions ¶
func ClassChangedPredicate ¶
ClassChangedPredicate is a predicate for changes in `.spec.class`.
func ConditionStatusChanged ¶
func ConditionStatusChanged(conditionType gardencorev1beta1.ConditionType, changeFn ConditionChangeFn) predicate.Predicate
ConditionStatusChanged is a predicate that detects changes to the status of a Condition with a given type.
func GotMarkedAsIgnored ¶ added in v1.47.0
GotMarkedAsIgnored returns a predicate that detects if resources.gardener.cloud/ignore=true annotation was added during an update.
func HasFinalizer ¶
HasFinalizer returns a predicate that detects if the object has the given finalizer This is used to not requeue all secrets in the cluster (which might be quite a lot), but only requeue secrets from create/update events with the controller's finalizer. This is to ensure, that we properly remove the finalizer in case we missed an important update event for a ManagedResource.
func HasOperationAnnotation ¶ added in v1.39.0
HasOperationAnnotation is a predicate for the operation annotation.
func NoLongerIgnored ¶ added in v1.43.0
NoLongerIgnored returns a predicate that detects if resources.gardener.cloud/ignore=true annotation was removed during an update.
func NotIgnored ¶ added in v1.43.0
NotIgnored returns a predicate that detects if the object has the resources.gardener.cloud/ignore=true annotation.
Types ¶
type ClassFilter ¶
type ClassFilter struct {
// contains filtered or unexported fields
}
ClassFilter keeps the resource class for the actual controller instance and is used as Filter predicate for events finally passed to the controller. Only objects that have the same class as the controller or their resources deletion is handled by the controller are filtered.
func NewClassFilter ¶
func NewClassFilter(class string) *ClassFilter
NewClassFilter returns a new `ClassFilter` instance.
func (*ClassFilter) Create ¶
func (f *ClassFilter) Create(e event.CreateEvent) bool
Create implements `predicate.Predicate`.
func (*ClassFilter) Delete ¶
func (f *ClassFilter) Delete(e event.DeleteEvent) bool
Delete implements `predicate.Predicate`.
func (*ClassFilter) FinalizerName ¶
func (f *ClassFilter) FinalizerName() string
FinalizerName determines the finalizer name to be used for the actual resource class
func (*ClassFilter) Generic ¶
func (f *ClassFilter) Generic(e event.GenericEvent) bool
Generic implements `predicate.Predicate`.
func (*ClassFilter) IsTransferringResponsibility ¶ added in v1.87.0
func (f *ClassFilter) IsTransferringResponsibility(mr *resourcesv1alpha1.ManagedResource) bool
IsTransferringResponsibility checks if a Managed Resource has changed its class and should have its resources cleaned by the given controller instance.
func (*ClassFilter) IsWaitForCleanupRequired ¶ added in v1.87.0
func (f *ClassFilter) IsWaitForCleanupRequired(mr *resourcesv1alpha1.ManagedResource) bool
IsWaitForCleanupRequired checks if a Managed Resource has changed its class and a given controller instance should wait for its resources to be cleaned.
func (*ClassFilter) ResourceClass ¶
func (f *ClassFilter) ResourceClass() string
ResourceClass returns the actually configured resource class
func (*ClassFilter) Responsible ¶
func (f *ClassFilter) Responsible(o runtime.Object) bool
Responsible checks whether an object should be managed by the actual controller instance
func (*ClassFilter) Update ¶
func (f *ClassFilter) Update(e event.UpdateEvent) bool
Update implements `predicate.Predicate`.
type ConditionChangeFn ¶
type ConditionChangeFn func(con1, con2 *gardencorev1beta1.Condition) bool
ConditionChangeFn is a type for comparing two conditions.
var ConditionChangedToUnhealthy ConditionChangeFn = func(con1, con2 *gardencorev1beta1.Condition) bool { return (con1 == nil || con1.Status == gardencorev1beta1.ConditionTrue) && (con2 != nil && con2.Status == gardencorev1beta1.ConditionFalse) }
ConditionChangedToUnhealthy compares the given conditions and returns `true` if the `Status` has changed to an unhealthy state.
var DefaultConditionChange ConditionChangeFn = func(con1, con2 *gardencorev1beta1.Condition) bool { if con1 == nil { return con2 != nil } if con2 == nil { return true } return con1.Status != con2.Status }
DefaultConditionChange compares the given conditions and returns `true` if the `Status` has changed.