Highlights
Stashers
A Stasher
provides a convenient way to stash typed values. Create a NewStasher
using the type of the value being stashed and a unique stash key. All operations through a stasher, including retrieval are type safe with options for handling missing values on retrieval.
ObjectManager
The previous ResourceManager
is split into an interface (ObjectManager
) and implementation (UpdatingObjectManager
).
The AggregateReconciler
, ChildReconciler
, and ChildSetReconciler
are updated to use the interface allowing new strategies to be plugged-in.
Breaking Changes
There are no breaking changes in this release, but a number of existing APIs have been deprecated. Migration to the suggested APIs is encouraged as the deprecated APIs will be removed in a future release.
ResourceManager
is deprecated in favor ofObjectManager
for a generic type, orUpdatingObjectManager
.AggregateReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize}
are deprecated in favor ofAggregateReconciler.AggregateObjectManager
.ChildReconciler.{Finalizer, HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize, SetResourceManager}
are deprecated in favor ofChildReconciler.ChildObjectManager
.ChildSetReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize}
are deprecated in favor ofChildSetReconciler.ChildObjectManager
.
What's Changed
- Polishing readme by @scothis in #541
- Bump sigs.k8s.io/controller-tools from 0.16.1 to 0.16.2 in /hack by @dependabot in #542
- Bump golang.org/x/net from 0.28.0 to 0.29.0 by @dependabot in #543
- Bump the kubernetes group with 3 updates by @dependabot in #544
- Bump sigs.k8s.io/controller-tools from 0.16.2 to 0.16.3 in /hack by @dependabot in #545
- Type safe stashing of context values by @scothis in #546
- ForEach reconciler by @scothis in #547
- ResourceManager -> ObjectManager by @scothis in #548
Full Changelog: v0.21.1...v0.22.0