lifecycle-toolkit
lifecycle-toolkit copied to clipboard
deps: update module sigs.k8s.io/controller-runtime to v0.18.2
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
sigs.k8s.io/controller-runtime | v0.13.2 -> v0.18.2 |
||||
sigs.k8s.io/controller-runtime | v0.16.6 -> v0.18.2 |
[!WARNING] Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
kubernetes-sigs/controller-runtime (sigs.k8s.io/controller-runtime)
v0.18.2
What's Changed
- 🐛 Reintroduce AddMetricsServerExtraHandler on manager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2817
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.1...v0.18.2
v0.18.1
What's Changed
- [release-0.18] :bug: Cache: Fix label defaulting of byObject when namespaces are configured by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2808
- [release-0.18] 🐛 correct kind source type by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2809
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.18.0...v0.18.1
v0.18.0
:warning: Breaking Changes
- Bump to k8s.io/* v1.30 (#2693 #2754 #2765 #2776 #2786)
- Remove deprecated v1alpha1.ControllerManagerConfiguration (#2648)
- admission.Decoder is now an interface (#2736)
- Source, Event, Predicate, Handler: Add generics support (#2783 #2796)
- client: Fix SubResourceCreateOptions signature in subresource client (#2766)
:sparkles: New Features
- cache: Add TransformStripManagedFields transform func (#2791)
- client: Add client.WithFieldOwner to configure client-wide FieldManager (#2771 #2777)
- controller: Add
NewQueue
option (#2767) - manager: Export HTTP server runnable implementation (#2473)
- metrics/server: Add
ListenConfig
option (#2519)
:bug: Bug Fixes
- builder/webhook: Return error if For() is used multiple times (#2740)
- cache: Keep selectors when byObject.Namespaces is defaulted (#2747)
- cache: Prevent race when informers are started more than once (#2758)
- fake client: Allow fakeclient to patch CR with no resourceVersion (#2725)
- fake client: Do not consider an apply patch to be a strategic merge patch (#2679)
- manager: Prevent leader election when shutting down a non-elected manager (#2724)
- manager: Runnable group should check if stopped before enqueueing (#2757)
- restmapper: Clean restmapper cache if a version is notFound (#2663)
- restmapper: Fix cache invalidation (#2687)
:seedling: Others
- ci: Add OSSF scorecard action (#2714)
- ci: Improve github actions dependencies versions and permissions (#2715)
- ci: Pin checkout action in golangci-lint action, bump checkout action, use consistent tag format (#2729)
- ci: Update golangci-lint to v1.57.2 (#2708 #2751)
- ci: Update scorecard github action (#2728)
- ci: Use go-install for versioned dependencies (#2710)
- envtest: WaitForDefaultNamespace while starting up envtest (#2668)
- owners: Cleanup owners files (#2730)
- owners: Remove outdated testing framework approvers (#2709)
- predicate: Compare labels and annotations using maps.Equal (#2705)
- typos: Fix typo of CacheReader comment (#2773)
- typos: Fix typo in channel option (#2792)
- typos: Minor typo fixes in docstrings (#2727)
:book: Additionally, there have been 3 contributions to our documentation and book. (#2712, #2770, #2789)
Dependencies
Added
- github.com/fxamacker/cbor/v2: v2.6.0
- github.com/x448/float16: v0.8.4
- golang.org/x/telemetry:
b75ee88
- k8s.io/gengo/v2:
51d4e06
Changed
- github.com/evanphx/json-patch/v5: v5.8.0 → v5.9.0
- github.com/golang/protobuf: v1.5.3 → v1.5.4
- github.com/google/cel-go: v0.17.7 → v0.17.8
- github.com/onsi/ginkgo/v2: v2.14.0 → v2.17.1
- github.com/onsi/gomega: v1.30.0 → v1.32.0
- github.com/prometheus/client_golang: v1.18.0 → v1.16.0
- github.com/prometheus/client_model: v0.5.0 → v0.4.0
- github.com/prometheus/common: v0.45.0 → v0.44.0
- golang.org/x/crypto: v0.16.0 → v0.21.0
- golang.org/x/mod: v0.14.0 → v0.15.0
- golang.org/x/net: v0.19.0 → v0.23.0
- golang.org/x/sync: v0.5.0 → v0.6.0
- golang.org/x/sys: v0.16.0 → v0.18.0
- golang.org/x/term: v0.15.0 → v0.18.0
- golang.org/x/tools: v0.16.1 → v0.18.0
- google.golang.org/protobuf: v1.31.0 → v1.33.0
- k8s.io/api: v0.29.0 → v0.30.0
- k8s.io/apiextensions-apiserver: v0.29.0 → v0.30.0
- k8s.io/apimachinery: v0.29.0 → v0.30.0
- k8s.io/apiserver: v0.29.0 → v0.30.0
- k8s.io/client-go: v0.29.0 → v0.30.0
- k8s.io/code-generator: v0.29.0 → v0.30.0
- k8s.io/component-base: v0.29.0 → v0.30.0
- k8s.io/klog/v2: v2.110.1 → v2.120.1
- k8s.io/kms: v0.29.0 → v0.30.0
- k8s.io/kube-openapi:
2dd684a
→70dd376
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.28.0 → v0.29.0
- sigs.k8s.io/yaml: v1.4.0 → v1.3.0
Removed
- github.com/matttproud/golang_protobuf_extensions/v2: v2.0.0
- go.uber.org/atomic: v1.10.0
- k8s.io/gengo:
9cce18d
Thanks to all our contributors! 😊
v0.17.5
What's Changed
- 🐛 Reintroduce AddMetricsServerExtraHandler on manager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2815
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.4...v0.17.5
v0.17.4
What's Changed
- [release-0.17] ✨ client: Add client-wide fieldManager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2772
- [release-0.17] :bug: Cache: Fix label defaulting of byObject when namespaces are configured by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2807
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.3...v0.17.4
v0.17.3
What's Changed
- 🌱 Update to Kubernetes v1.29.2 by @sbueringer in https://github.com/kubernetes-sigs/controller-runtime/pull/2711
- :bug: Cache: Keep selectors when byObject.Namespaces is defaulted by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2749
- 🐛 Prevent leader election when shutting down a non-elected manager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2752
- :bug: Runnable group should check if stopped before enqueueing by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2761
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.2...v0.17.3
v0.17.2
What's Changed
- ⚠ :bug: Fakeclient: Do not consider an apply patch to be a strategic merge patch by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2681
- 🐛 Fix lazy rest mapper cache invalidation by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2688
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.1...v0.17.2
v0.17.1
What's Changed
- 🐛 Clean restmapper cache if a version is notFound by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2676
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.17.0...v0.17.1
v0.17.0
:warning: Breaking Changes
- Fake client: Only set TypeMeta for unstructured (#2633)
- Update k8s.io/* deps to 1.29 (#2457 #2500 #2553 #2588 #2612 #2615 #2621)
- Remove apiutil.NewDiscoveryRESTMapper, use DynamicRESTMapper by default for cache (#2611)
- RESTMapper: don't treat non-existing GroupVersions as errors (#2571)
- Webhooks: Deprecate admission.Validator and admission.Defaulter (#2639)
- Webhooks: Limit size of AdmissionRequests to 7MB and size of TokenReviews to 1MB (#2598)
:sparkles: New Features
- Cache: Allow defining options that apply to all namespaces without explicit config (#2528)
- Cache: Allow to remove informers (#2285)
- Cache: Add option to set WatchErrorHandler on informers (#2494)
- Client: client.MatchingFields now supports multiple indexes (#2512)
- Fake client: Add flowcontrol api v1 (#2623)
- Reconciler: Add reconcile.ObjectReconciler (#2592)
:bug: Bug Fixes
- Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true (#2461)
- Cache: Default namespace only for namespaced object (#2480)
- Client: Don't truncate large int64s in MergePatch (#2650)
- controllerutil: Add
RemoveControllerReference
andHasControllerReference
func (#2509 #2595) - controllerutil: Add
RemoveOwnerReference
func (#2462) - Dependencies: Refactor tests to drop hard otel dependency (#2460)
- Envtest: CRDs that aren't convertible should unset spec.conversion (#2525)
- Fake client: Correctly identify if patch call was made on status (#2508)
- Fake client: Do not update anything but status when using subresource client (#2479)
- Fake client: Fix returning object after status update (#2489)
- Fake client: Fix status subresource getting updated on Update when it is empty (#2484)
- Fake client: Handle unstructured status update with fake client (#2495)
- Manager: Fix goroutine leak (#2527)
- Manager: Use HTTP client from leaderElectionConfig for leader election recorder provider (#2464)
- RESTMapper: Return NoResourceMatchError when appropriate for backwards compatibility. (#2472)
- Webhook: Handle http.NoBody (#2605)
:seedling: Others
- Client: Make client.MatchingLabels faster (#2529)
- Envtest: Allow to ignore scheme.Convertible check for CRDs (#2555)
- Envtest: Improve process cleanup (#2560)
- Metrics: Add 100/1000s buckets for Prometheus workqueue histograms (#2638)
- Metrics: Avoid dependency on apiserver/options if metrics/filters are used (#2645)
- Replace k8s.io/utils/pointer with k8s.io/utils/ptr (#2488)
- Webhooks: Cleanup webhook variable assignment (#2604)
:seedling: Dependencies
- Bump github.com/emicklei/go-restful/v3 from v3.9.0 to 3.11.0 (#2507)
- Bump github.com/evanphx/json-patch from 5.6.0+incompatible to 4.12.0+incompatible (#2501 #2643)
- Note: We "downgraded" to v4.12.0+incompatible because it is actually newer than v5.6.0+incompatible and to make sure the code in fake client that is using this dependency behaves exactly the same as the corresponding upstream code. We recommend users to either use github.com/evanphx/[email protected]+incompatible or to upgrade to github.com/evanphx/json-patch/v5@v5.8.0. More details can be fouhttps://github.com/kubernetes-sigs/controller-runtime/pull/2643#discussion_r1446189655189655.
- Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.8.0 (#2499 #2650)
- Bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 (#2561)
- Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 (#2566 #2630)
- Bump github.com/go-logr/zapr from 1.2.4 to 1.3.0 (#2574)
- Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#2545)
- Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.14.0 (#2458 #2514 #2534 #2578 #2610 #2651)
- Bump github.com/onsi/gomega from 1.27.10 to 1.30.0 (#2521 #2562 #2568 #2579)
- Bump github.com/prometheus/client_golang from 1.16.0 to 1.18.0 (#2520 #2632)
- Bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0 (#2535)
- Bump go.uber.org/goleak from 1.2.1 to 1.3.0 (#2569)
- Bump go.uber.org/zap from 1.25.0 to 1.26.0 (#2502)
- Bump golang.org/x/net to 0.17.0 (#2540)
- Bump golang.org/x/sys from 0.11.0 to 0.16.0 (#2470 #2533 #2572 #2597 #2642)
- Bump k8s.io/klog/v2 from 2.100.1 to 2.110.1 (#2573)
- Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#2567)
- Bump controller-tools from v0.13.0 to v0.14.0 (#2649)
- Bump go-apidiff from v0.5.0 to v0.8.2 (#2517 #2655)
- Upgrade dependencies for hack/tools and tools/ (#2517)
- Bump kubernetes-sigs/kubebuilder-release-tools from 0.3.0 to 0.4.3 (#2532 #2575 #2618)
- Bump golang version in GH actions (#2609)
- Bump actions/checkout from 3 to 4 (#2469)
- Bump actions/setup-go from 4 to 5 (#2617)
- Bump envtest to 1.28.0 (#2531)
:book: Additionally, there have been 5 contributions to our documentation. (#2497, #2498, #2538, #2599, #2602, #2635 #2647)
Thanks to all our contributors! 😊
v0.16.6
What's Changed
- ✨ client: Add client-wide fieldManager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2775
- 🌱 Update to Kubernetes v0.28.9 by @vincepri in https://github.com/kubernetes-sigs/controller-runtime/pull/2814
- 🐛 Reintroduce AddMetricsServerExtraHandler on manager by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2816
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.5...v0.16.6
v0.16.5
What's Changed
- 🐛 Fix lazy rest mapper cache invalidation by @g-gaston in https://github.com/kubernetes-sigs/controller-runtime/pull/2689
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.4...v0.16.5
v0.16.4
What's Changed
- :running: Make client.MatchingLabels faster by @samuelvl in https://github.com/kubernetes-sigs/controller-runtime/pull/2613
- 🐛 Avoid extra calls for not found resource by @g-gaston in https://github.com/kubernetes-sigs/controller-runtime/pull/2677
New Contributors
- @samuelvl made their first contribution in https://github.com/kubernetes-sigs/controller-runtime/pull/2613
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.3...v0.16.4
v0.16.3
What's Changed
- 🐛Update dependency go-restful to 3.11.0 by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2516
- 🐛 Correctly identify if patch call was made on status by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2515
- 🐛 Handle unstructured status update with fake client by @troy0820 in https://github.com/kubernetes-sigs/controller-runtime/pull/2523
- :sparkles: Cache: Allow defining options that apply to all namespaces that themselves have no explicit config by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2539
- 🐛 bump golang.org/x/net to v0.17.0 by @joelanford in https://github.com/kubernetes-sigs/controller-runtime/pull/2541
- 🌱 Bump k8s to 1.28.3 by @varshaprasad96 in https://github.com/kubernetes-sigs/controller-runtime/pull/2552
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.16.2...v0.16.3
v0.16.2
What's Changed
- 🐛 Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true by @troy0820 in https://github.com/kubernetes-sigs/controller-runtime/pull/2466
- 🐛 Use http client from leaderElectionConfig by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2468
- 🐛 Default namespace only for namespaced object by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2482
- 🐛 Do not update anything but status when using subresource client by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2483
- :bug: Fix status subresource getting updated on Update when it is empty by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2485
- :bug: Fix returning object after status update by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2490
- :bug: Return NoResourceMatchError when appropriate for backwards compatibility. by @k8s-infra-cherrypick-robot in https://github.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
What's Changed
- 🐛 Refactor tests to drop hard otel dependency by @howardjohn in https://github.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 in https://github.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
Highlights
- Granular cache configuration (#2421)
- New cache option to fail on missing informer on cache reads (#2406)
- Secure metrics serving (#2407)
- Upgrade to Kubernetes 1.28 libraries (#2393, #2405, #2449)
Changes since v0.15
:warning: Breaking Changes
- Bump k8s.io/* dependencies to v1.28.0 by @sbueringer (#2393, #2405, #2449)
- Allow configuring more granular cache filtering by @alvaroaleman (#2421)
- Introduce Metrics Options & secure metrics serving by @sbueringer (#2407)
- Return an error if the continue list option is set for the cache reader by @shuheiktgw (#2439)
- Remove deprecated manager, webhook and cluster options by @sbueringer (#2422)
- Remove deprecated MultiNamespacedCacheBuilder, NewFakeClientWithScheme, controllerutil.Object, envtest.Environment.KubeAPIServerFlags & zap.Options.DestWritter by @sbueringer (#2423)
- controller builder: return error when multiple reconcilers are set by @sbueringer (#2415)
- fake client: use correct RBAC apiGroup name when deciding if to allow unconditional updates by @jaideepr97 (#2412)
- Minor improvements to godoc & code style in cache pkg by @sbueringer (#2416)
:sparkles: New Features
- Cache: add ReaderFailOnMissingInformer option by @stevekuznetsov (#2406)
- Cache: allow non-blocking retrieval of informers by @maxsmythe (#2371)
:bug: Bug Fixes
- Add missing return statement in admission.Decoder.DecodeRaw by @lleshchi (#2433)
- fakeClient.Status().Update(...) cannot recognize resource version conflicts by @iiiceoo (#2365)
- Fix Defaulting of the User Agent by @alvaroaleman (#2435)
- Fix logs in the unstructured client by @Poor12 (#2343)
- Fix unspecified KindsFor version by @tenstad (#2346)
- Fix TerminalError(nil).Error() panic by @sheidkamp (#2438)
- hasLabels and matchingLabels step on each other by @shanshanying (#2363)
- SetLogger should work with nil sinks by @vincepri (#2367)
:seedling: Others
- Use NewRateLimitingQueueWithConfig instead of deprecated NewNamedRateLimitingQueue by @sbueringer (#2411)
- Add a prefix to the stack trace printed after SetLogger timeout by @vincepri (#2357)
- Minor improvements to godoc, code style in builder pkg by @sbueringer (#2414)
- Add integration test to avoid manager.Start deadlocks by @sbueringer (#2418)
- Automatically regenerate scratch env go mod file by @sbueringer (#2413)
- Introduce a new runnable group for basic servers of the manager by @zqzten (#2337)
- Add logs around Reconcile call, change webhook logs to log level 5 by @sbueringer (#2419)
- Add action to update modules on dependabot PRs by @sbueringer (#2447, #2448)
- Optimize Add/RemoveFinalizer by @0xff-dev (#2348)
- Log warning if error and non-zero Result are returned by @sbueringer (#2451)
:book: Documentation and proposals
- Add a design for cache options configuration by @alvaroaleman (#2261)
- Add documentation to clarify the ContentType behavior by @FillZpp (#2410)
- Clarify that the reconcile.Result is ignored on non-nil error by @alvaroaleman (#2444)
- Fix typo "compatiblity" to "compatibility" by @ArshiAAkhavan (#2396)
- Update fake client doc.go to avoid the deprecated method by @sunglim (#2392)
:chart_with_upwards_trend: Dependencies
- Bump k8s.io/klog/v2 from 2.90.1 to 2.100.1 by @dependabot (#2294)
- Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.11.0 by @dependabot (#2368, #2376, #2384)
- Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 by @dependabot (#2375, #2420)
- Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 by @dependabot (#2383)
- Bump golang.org/x/sys from 0.8.0 to 0.11.0 by @dependabot (#2377, #2401, #2441)
- Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 by @dependabot (#2446)
- Bump go.uber.org/zap from 1.24.0 to 1.25.0 by @dependabot (#2440)
- Bump golangci-lint to v1.53 by @vincepri (#2398)
- Bump controller-tools to v0.13 by @sbueringer (#2450)
Thanks to all our contributors! 😊
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.15.0...v0.16.0
v0.15.3
What's Changed
- 🐛 [release-0.15] bump golang.org/x/net to v0.17.0 by @joelanford in https://github.com/kubernetes-sigs/controller-runtime/pull/2542
- :sparkles: Bump k8s deps to 1.27.7 by @varshaprasad96 in https://github.com/kubernetes-sigs/controller-runtime/pull/2558
Full Changelog: https://github.com/kubernetes-sigs/controller-runtime/compare/v0.15.2...v0.15.3
v0.15.2
What's Changed
- 🐛 Fix TerminalError(nil).Error() panic by @sheidkamp in https://github.com/kubernetes-sigs/controller-runtime/pull/2443
- 🐛 Add missing return statement in the webhook admissions func by @k8s-infra-cherrypick-robot in https://github.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
What's Changed
- [release-0.15] ✨Fix logs in unstructured client by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2344
- [release-0.15] 🐛 fix unspecified KindsFor version by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2347
- [release-0.15] 🐛 fakeClient.Status().Update(...) cannot recognize resource version conflicts by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2372
- [release-0.15] 🐛 hasLabels and matchingLabels step on each other by @k8s-infra-cherrypick-robot in https://github.com/kubernetes-sigs/controller-runtime/pull/2373
- [release-0.15] :bug: Fix Defaulting of the User Agent by @alvaroaleman in https://github.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
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)- 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 requiresGetHTTPClient()
method which must return an already configured, non-nil,*http.Client
for the Cluster. When usingcluster.New
to create Clusters, the client is created internally if not specified as anOptions
field. -
cluster.Options.MapperProvider
field now requires a*rest.Config
and*http.Client
.
- Deprecate Component Configuration
config/v1alpha1
types (#2149, #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.
- Remove dependency injection functions (#2134, #2120)
- The package
pkg/inject
has been removed, this package contained long deprecated injection functions (likeInjectScheme
,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.
- The package
- Improve
builder
package capabilities and general UX (#2135)-
builder.Builder.Watches
signature has changed, it now takes aclient.Object
instead of asource.Source
as first argument.- For
source.Source
, useWatchesRawSource
.
- For
-
builder.Builder.WatchesMetadata
has been added to simplify watchingPartialObjectMetadata
objects.
-
- Refactor cache.Options, deprecate MultiNamespacedCacheBuilder (#2157, #2166)
-
cache.Options.Namespace
has been removed in favor ofcache.Options.Namespaces
, a slice. -
cache.Options.Resync
has been renamed toSyncPeriod
. -
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, usecache.Options.ByObject[Object].Field
andcache.Options.ByObject[Object].Label
-
cache.Options.UnsafeDisableDeepCopyByObject
has been removed, usecache.Options.ByObject[Object].UnsafeDisableDeepCopy
. -
cache.Options.TransformByObject
has been removed, usecache.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)
-
handler.EventHandler
andhandler.Funcs
interfaces requirecontext.Context
as the first parameter for every method. -
handler.MapFunc
signature has changed and now requires acontext.Context
.
-
- Add client.{GroupVersionKindFor, IsObjectNamespaced} (#2136)
- The
client.Client
interface now requires and exposes these helper functions:-
GroupVersionKindFor(Object)
which returns theschema.GroupVersionKind
for the object. -
IsObjectNamespaced(Object)
which returnstrue
if the object's GroupVersionKind is namespaced, orfalse
for global ones.
-
- The
- Remove DelegatedClient, move all related options in
client.New
(#2150)-
client.NewDelegatingClient
constructor andclient.NewDelegatingClientInput
struct have been removed.- The DelegatingClient created a Client backed by a cache, use
client.New
and setclient.Options.Cache
to customize the client's caching behavior.
- The DelegatingClient created a Client backed by a cache, use
-
cluster.NewClientFunc
has been moved toclient.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, #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.
- Users can also keep using
-
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.
- Users can also keep using
-
manager.Options.SyncPeriod
has been deprecated in favor ofmanager.Options.Cache.SyncPeriod
. -
manager.Options.Namespace
has been deprecated in favor ofmanager.Options.Cache.Namespaces
. -
manager.Options.DryRunClient
has been deprecated in favor ofmanager.Options.Client.DryRun
. -
manager.Options.ClientDisableCacheFor
has been deprecated in favor ofmanager.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) - Add constructors for
webhook/conversion
, removewebhook/admission.GetDecoder()
(#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/Web
Configuration
📅 Schedule: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" in timezone Europe/Vienna, 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 these updates again.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.