upbound / provider-terraform

A @crossplane provider for Terraform
Apache License 2.0
142 stars 56 forks source link

Update module sigs.k8s.io/controller-runtime to v0.16.2 - autoclosed #161

Closed renovate[bot] closed 11 months ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
sigs.k8s.io/controller-runtime require minor v0.14.6 -> v0.16.2

Release Notes

kubernetes-sigs/controller-runtime (sigs.k8s.io/controller-runtime) ### [`v0.16.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.1...v0.16.2) #### What's Changed - πŸ› Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true by [@​troy0820](https://togithub.com/troy0820) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2466](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2466) - πŸ› Use http client from leaderElectionConfig by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2468](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2468) - πŸ› Default namespace only for namespaced object by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2482](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2482) - πŸ› Do not update anything but status when using subresource client by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2483](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2483) - :bug: Fix status subresource getting updated on Update when it is empty by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2485](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2485) - :bug: Fix returning object after status update by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2490](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2490) - :bug: Return NoResourceMatchError when appropriate for backwards compatibility. by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2492](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2492) **Full Changelog**: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.1...v0.16.2 ### [`v0.16.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.0...v0.16.1) ##### What's Changed - πŸ› Refactor tests to drop hard otel dependency by [@​howardjohn](https://togithub.com/howardjohn) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2465](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2465) - :seedling: Bump k8s.io/apiserver from 0.28.0 to 0.28.1 by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2459](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2459) **Full Changelog**: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.0...v0.16.1 ### [`v0.16.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.15.2...v0.16.0) #### Highlights - Granular cache configuration ([#​2421](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2421)) - New cache option to fail on missing informer on cache reads ([#​2406](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2406)) - Secure metrics serving ([#​2407](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2407)) - Upgrade to Kubernetes 1.28 libraries ([#​2393](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2393), [#​2405](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2405), [#​2449](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2449)) #### Changes since v0.15 ##### :warning: Breaking Changes - Bump k8s.io/\* dependencies to v1.28.0 by [@​sbueringer](https://togithub.com/sbueringer) ([#​2393](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2393), [#​2405](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2405), [#​2449](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2449)) - Allow configuring more granular cache filtering by [@​alvaroaleman](https://togithub.com/alvaroaleman) ([#​2421](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2421)) - Introduce Metrics Options & secure metrics serving by [@​sbueringer](https://togithub.com/sbueringer) ([#​2407](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2407)) - Return an error if the continue list option is set for the cache reader by [@​shuheiktgw](https://togithub.com/shuheiktgw) ([#​2439](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2439)) - Remove deprecated manager, webhook and cluster options by [@​sbueringer](https://togithub.com/sbueringer) ([#​2422](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2422)) - Remove deprecated MultiNamespacedCacheBuilder, NewFakeClientWithScheme, controllerutil.Object, envtest.Environment.KubeAPIServerFlags & zap.Options.DestWritter by [@​sbueringer](https://togithub.com/sbueringer) ([#​2423](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2423)) - controller builder: return error when multiple reconcilers are set by [@​sbueringer](https://togithub.com/sbueringer) ([#​2415](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2415)) - fake client: use correct RBAC apiGroup name when deciding if to allow unconditional updates by [@​jaideepr97](https://togithub.com/jaideepr97) ([#​2412](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2412)) - Minor improvements to godoc & code style in cache pkg by [@​sbueringer](https://togithub.com/sbueringer) ([#​2416](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2416)) ##### :sparkles: New Features - Cache: add ReaderFailOnMissingInformer option by [@​stevekuznetsov](https://togithub.com/stevekuznetsov) ([#​2406](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2406)) - Cache: allow non-blocking retrieval of informers by [@​maxsmythe](https://togithub.com/maxsmythe) ([#​2371](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2371)) ##### :bug: Bug Fixes - Add missing return statement in admission.Decoder.DecodeRaw by [@​lleshchi](https://togithub.com/lleshchi) ([#​2433](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2433)) - fakeClient.Status().Update(...) cannot recognize resource version conflicts by [@​iiiceoo](https://togithub.com/iiiceoo) ([#​2365](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2365)) - Fix Defaulting of the User Agent by [@​alvaroaleman](https://togithub.com/alvaroaleman) ([#​2435](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2435)) - Fix logs in the unstructured client by [@​Poor12](https://togithub.com/Poor12) ([#​2343](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2343)) - Fix unspecified KindsFor version by [@​tenstad](https://togithub.com/tenstad) ([#​2346](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2346)) - Fix TerminalError(nil).Error() panic by [@​sheidkamp](https://togithub.com/sheidkamp) ([#​2438](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2438)) - hasLabels and matchingLabels step on each other by [@​shanshanying](https://togithub.com/shanshanying) ([#​2363](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2363)) - SetLogger should work with nil sinks by [@​vincepri](https://togithub.com/vincepri) ([#​2367](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2367)) ##### :seedling: Others - Use NewRateLimitingQueueWithConfig instead of deprecated NewNamedRateLimitingQueue by [@​sbueringer](https://togithub.com/sbueringer) ([#​2411](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2411)) - Add a prefix to the stack trace printed after SetLogger timeout by [@​vincepri](https://togithub.com/vincepri) ([#​2357](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2357)) - Minor improvements to godoc, code style in builder pkg by [@​sbueringer](https://togithub.com/sbueringer) ([#​2414](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2414)) - Add integration test to avoid manager.Start deadlocks by [@​sbueringer](https://togithub.com/sbueringer) ([#​2418](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2418)) - Automatically regenerate scratch env go mod file by [@​sbueringer](https://togithub.com/sbueringer) ([#​2413](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2413)) - Introduce a new runnable group for basic servers of the manager by [@​zqzten](https://togithub.com/zqzten) ([#​2337](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2337)) - Add logs around Reconcile call, change webhook logs to log level 5 by [@​sbueringer](https://togithub.com/sbueringer) ([#​2419](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2419)) - Add action to update modules on dependabot PRs by [@​sbueringer](https://togithub.com/sbueringer) ([#​2447](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2447), [#​2448](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2448)) - Optimize Add/RemoveFinalizer by [@​0xff-dev](https://togithub.com/0xff-dev) ([#​2348](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2348)) - Log warning if error and non-zero Result are returned by [@​sbueringer](https://togithub.com/sbueringer) ([#​2451](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2451)) ##### :book: Documentation and proposals - Add a design for cache options configuration by [@​alvaroaleman](https://togithub.com/alvaroaleman) ([#​2261](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2261)) - Add documentation to clarify the ContentType behavior by [@​FillZpp](https://togithub.com/FillZpp) ([#​2410](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2410)) - Clarify that the reconcile.Result is ignored on non-nil error by [@​alvaroaleman](https://togithub.com/alvaroaleman) ([#​2444](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2444)) - Fix typo "compatiblity" to "compatibility" by [@​ArshiAAkhavan](https://togithub.com/ArshiAAkhavan) ([#​2396](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2396)) - Update fake client doc.go to avoid the deprecated method by [@​sunglim](https://togithub.com/sunglim) ([#​2392](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2392)) ##### :chart_with_upwards_trend: Dependencies - Bump k8s.io/klog/v2 from 2.90.1 to 2.100.1 by [@​dependabot](https://togithub.com/dependabot) ([#​2294](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2294)) - Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.11.0 by [@​dependabot](https://togithub.com/dependabot) ([#​2368](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2368), [#​2376](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2376), [#​2384](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2384)) - Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 by [@​dependabot](https://togithub.com/dependabot) ([#​2375](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2375), [#​2420](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2420)) - Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 by [@​dependabot](https://togithub.com/dependabot) ([#​2383](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2383)) - Bump golang.org/x/sys from 0.8.0 to 0.11.0 by [@​dependabot](https://togithub.com/dependabot) ([#​2377](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2377), [#​2401](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2401), [#​2441](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2441)) - Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 by [@​dependabot](https://togithub.com/dependabot) ([#​2446](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2446)) - Bump go.uber.org/zap from 1.24.0 to 1.25.0 by [@​dependabot](https://togithub.com/dependabot) ([#​2440](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2440)) - Bump golangci-lint to v1.53 by [@​vincepri](https://togithub.com/vincepri) ([#​2398](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2398)) - Bump controller-tools to v0.13 by [@​sbueringer](https://togithub.com/sbueringer) ([#​2450](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2450)) *Thanks to all our contributors!* 😊 **Full Changelog**: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.15.0...v0.16.0 ### [`v0.15.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.15.1...v0.15.2) #### What's Changed - πŸ› Fix TerminalError(nil).Error() panic by [@​sheidkamp](https://togithub.com/sheidkamp) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2443](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2443) - πŸ› Add missing return statement in the webhook admissions func by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2452](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2452) **Full Changelog**: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.15.1...v0.15.2 ### [`v0.15.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.15.0...v0.15.1) #### What's Changed - \[release-0.15] ✨Fix logs in unstructured client by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2344](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2344) - \[release-0.15] πŸ› fix unspecified KindsFor version by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2347](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2347) - \[release-0.15] πŸ› fakeClient.Status().Update(...) cannot recognize resource version conflicts by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2372](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2372) - \[release-0.15] πŸ› hasLabels and matchingLabels step on each other by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2373](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2373) - \[release-0.15] :bug: Fix Defaulting of the User Agent by [@​alvaroaleman](https://togithub.com/alvaroaleman) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2436](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2436) **Full Changelog**: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.15.0...v0.15.1 ### [`v0.15.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.14.6...v0.15.0) ### Controller Runtime v0.15 > *A note from the maintainers* > > The following release is probably the largest in the history of the project. Controller Runtime is a foundational piece for almost all controllers and operators and we're aware that breaking changes are never an ask for our users, especially while running production services. > > We take breaking changes very seriously and carefully reviewed each one of these changes to improve the codebase, user experience, and future maintainability of the project. > > The v0.15 release is a stepping stone towards maturity. > > As always, please reach out in Slack in #controller-runtime. ## Changes since v0.14.5 #### :warning: Breaking Changes - Make `*http.Client` configurable and use/share the same client by default ([#​2122](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2122)) - When using the default Manager configuration, no immediate changes are needed. - `client/apiutil.NewDynamicRESTMapper` signature has changed and now requires an `*http.Client` as parameter. - `cluster.Cluster` interface requires `GetHTTPClient()` method which must return an already configured, non-nil, `*http.Client` for the Cluster. When using `cluster.New` to create Clusters, the client is created internally if not specified as an `Options` field. - `cluster.Options.MapperProvider` field now requires a `*rest.Config` and `*http.Client`. - Deprecate Component Configuration `config/v1alpha1` types ([#​2149](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2149), [#​2200](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2200)) - The Component Configuration package has been unmaintained for over a year and is no longer actively developed. There are (currently) no plans to revive the package, or provide an alternative. - Users should migrate to a custom implementation that sets `Manager.Options` directly. - πŸ‘‰ Feedback requested: removal of the deprecated types and code is tracked in [#​895](https://togithub.com/kubernetes-sigs/controller-runtime/issues/895). - Remove dependency injection functions ([#​2134](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2134), [#​2120](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2120)) - The package `pkg/inject` has been removed, this package contained long deprecated injection functions (like `InjectScheme`, `InjectLogger`, `InjectConfig`, `InjectClient`, `InjectCache`, etc.). - The runtime injection functionality has been deprecated since Controller Runtime 0.10; all of the above fields can be passed from the `Manager` to structs or interfaces that need them. - Improve `builder` package capabilities and general UX ([#​2135](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2135)) - `builder.Builder.Watches` signature has changed, it now takes a `client.Object` instead of a `source.Source` as first argument. - For `source.Source`, use `WatchesRawSource`. - `builder.Builder.WatchesMetadata` has been added to simplify watching `PartialObjectMetadata` objects. - Refactor cache.Options, deprecate MultiNamespacedCacheBuilder ([#​2157](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2157), [#​2166](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2166)) - `cache.Options.Namespace` has been removed in favor of `cache.Options.Namespaces`, a slice. - `cache.Options.Resync` has been renamed to `SyncPeriod`. - `cache.Options.DefaultSelector` has been removed and split in two fields: - `cache.Options.DefaultLabelSelector` - `cache.Options.DefaultFieldSelector` - `cache.Options.DefaultTransform` was added to provide a global transform function. - `cache.Options.UnsafeDisableDeepCopy` was added to provide a global toggle to disable DeepCopy of the objects from the cache before returning them to clients. - The following `[..]ByObject` field have been refactored: - `cache.Options.SelectorsByObject` has been removed, use `cache.Options.ByObject[Object].Field` and `cache.Options.ByObject[Object].Label` - `cache.Options.UnsafeDisableDeepCopyByObject` has been removed, use `cache.Options.ByObject[Object].UnsafeDisableDeepCopy`. - `cache.Options.TransformByObject` has been removed, use `cache.Options.ByObject[Object].Transform`. - `cache.ObjectAll` has been removed. This type was previously used to set selectors or transformation functions for every object, use the newly introduced default global options instead. - Add context to EventHandler(s) ([#​2139](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2139)) - `handler.EventHandler` and `handler.Funcs` interfaces require `context.Context` as the first parameter for every method. - `handler.MapFunc` signature has changed and now requires a `context.Context`. - Add client.{GroupVersionKindFor, IsObjectNamespaced} ([#​2136](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2136)) - The `client.Client` interface now requires and exposes these helper functions: - `GroupVersionKindFor(Object)` which returns the `schema.GroupVersionKind` for the object. - `IsObjectNamespaced(Object)` which returns `true` if the object's GroupVersionKind is namespaced, or `false` for global ones. - Remove DelegatedClient, move all related options in `client.New` ([#​2150](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2150)) - `client.NewDelegatingClient` constructor and `client.NewDelegatingClientInput` struct have been removed. - The DelegatingClient created a Client backed by a cache, use `client.New` and set `client.Options.Cache` to customize the client's caching behavior. - `cluster.NewClientFunc` has been moved to `client.NewClientFunc`. - `cluster.ClientOptions` has been removed. - `cluster.DefaultNewClient` has been removed. - `cluster.ClientBuilderWithOptions` has been removed. - Expose Manager.Cache/Client options, deprecate older options ([#​2199](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2199), [#​2177](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2177)) - `manager.Options.Cache` is now the preferred way to customize the cache options for the manager. - Users can also keep using `manager.Options.NewCache`, which has now been marked as a low level primitive. - `manager.Options.Client` is now the preferred way to customize the client options for the manager. - Users can also keep using `manager.Options.NewClient`, which has now been marked as a low level primitive. - `manager.Options.SyncPeriod` has been deprecated in favor of `manager.Options.Cache.SyncPeriod`. - `manager.Options.Namespace` has been deprecated in favor of `manager.Options.Cache.Namespaces`. - `manager.Options.DryRunClient` has been deprecated in favor of `manager.Options.Client.DryRun`. - `manager.Options.ClientDisableCacheFor` has been deprecated in favor of `manager.Options.Client.Cache.DisableCacheFor`. - The following webhook server options have been deprecated, use `manager.WebhookServer` instead. - `manager.Options.Port` - `manager.Options.Host` - `manager.Options.CertDir` - `manager.Options.TLSOpts` - Remove `cache.BuilderWithOptions` ([#​2300](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2300)) - Add constructors for `webhook/conversion`, remove `webhook/admission.GetDecoder()` ([#​2144](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2144)) - There are two set of changes related to the webhooks and how they're exposed. For users using the Manager, there should be minimal to no required changes. - `webhook/admission/Webhook.GetDecoder()` method has been removed, it was unused before and relied on runtime dependency injection. - `webhook/conversion.Webhook` struct has been un-exported. Users should use `webhook/conversion.NewWebhookHandler` instead. - `pkg/webhook/admission`: - Use `Result.Message` instead of `Result.Reason` ([#​1539](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1539)) - `Validator` and `CustomValidator` interfaces have been modified to allow returning warnings ([#​2014](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2014)) - Testing: Fake client status handling ([#​2259](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2259)) - Added a new `WithStatusSubresource` option and pre-populating it with all in-tree resources that have a status subresource - `Update` and `Patch` methods now don't change the status for any such resource anymore - The status clients `Update` and `Patch` methods now only change the status for any such resource - Remove high cardinality metrics ([#​2217](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2217), [#​2298](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2298)) - `rest_client_request_latency_seconds` - `rest_client_request_duration_seconds` - `rest_client_request_size_bytes` - `rest_client_response_size_bytes` - Allow passing a custom webhook server ([#​2293](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2293), [#​2329](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2329)) - The `webhook.Server` struct is now an interface - `webhook.NewServer` can be used to pass in and customize the default server - Flatten fields in controller.Options ([#​2307](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2307)) - Update fake client deletionTimestamp behavior ([#​2316](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2316)) - The fake client will panic if initialized with an object that has a DeletionTimestamp and no finalizer - The fake client will silently ignore a DeletionTimestamp on an object in a Create request, matching the behavior of the kube-apiserver - Unexport delegating logger, remove async init ([#​2317](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2317)) - `log.DelegatingLogSink` has been unexported, this logger should never be used on its own, and it's only meant to be used within controller-runtime initialization process. - Previously, when the `pkg/log` package was imported, there was an `init` function that spawned a goroutine, which set a null logger after 30 seconds. Now this logic has been removed, and instead incorporated into the delegating logger private implementation. - Change webhook request received / response written logs to log level 4 ([#​2334](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2334)) - Use and offer a single dynamic lazy RESTMapper ([#​2116](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2116), [#​2296](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2296)) - The following options have been removed: `WithCustomMapper`, `WithExperimentalLazyMapper`, `WithLazyDiscovery`, `WithLimiter`. - The `DynamicRESTMapperOption` type has been removed. #### :sparkles: New Features - Add cross-version compatibility with client-go 1.27 ([#​2223](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2223)) - Introduce pprof server to manager ([#​1943](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1943)) - To enable, use `Manager.Options.PprofBindAddress`. - Added interceptor client to intercept calls to a client ([#​2248](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2248) [#​2306](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2306)) - Add `reconcile.TerminalError(...)` ([#​2325](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2325)) - By wrapping an error with the above package-level function, the controller won't retry the request again in an exponential backoff loop. - The error is logged, and the `controller_runtime_terminal_reconcile_errors_total` metric is incremented. #### :bug: Bug Fixes - Use correct context to cancel "list and watch" & wait for all informers to complete ([#​2121](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2121)) - Client: use passed in Cache.DisableFor option ([#​2303](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2303)) - Fix race condition in channel source ([#​2286](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2286)) - ForceOwnership should work with subresources ([#​2257](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2257)) - Fix error string in CacheReader.List ([#​2256](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2256)) - Fix a bug in multinamespaced cache implementation ([#​2252](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2252)) - Allow lazy restmapper to work with CRDs created at runtime ([#​2208](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2208)) - Set DeleteStateUnknown in DeleteEvent when obj is DeletedFinalStateUnknown ([#​2212](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2212)) - Allow to set GracefulShutdownTimeout to -1, disabling timeouts ([#​2169](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2169)) - pkg/certwatcher: Start should retry for 10s when adding files ([#​2160](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2160)) - Don't share error concurrently in test ([#​2158](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2158)) #### :seedling: Others - Improve unstructured serialisation ([#​2147](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2147)) - Handle TLSOpts.GetCertificate in webhook ([#​2291](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2291)) - Kind source should expose type information on timeout ([#​2290](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2290)) - Fakeclient: Add support for evictions ([#​2305](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2305)) - envtest: set default webhook options for polling ([#​2289](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2289)) - Add client.InNamespace("xyz").AsSelector() ([#​2282](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2282)) - Update golanci-lint script ([#​2151](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2151)) - Preserve unstructured object GVKs in cache.Options.ByObject ([#​2246](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2246)) - Don't call defaultOpts for MultiNamespaceCache twice ([#​2234](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2234)) - GVKForObject should handle multiple GVKs in Scheme gracefully ([#​2192](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2192)) - verify.sh: verify generate & modules (in CI) ([#​2186](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2186)) - code clean for pkg/envtest/server.go ([#​2180](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2180)) - Return an error if no httpClient is provided for `NewDynamicRESTMapper` ([#​2178](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2178)) - Use runtime.Unstructured interface instead of Unstructured struct ([#​2168](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2168)) - Return an error if no httpClient is provided ([#​2164](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2164)) - Return the error from rest.HTTPClientFor instead of hiding it ([#​2161](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2161)) - fix default value for cfg.Burst ([#​2142](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2142)) - Add more linters ([#​2133](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2133)) - Remove pkg/patterns ([#​2132](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2132)) - Further cleanup internal/informers ([#​2130](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2130)) - Simplify cache.objectTypeForListObject ([#​2131](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2131)) - Refactor internal cache/informers map impl ([#​2103](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2103)) - client/cache/client_cache.go should be called resources ([#​2111](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2111)) - Remove reviewers which are also approvers ([#​2109](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2109)) - Use HTTPClient to create the API Reader ([#​2163](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2163)) - Update SECURITY_CONTACTS and maintainer list ([#​2318](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2318)) - Update builtin webhook paths ([#​2319](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2319)) - Make metrics and health probe servers be Runnables ([#​2275](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2275)) - Revert: move health probes to runnable ([#​2321](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2321)) - Fix comment on MultiNamespaceCache ([#​2323](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2323)) - Cleanup webhook logging ([#​2326](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2326)) - Add certwatcher callback ([#​2301](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2301)) - Fix a bug in multinamespaced cache implementation ([#​2288](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2288)) #### :seedling: Dependencies - Bump Go to 1.20 ([#​2279](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2279)) - Bump github.com/go-logr/logr from v1.2.3 to v1.2.4 ([#​2262](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2262)) - Bump github.com/go-logr/zapr from v1.2.3 to v1.2.4 ([#​2320](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2320)) - Bump github.com/onsi/ginkgo/v2 from v2.6.1 to v2.9.5 ([#​2123](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2123) [#​2155](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2155) [#​2194](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2194) [#​2205](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2205) [#​2224](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2224) [#​2233](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2233) [#​2251](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2251) [#​2311](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2311) [#​2328](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2328)) - Bump github.com/onsi/gomega from v1.24.1 to v1.27.7 ([#​2106](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2106) [#​2137](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2137) [#​2156](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2156) [#​2206](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2206) [#​2227](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2227) [#​2232](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2232) [#​2260](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2260) [#​2340](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2340)) - Bump github.com/prometheus/client_golang from v1.14.0 to v1.15.1 ([#​2280](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2280) [#​2310](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2310)) - Bump github.com/prometheus/client_model from v0.3.0 to v0.4.0 ([#​2312](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2312)) - Bump go.uber.org/goleak from v1.2.0 to v1.2.1 ([#​2195](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2195)) - Bump golang.org/x/sys from v0.3.0 to v0.8.0 ([#​2124](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2124) [#​2225](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2225) [#​2270](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2270) [#​2309](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2309)) - Bump k8s.io dependencies to 0.27.2 ([#​2145](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2145) [#​2330](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2330) [#​2333](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2333)) - Bump k8s.io/klog/v2 from v2.80.1 to v2.90.1 ([#​2138](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2138) [#​2226](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2226)) - Bump sigs.k8s.io/controller-tools to v0.11.3 and apidiff to v0.5.0 ([#​2187](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2187)) - Use Go 1.19 in golangci-lint action ([#​2272](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2272)) - Bump golangci-lint to v1.52.1 ([#​2188](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2188) [#​2284](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2284)) - Bump kubebuilder-release-tools to v0.3.0 ([#​2126](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2126)) :book: Additionally, there have been 4 contributions to our documentation and book. ([#​2203](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2203), [#​2201](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2201), [#​2162](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2162), [#​2170](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2170)) *Thanks to all our contributors!* 😊

Configuration

πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

πŸ”• Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.