Tags: reconcilerio/runtime
Tags
ResourceManager -> ObjectManager (#548) The ResourceManager type is split into an interface (ObjectManager) and implementing struct (UpdatingObjectManager). AggregateReconciler, ChildReconciler and ChildSetReconciler are updated to allow specifying an alternative strategy with fallbacks to the previous behavior. Backwards compatibility is preserved with a number of deprecations, including: - `ResourceManager` is deprecated in favor of `ObjectManager` for a generic type, or `UpdatingObjectManager`. - `AggregateReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize}` are deprecated in favor of `AggregateReconciler. AggregateObjectManager`. - `ChildReconciler.{Finalizer, HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize, SetResourceManager}` are deprecated in favor of `ChildReconciler.ChildObjectManager`. - `ChildSetReconciler.{HarmonizeImmutableFields, MergeBeforeUpdate, Sanitize}` are deprecated in favor of `ChildSetReconciler. ChildObjectManager`. Other strategies can be provided in the future, like replacing Update() calls with server-side apply. Signed-off-by: Scott Andrews <[email protected]>
List children exactly once for ChildSetReconciler (#494) Previously, the ChildSetReconciler would list children once for the set and again for each child being reconciled. At best this was inefficient, at worst it introduced subtile issues when the content of the listing changed over the course of the reconcile. Now the content of the list from the ChildSetReconciler is reused by each child that is reconciled. Signed-off-by: Scott Andrews <[email protected]>
Bump sigs.k8s.io/controller-runtime from 0.17.1 to 0.17.2 (#483) Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.17.1 to 0.17.2. - [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md) - [Commits](kubernetes-sigs/controller-runtime@v0.17.1...v0.17.2) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-runtime dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bump github.com/evanphx/json-patch/v5 from 5.8.1 to 5.9.0 (#475) Bumps [github.com/evanphx/json-patch/v5](https://github.com/evanphx/json-patch) from 5.8.1 to 5.9.0. - [Release notes](https://github.com/evanphx/json-patch/releases) - [Commits](evanphx/json-patch@v5.8.1...v5.9.0) --- updated-dependencies: - dependency-name: github.com/evanphx/json-patch/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Switch ResourceManager update cache to JSON Patch (#442) It was previously using JSON Merge Patch, which will recreate structures that are trying to be deleted. JSON Patch will fail to apply the patch if the structure being patched doesn't exist. For example, if a reconciler defined a volume on a Deployment on create/update a mutating webhook will default the file permissions. If the reconciler later needs to remove that volume, the defaulted file permissions will no longer be re-applied. Signed-off-by: Scott Andrews <[email protected]>
PreviousNext