const fieldManager …
type EnsureStrategy …
type objectLocalOps …
type ObjectOps …
type client …
type cache …
type configurationObject …
type configurationObjectType …
type objectOps …
func NewObjectOps[ObjectType configurationObjectType](client client[ObjectType], cache cache[ObjectType],
deepCopy func(ObjectType) ObjectType,
replaceSpec func(ObjectType, ObjectType) ObjectType,
specEqualish func(expected, actual ObjectType) bool,
) ObjectOps[ObjectType] { … }
func (oo objectOps[ObjectType]) DeepCopy(obj ObjectType) ObjectType { … }
func (oo objectOps[ObjectType]) ReplaceSpec(into, from ObjectType) ObjectType { … }
func (oo objectOps[ObjectType]) SpecEqualish(expected, actual ObjectType) bool { … }
func NewSuggestedEnsureStrategy[ObjectType configurationObjectType]() EnsureStrategy[ObjectType] { … }
func NewMandatoryEnsureStrategy[ObjectType configurationObjectType]() EnsureStrategy[ObjectType] { … }
type strategy …
func (s *strategy[ObjectType]) Name() string { … }
func (s *strategy[ObjectType]) ReviseIfNeeded(objectOps objectLocalOps[ObjectType], current, bootstrap ObjectType) (ObjectType, bool, error) { … }
func shouldUpdateSpec(accessor metav1.Object) bool { … }
func shouldUpdateAnnotation(accessor metav1.Object, desired bool) bool { … }
func setAutoUpdateAnnotation(accessor metav1.Object, autoUpdate bool) { … }
func EnsureConfigurations[ObjectType configurationObjectType](ctx context.Context, ops ObjectOps[ObjectType], boots []ObjectType, strategy EnsureStrategy[ObjectType]) error { … }
func EnsureConfiguration[ObjectType configurationObjectType](ctx context.Context, ops ObjectOps[ObjectType], bootstrap ObjectType, strategy EnsureStrategy[ObjectType]) error { … }
func RemoveUnwantedObjects[ObjectType configurationObjectType](ctx context.Context, objectOps ObjectOps[ObjectType], boots []ObjectType) error { … }
func namesOfBootstrapObjects[ObjectType configurationObjectType](bos []ObjectType) sets.String { … }