kubernetes-sigs/controller-runtime
### [`v0.12.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.2)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.12.1...v0.12.2)
**changes since [v0.12.1](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.12.1)**
#### :sparkles: New Features
- Allow TLS to be entirely configured on webhook server ([#1914](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1914))
#### :bug: Bug Fixes
- Fix webhook write response error for broken HTTP connection ([#1931](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1931))
- Fix issue with starting multiple test envs ([#1913](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1913))
- don't override global log in builder ([#1911](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1911))
*Thanks to all our contributors!*
### [`v0.12.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.1)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.12.0...v0.12.1)
**changes since [v0.12.0](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.12.0)**
#### :bug: Bug Fixes
- fix loading CRDs from multiple directories in envtests ([#1905](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1905))
*Thanks to all our contributors!*
### [`v0.12.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.0)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.2...v0.12.0)
**changes since [v0.11.2](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.2)**
#### :warning: Breaking Changes
- make fake client delete operations honor dry run opt ([#1873](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1873))
- logging: align to Kubernetes structured logging, add reconcileID ([#1827](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1827))
- leaderelection: use 'leases' as default resource lock object ([#1773](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1773))
#### :sparkles: New Features
- certwatcher: add metrics to monitor certificate reads ([#1877](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1877))
- Bump to k8s.io v1.24.0 ([#1885](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1885))
- Bump to k8s.io v1.24.0-rc.1 ([#1879](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1879))
- return a bool from AddFinalizer and RemoveFinalizer ([#1636](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1636))
- update client-go to 1.24-beta ([#1864](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1864))
- Add BaseContext to manager Options for use with Runnables ([#1846](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1846))
- Upgrade k8s dependencies from 1.23.0 to 1.23.5 ([#1843](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1843))
- Add Kubernetes Gomega extension with to make testing controllers easier ([#1767](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1767))
- manager.go: Fix a few Options fields' go-docs ([#1818](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1818))
- Bump go in setup-envtest ([#1777](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1777))
#### :bug: Bug Fixes
- Fix panic for lazy dynamicRESTMapper ([#1891](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1891))
- pkg: envtest: komega: fix UpdateStatus & typos in godoc ([#1862](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1862))
- zap-time-encoding test should allow negative tz offset ([#1856](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1856))
- returned objects of reference type should be unchangeable ([#1851](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1851))
- prometheus/client_golang 0.11.0 -> 0.11.1 - fix DoS ([#1813](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1813))
- Cache sync cancelled should not error with timeout ([#1808](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1808))
- Use leader config for election events ([#1803](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1803))
- Inject func in `predicate.{And,Or}` ([#1781](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1781))
- Trim List if List GVK is provided ([#1775](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1775))
- Cleanup if envtest controlplane fails to start ([#1750](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1750))
- Try a temporary directory if the user cache fails ([#1800](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1800))
*Thanks to all our contributors!*
### [`v0.11.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.2)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.1...v0.11.2)
**changes since [v0.11.1](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.1)**
##### :sparkles: New Features
- Upgrade k8s dependencies from 1.23.0 to 1.23.5 ([#1853](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1853))
*Thanks to all our contributors!*
### [`v0.11.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.1)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.0...v0.11.1)
**changes since [v0.11.0](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.0)**
#### :bug: Bug Fixes
- Fixed a bug in newGVKFixupWatcher which caused the metadata informer to hang ([#1801](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1801))
*Thanks to all our contributors!*
### [`v0.11.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.0)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.3...v0.11.0)
## Changes since v0.10.3
#### :warning: Breaking Changes
- Update k8s.io/\* dependencies to v0.23.0 ([#1738](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1738), [#1709](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1709), [#1741](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1741))
- Refactor manager to avoid race conditions and provide clean shutdown ([#1695](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1695))
- Avoid shallow copies of webhooks and CRDs in testenv ([#1667](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1667))
#### :sparkles: New Features
- Allow configuring a default cache selector ([#1710](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1710))
- Fix SetupSignalHandler godoc ([#1716](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1716))
- Bump to Go 1.17, k8s.io v1.23-alpha4, gomega v1.17.0, bump setup-envtest deps ([#1731](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1731), [#1714](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1714))
- Improve startup logs ([#1687](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1687))
- Allow webhooks to register custom validators/defaulter types ([#1676](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1676))
- Switch from rsa to ecdsa in tinyca ([#1674](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1674))
#### :bug: Bug Fixes
- Correctly pass cache options on ([#1743](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1743))
- Avoid panic in envtest by checking before dereferencing ([#1724](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1724))
- Fix the internal cache object selector ([#1703](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1703))
- client/config: use filepath.Join for loadingRules.Precedence ([#1677](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1677))
#### :seedling: Others
- Bump golang.org/x/text to v0.3.7 ([#1736](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1736))
- Allow Specification of the Log Timestamp Format ([#1688](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1688))
- Fake Client: extend builder with an option to set a RESTMapper ([#1683](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1683))
- Source should retry to get informers until timeout expires ([#1678](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1678))
:book: Additionally, there have been 2 contributions to our documentation and book. ([#1722](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1722), [#1698](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1698))
*Thanks to all our contributors!* π
### [`v0.10.3`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.3)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.2...v0.10.3)
## Changes since v0.10.2
#### :bug: Bug Fixes
- Start web hooks first ([#1690](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1690))
#### :seedling: Others
- Improve startup logs ([#1692](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1692))
- fake-client: extend builder with an option to set a RESTMapper ([#1686](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1686))
*Thanks to all our contributors!* π
### [`v0.10.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.2)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.1...v0.10.2)
#### Changes since v0.10.1
#### β¨ New Features
- Allow webhooks to register custom validators/defaulter types ([#1679](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1679))
#### π± Others
- π± Source should retry to get informers until timeout expires in ([#1682](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1682))
*Thanks to all our contributors!* π
### [`v0.10.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.1)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.0...v0.10.1)
## Changes since v0.10.0
#### :bug: Bug Fixes
- envtest: Fix CRD installation ([#1666](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1666))
- envtest: Get gvk from hook struct instead of forcing set TypeMeta ([#1665](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1665))
- Fakeclient: Allow manipulating registered types through unstructured ([#1662](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1662))
- Unconditionally set NegotiatedSerializer ([#1664](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1664))
- Fix object overwrite on patch for fake client ([#1651](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1651))
- Set partialmetadata gvk in list/watch funcs to avoid data race in cache ([#1650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1650))
#### π± Others
- Update k8s.io/\* dependencies to v0.22.2 ([#1672](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1672))
*Thanks to all our contributors!* π
### [`v0.10.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.0)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.7...v0.10.0)
### Controller-runtime v0.10.0
#### Changes since v0.9.6
#### β οΈ Breaking Changes
- Client: Ensure no stale data remains in target object ([#1640](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1640))
- bump to kubernetes 1.22.0 ([#1626](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1626))
- Disable the rest_client_request_latency_seconds metric by default ([#1587](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1587))
- Fakeclient: Reject Delete with mismatched ResourceVersion ([#1582](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1582))
#### β¨ New Features
- Construct the typed clients we need ([#1637](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1637))
- Add UnsafeDisableDeepCopy into cache option to avoid deep copy during get/list ([#1274](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1274))
- Add an option to recover panic for controller reconcile ([#1627](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1627))
- chore: Fix bad urls ([#1632](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1632))
- Update Kubernetes dependencies to v0.21.3 ([#1604](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1604))
- Restrict namespace for list/watch based on field selectors ([#1602](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1602))
- add health check for webhook server ([#1588](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1588))
#### π Bug Fixes
- Envtest should try to allocate a port for etcd listenPeerURL ([#1612](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1612))
- Fix a bug with Limit list opt returning less than expected number of objects in the result. ([#1618](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1618))
- fix webhook health check tls handshake timeouts ([#1617](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1617))
- fix the typo of certwatcher example test ([#1615](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1615))
- Use non blocking file locking for flock library ([#1605](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1605))
#### π Documentation
- Update doc.go ([#1597](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1597))
- add godoc badge to README ([#1596](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1596))
- Remove extraneous "s" in pkg/events in GoDoc ([#1466](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1466))
- tmp-logging - fix markdown parsing error ([#1584](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1584))
#### π± Others
- Manager should use the global logger, reduce log names verbosity ([#1647](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1647))
- Update dependencies August 2021 ([#1635](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1635))
- Disable fsync on etcd envtest ([#1629](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1629))
- OWNERS_ALIASES: move joelanford to maintainers ([#1624](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1624))
- cleanup Use objectutil IsAPINamespaced ([#1573](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1573))
- Update k8s.io/\* dependencies to 0.22.1 ([#1646](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1646))
- Add varshaprasad96 as reviewer ([#1614](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1614))
*Thanks to all our contributors!* π
### [`v0.9.7`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.7)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.6...v0.9.7)
## Changes since v0.9.6
#### :seedling: Others
- Manager should use the global logger, reduce log names verbosity ([#1648](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1648))
- Update dependencies to Kubernetes v1.21.4 ([#1634](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1634))
*Thanks to all our contributors!* π
### [`v0.9.6`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.6)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.5...v0.9.6)
## Changes since v0.9.5
#### :seedling: Others
- Disable fsync starting from etcd 3.5 in envtest ([#1630](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1630))
- Fix webhook health check tls handshake timeouts ([#1616](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1616))
*Thanks to all our contributors!* π
### [`v0.9.5`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.5)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.4...v0.9.5)
## Changes since v0.9.3
#### :sparkles: New Features
- Update Kubernetes dependencies to v0.21.3 ([#1604](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1604))
- Restrict namespace for list/watch based on field selectors ([#1602](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1602))
#### :bug: Bug Fixes
- Use non blocking file locking for flock library ([#1605](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1605))
*Thanks to all our contributors!* π
### [`v0.9.4`](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.3...v0.9.4)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.3...v0.9.4)
### [`v0.9.3`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.3)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.2...v0.9.3)
## Changes since v0.9.2
#### :sparkles: New Features
- Make it possible to monitor if the webhook server has been started ([#1598](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1598))
*Thanks to all our contributors!* π
### [`v0.9.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.2)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.1...v0.9.2)
## Changes since v0.9.1
#### :bug: Bug Fixes
- Remove advertise-address from testenv api-server ([#1562](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1562))
#### :seedling: Others
- addr.Suggest should lock a file instead of memory ([#1563](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1563))
- Remove async ginkgo tests ([#1564](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1564))
- Limit parallel go test executions on MacOS ([#1567](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1567))
- Refactor golangci-lint, enable more linters and add github action ([#1566](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1566))
*Thanks to all our contributors!* π
### [`v0.9.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.1)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.0...v0.9.1)
## Changes since v0.9.0
#### :sparkles: New Features
- Finalizer helper library ([#1481](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1481))
#### :seedling: Others
- Update dependencies to Kubernetes v1.21.2 ([#1561](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1561))
*Thanks to all our contributors!* π
### [`v0.9.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.0)
[Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.8.3...v0.9.0)
## Changes since v0.8.3
#### :rotating_light: Significant Changes :rotating_light:
##### Envtest Refactor & Support for 1.20+ Clusters ([#1486](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1486))
This adds support for newer Kubernetes clusters, particularly those that require the use of authentication & the secure port, as well as some refactors & deprecation.
By and large, these changes **should be transparent** for most users.
As a result of the removal of the insecure port in newer k8s versions, **authentication & authorization are now on by default** in `envtest` (and the secure port is used by default). The built-in REST config now returns an admin account, meaning perceived impact should be minimal in most cases -- if you're **using the built-in** `Environment.Config`, things *should* just work.
However, if you **manually construct** new REST configs from raw URLs, things *will* break. You'll need to migrate to using `Environment.AddUser` instead.
Additionally, a number of options on `ControlPlane` & `APIServer` around the secure & insecure ports are deprecated -- see [the docs](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane#APIServer) for more details.
##### Envtest Setup Tool ([#1488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1488))
A new tool has been introduced for setting up envtest binaries at `sigs.k8s.io/controller-runtime/tools/setup-envtest`. This replaces the existing `hack/setup-envtest.sh` script, so if you were depending on that, you should switch. See [the docs](https://togithub.com/kubernetes-sigs/controller-runtime/tree/master/tools/setup-envtest) for more information.
##### Kubernetes Dependencies
Now at v1.21.1.
#### :warning: Breaking Changes
- **Update Kubernetes v1.21 dependencies and use Go 1.16** ([#1389](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1389))
moderate impact: if you're on an old Go version, it's time to upgrade :wink:
- **Envtest should modify CRDs appropriately when using webhooks** ([#1525](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1525))
minimal impact: one of the methods on WebhookInstallOptions had a signature change. Mostly internal, expected that this method is unlikely to be called directly.
- **Allow setting NewClientFunc w/o implementing an interface** ([#1473](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1473))
moderate impact: If you're constructing a custom client, this'll change how you do so, but should make it easier in the long run.
- **Support global controller options in component config** ([#1371](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1371))
minimal impact: adds new method to Manager interface, generally only implemented by CR)
- **Fix race in the delegating logger** ([#1361](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1361))
minimal impact: exposed piece of internals was changed)
- **Fakeclient: Handle Finalizers** ([#869](https://togithub.com/kubernetes-sigs/controller-runtime/issues/869))
moderate impact: Finalizers in the fakeclient now behave similiar to the kube api, i.E. an object with a finalizer will not actually be deleted upon Delete and Updating an object with a DeletionTimestamp to remove the finalizer will result in deletion
#### :sparkles: New Features
- Structured args in Testing ([#1541](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1541)) -- the use of **templated args (`Environment.KubeAPIServerFlags`) is now deprecated** -- use `GetAPIServer().Configure()` instead.
- Clean up pkg/internal/testing ([#1540](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1540))
- Cleanup Webhook server setup ([#1504](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1504))
- EnvTest Binaries Setup Tool ([#1488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1488))
- Add SelectorsByObject option to cache ([#1435](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1435))
- Simple helper for unmanaged webhook server ([#1429](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1429))
- pkg/log/zap: clarify zap level vs. logr verbosity ([#1485](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1485))
- Add ClientWithWatch for use in CLIs ([#1460](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1460))
- Add client.StrategicMergeFrom ([#1406](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1406))
- Add tests in controller that use source.Channel ([#1373](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1373))
- Revert injection deprecation logging until internal injection code use stops ([#1382](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1382))
- Update dependencies to Kubernetes v1.21.1 ([#1536](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1536))
- Adding certwatcher as an external package ([#1441](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1441))
- Adding TokenReview.auth.k8s.io/v1 webhook support ([#1440](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1440))
#### :bug: Bug Fixes
- Envtest should enable conversion only for convertible GVKs ([#1532](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1532))
- Envtest conversion mods should set strategy and review versions ([#1531](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1531))
- Honor LeaderElectionReleaseOnCancel ([#1523](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1523))
- Fakeclient: Fix List for unregistered type through unstructured ([#1521](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1521))
- Metadata client applies patch options ([#1508](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1508))
- Fakeclient: Support WithWatch ([#1510](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1510))
- Webhook servers should always start before cache syncs ([#1512](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1512))
- Add manager.Options.WebhookServer so webhook server can be set ([#1500](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1500))
- controllerutil.CreateOrPatch doesn't update not empty Status fields if Spec fields are specified ([#1403](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1403))
- Metadata only objects should always preserve GroupVersionKind ([#1484](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1484))
- Actually inject the scheme in StandaloneWebhook ([#1490](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1490))
- Fakeclient: Do not require ListKind ([#1467](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1467))
- Event recorder should not send events when broadcaster is stopped ([#1451](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1451))
- Fix the typo of `UseExistingCluster` comment ([#1434](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1434))
- Fix cache sync timeout functionality ([#1428](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1428))
- Deflake should update CRDs if already present in the cluster ([#1430](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1430))
- Controller: Wait for all reconciliations before shutting down ([#1427](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1427))
- Print webhook config options from scratch-env example ([#1302](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1302))
- Fix client.Apply and client.Merge to satisfy Patch ([#1410](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1410))
- Manager leader election: Don't reset restcfg UserAgent ([#1401](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1401))
- Fix a possible temporary directory leak ([#1331](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1331))
- Fix a race condition between leader election and recorder ([#1379](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1379))
- Handle unstructured CRD objects in envtest webhook mods ([#1526](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1526))
#### :seedling: Others
- Use gomodules.xyz/jsonpatch/v2 v2.2.0 ([#1533](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1533))
*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.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v0.8.3
->v0.12.2
Release Notes
kubernetes-sigs/controller-runtime
### [`v0.12.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.12.1...v0.12.2) **changes since [v0.12.1](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.12.1)** #### :sparkles: New Features - Allow TLS to be entirely configured on webhook server ([#1914](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1914)) #### :bug: Bug Fixes - Fix webhook write response error for broken HTTP connection ([#1931](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1931)) - Fix issue with starting multiple test envs ([#1913](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1913)) - don't override global log in builder ([#1911](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1911)) *Thanks to all our contributors!* ### [`v0.12.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.12.0...v0.12.1) **changes since [v0.12.0](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.12.0)** #### :bug: Bug Fixes - fix loading CRDs from multiple directories in envtests ([#1905](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1905)) *Thanks to all our contributors!* ### [`v0.12.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.12.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.2...v0.12.0) **changes since [v0.11.2](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.2)** #### :warning: Breaking Changes - make fake client delete operations honor dry run opt ([#1873](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1873)) - logging: align to Kubernetes structured logging, add reconcileID ([#1827](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1827)) - leaderelection: use 'leases' as default resource lock object ([#1773](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1773)) #### :sparkles: New Features - certwatcher: add metrics to monitor certificate reads ([#1877](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1877)) - Bump to k8s.io v1.24.0 ([#1885](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1885)) - Bump to k8s.io v1.24.0-rc.1 ([#1879](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1879)) - return a bool from AddFinalizer and RemoveFinalizer ([#1636](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1636)) - update client-go to 1.24-beta ([#1864](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1864)) - Add BaseContext to manager Options for use with Runnables ([#1846](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1846)) - Upgrade k8s dependencies from 1.23.0 to 1.23.5 ([#1843](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1843)) - Add Kubernetes Gomega extension with to make testing controllers easier ([#1767](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1767)) - manager.go: Fix a few Options fields' go-docs ([#1818](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1818)) - Bump go in setup-envtest ([#1777](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1777)) #### :bug: Bug Fixes - Fix panic for lazy dynamicRESTMapper ([#1891](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1891)) - pkg: envtest: komega: fix UpdateStatus & typos in godoc ([#1862](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1862)) - zap-time-encoding test should allow negative tz offset ([#1856](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1856)) - returned objects of reference type should be unchangeable ([#1851](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1851)) - prometheus/client_golang 0.11.0 -> 0.11.1 - fix DoS ([#1813](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1813)) - Cache sync cancelled should not error with timeout ([#1808](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1808)) - Use leader config for election events ([#1803](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1803)) - Inject func in `predicate.{And,Or}` ([#1781](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1781)) - Trim List if List GVK is provided ([#1775](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1775)) - Cleanup if envtest controlplane fails to start ([#1750](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1750)) - Try a temporary directory if the user cache fails ([#1800](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1800)) *Thanks to all our contributors!* ### [`v0.11.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.1...v0.11.2) **changes since [v0.11.1](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.1)** ##### :sparkles: New Features - Upgrade k8s dependencies from 1.23.0 to 1.23.5 ([#1853](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1853)) *Thanks to all our contributors!* ### [`v0.11.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.11.0...v0.11.1) **changes since [v0.11.0](https://togithub.com/kubernetes-sigs/controller-runtime/releases/v0.11.0)** #### :bug: Bug Fixes - Fixed a bug in newGVKFixupWatcher which caused the metadata informer to hang ([#1801](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1801)) *Thanks to all our contributors!* ### [`v0.11.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.11.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.3...v0.11.0) ## Changes since v0.10.3 #### :warning: Breaking Changes - Update k8s.io/\* dependencies to v0.23.0 ([#1738](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1738), [#1709](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1709), [#1741](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1741)) - Refactor manager to avoid race conditions and provide clean shutdown ([#1695](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1695)) - Avoid shallow copies of webhooks and CRDs in testenv ([#1667](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1667)) #### :sparkles: New Features - Allow configuring a default cache selector ([#1710](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1710)) - Fix SetupSignalHandler godoc ([#1716](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1716)) - Bump to Go 1.17, k8s.io v1.23-alpha4, gomega v1.17.0, bump setup-envtest deps ([#1731](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1731), [#1714](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1714)) - Improve startup logs ([#1687](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1687)) - Allow webhooks to register custom validators/defaulter types ([#1676](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1676)) - Switch from rsa to ecdsa in tinyca ([#1674](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1674)) #### :bug: Bug Fixes - Correctly pass cache options on ([#1743](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1743)) - Avoid panic in envtest by checking before dereferencing ([#1724](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1724)) - Fix the internal cache object selector ([#1703](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1703)) - client/config: use filepath.Join for loadingRules.Precedence ([#1677](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1677)) #### :seedling: Others - Bump golang.org/x/text to v0.3.7 ([#1736](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1736)) - Allow Specification of the Log Timestamp Format ([#1688](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1688)) - Fake Client: extend builder with an option to set a RESTMapper ([#1683](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1683)) - Source should retry to get informers until timeout expires ([#1678](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1678)) :book: Additionally, there have been 2 contributions to our documentation and book. ([#1722](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1722), [#1698](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1698)) *Thanks to all our contributors!* π ### [`v0.10.3`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.3) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.2...v0.10.3) ## Changes since v0.10.2 #### :bug: Bug Fixes - Start web hooks first ([#1690](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1690)) #### :seedling: Others - Improve startup logs ([#1692](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1692)) - fake-client: extend builder with an option to set a RESTMapper ([#1686](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1686)) *Thanks to all our contributors!* π ### [`v0.10.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.1...v0.10.2) #### Changes since v0.10.1 #### β¨ New Features - Allow webhooks to register custom validators/defaulter types ([#1679](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1679)) #### π± Others - π± Source should retry to get informers until timeout expires in ([#1682](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1682)) *Thanks to all our contributors!* π ### [`v0.10.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.10.0...v0.10.1) ## Changes since v0.10.0 #### :bug: Bug Fixes - envtest: Fix CRD installation ([#1666](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1666)) - envtest: Get gvk from hook struct instead of forcing set TypeMeta ([#1665](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1665)) - Fakeclient: Allow manipulating registered types through unstructured ([#1662](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1662)) - Unconditionally set NegotiatedSerializer ([#1664](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1664)) - Fix object overwrite on patch for fake client ([#1651](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1651)) - Set partialmetadata gvk in list/watch funcs to avoid data race in cache ([#1650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1650)) #### π± Others - Update k8s.io/\* dependencies to v0.22.2 ([#1672](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1672)) *Thanks to all our contributors!* π ### [`v0.10.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.10.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.7...v0.10.0) ### Controller-runtime v0.10.0 #### Changes since v0.9.6 #### β οΈ Breaking Changes - Client: Ensure no stale data remains in target object ([#1640](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1640)) - bump to kubernetes 1.22.0 ([#1626](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1626)) - Disable the rest_client_request_latency_seconds metric by default ([#1587](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1587)) - Fakeclient: Reject Delete with mismatched ResourceVersion ([#1582](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1582)) #### β¨ New Features - Construct the typed clients we need ([#1637](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1637)) - Add UnsafeDisableDeepCopy into cache option to avoid deep copy during get/list ([#1274](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1274)) - Add an option to recover panic for controller reconcile ([#1627](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1627)) - chore: Fix bad urls ([#1632](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1632)) - Update Kubernetes dependencies to v0.21.3 ([#1604](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1604)) - Restrict namespace for list/watch based on field selectors ([#1602](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1602)) - add health check for webhook server ([#1588](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1588)) #### π Bug Fixes - Envtest should try to allocate a port for etcd listenPeerURL ([#1612](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1612)) - Fix a bug with Limit list opt returning less than expected number of objects in the result. ([#1618](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1618)) - fix webhook health check tls handshake timeouts ([#1617](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1617)) - fix the typo of certwatcher example test ([#1615](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1615)) - Use non blocking file locking for flock library ([#1605](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1605)) #### π Documentation - Update doc.go ([#1597](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1597)) - add godoc badge to README ([#1596](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1596)) - Remove extraneous "s" in pkg/events in GoDoc ([#1466](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1466)) - tmp-logging - fix markdown parsing error ([#1584](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1584)) #### π± Others - Manager should use the global logger, reduce log names verbosity ([#1647](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1647)) - Update dependencies August 2021 ([#1635](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1635)) - Disable fsync on etcd envtest ([#1629](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1629)) - OWNERS_ALIASES: move joelanford to maintainers ([#1624](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1624)) - cleanup Use objectutil IsAPINamespaced ([#1573](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1573)) - Update k8s.io/\* dependencies to 0.22.1 ([#1646](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1646)) - Add varshaprasad96 as reviewer ([#1614](https://togithub.com/kubernetes-sigs/controller-runtime/pull/1614)) *Thanks to all our contributors!* π ### [`v0.9.7`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.7) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.6...v0.9.7) ## Changes since v0.9.6 #### :seedling: Others - Manager should use the global logger, reduce log names verbosity ([#1648](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1648)) - Update dependencies to Kubernetes v1.21.4 ([#1634](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1634)) *Thanks to all our contributors!* π ### [`v0.9.6`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.6) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.5...v0.9.6) ## Changes since v0.9.5 #### :seedling: Others - Disable fsync starting from etcd 3.5 in envtest ([#1630](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1630)) - Fix webhook health check tls handshake timeouts ([#1616](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1616)) *Thanks to all our contributors!* π ### [`v0.9.5`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.5) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.4...v0.9.5) ## Changes since v0.9.3 #### :sparkles: New Features - Update Kubernetes dependencies to v0.21.3 ([#1604](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1604)) - Restrict namespace for list/watch based on field selectors ([#1602](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1602)) #### :bug: Bug Fixes - Use non blocking file locking for flock library ([#1605](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1605)) *Thanks to all our contributors!* π ### [`v0.9.4`](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.3...v0.9.4) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.3...v0.9.4) ### [`v0.9.3`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.3) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.2...v0.9.3) ## Changes since v0.9.2 #### :sparkles: New Features - Make it possible to monitor if the webhook server has been started ([#1598](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1598)) *Thanks to all our contributors!* π ### [`v0.9.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.1...v0.9.2) ## Changes since v0.9.1 #### :bug: Bug Fixes - Remove advertise-address from testenv api-server ([#1562](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1562)) #### :seedling: Others - addr.Suggest should lock a file instead of memory ([#1563](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1563)) - Remove async ginkgo tests ([#1564](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1564)) - Limit parallel go test executions on MacOS ([#1567](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1567)) - Refactor golangci-lint, enable more linters and add github action ([#1566](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1566)) *Thanks to all our contributors!* π ### [`v0.9.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.9.0...v0.9.1) ## Changes since v0.9.0 #### :sparkles: New Features - Finalizer helper library ([#1481](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1481)) #### :seedling: Others - Update dependencies to Kubernetes v1.21.2 ([#1561](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1561)) *Thanks to all our contributors!* π ### [`v0.9.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.9.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.8.3...v0.9.0) ## Changes since v0.8.3 #### :rotating_light: Significant Changes :rotating_light: ##### Envtest Refactor & Support for 1.20+ Clusters ([#1486](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1486)) This adds support for newer Kubernetes clusters, particularly those that require the use of authentication & the secure port, as well as some refactors & deprecation. By and large, these changes **should be transparent** for most users. As a result of the removal of the insecure port in newer k8s versions, **authentication & authorization are now on by default** in `envtest` (and the secure port is used by default). The built-in REST config now returns an admin account, meaning perceived impact should be minimal in most cases -- if you're **using the built-in** `Environment.Config`, things *should* just work. However, if you **manually construct** new REST configs from raw URLs, things *will* break. You'll need to migrate to using `Environment.AddUser` instead. Additionally, a number of options on `ControlPlane` & `APIServer` around the secure & insecure ports are deprecated -- see [the docs](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/internal/testing/controlplane#APIServer) for more details. ##### Envtest Setup Tool ([#1488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1488)) A new tool has been introduced for setting up envtest binaries at `sigs.k8s.io/controller-runtime/tools/setup-envtest`. This replaces the existing `hack/setup-envtest.sh` script, so if you were depending on that, you should switch. See [the docs](https://togithub.com/kubernetes-sigs/controller-runtime/tree/master/tools/setup-envtest) for more information. ##### Kubernetes Dependencies Now at v1.21.1. #### :warning: Breaking Changes - **Update Kubernetes v1.21 dependencies and use Go 1.16** ([#1389](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1389)) moderate impact: if you're on an old Go version, it's time to upgrade :wink: - **Envtest should modify CRDs appropriately when using webhooks** ([#1525](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1525)) minimal impact: one of the methods on WebhookInstallOptions had a signature change. Mostly internal, expected that this method is unlikely to be called directly. - **Allow setting NewClientFunc w/o implementing an interface** ([#1473](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1473)) moderate impact: If you're constructing a custom client, this'll change how you do so, but should make it easier in the long run. - **Support global controller options in component config** ([#1371](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1371)) minimal impact: adds new method to Manager interface, generally only implemented by CR) - **Fix race in the delegating logger** ([#1361](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1361)) minimal impact: exposed piece of internals was changed) - **Fakeclient: Handle Finalizers** ([#869](https://togithub.com/kubernetes-sigs/controller-runtime/issues/869)) moderate impact: Finalizers in the fakeclient now behave similiar to the kube api, i.E. an object with a finalizer will not actually be deleted upon Delete and Updating an object with a DeletionTimestamp to remove the finalizer will result in deletion #### :sparkles: New Features - Structured args in Testing ([#1541](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1541)) -- the use of **templated args (`Environment.KubeAPIServerFlags`) is now deprecated** -- use `GetAPIServer().Configure()` instead. - Clean up pkg/internal/testing ([#1540](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1540)) - Cleanup Webhook server setup ([#1504](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1504)) - EnvTest Binaries Setup Tool ([#1488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1488)) - Add SelectorsByObject option to cache ([#1435](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1435)) - Simple helper for unmanaged webhook server ([#1429](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1429)) - pkg/log/zap: clarify zap level vs. logr verbosity ([#1485](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1485)) - Add ClientWithWatch for use in CLIs ([#1460](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1460)) - Add client.StrategicMergeFrom ([#1406](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1406)) - Add tests in controller that use source.Channel ([#1373](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1373)) - Revert injection deprecation logging until internal injection code use stops ([#1382](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1382)) - Update dependencies to Kubernetes v1.21.1 ([#1536](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1536)) - Adding certwatcher as an external package ([#1441](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1441)) - Adding TokenReview.auth.k8s.io/v1 webhook support ([#1440](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1440)) #### :bug: Bug Fixes - Envtest should enable conversion only for convertible GVKs ([#1532](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1532)) - Envtest conversion mods should set strategy and review versions ([#1531](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1531)) - Honor LeaderElectionReleaseOnCancel ([#1523](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1523)) - Fakeclient: Fix List for unregistered type through unstructured ([#1521](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1521)) - Metadata client applies patch options ([#1508](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1508)) - Fakeclient: Support WithWatch ([#1510](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1510)) - Webhook servers should always start before cache syncs ([#1512](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1512)) - Add manager.Options.WebhookServer so webhook server can be set ([#1500](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1500)) - controllerutil.CreateOrPatch doesn't update not empty Status fields if Spec fields are specified ([#1403](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1403)) - Metadata only objects should always preserve GroupVersionKind ([#1484](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1484)) - Actually inject the scheme in StandaloneWebhook ([#1490](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1490)) - Fakeclient: Do not require ListKind ([#1467](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1467)) - Event recorder should not send events when broadcaster is stopped ([#1451](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1451)) - Fix the typo of `UseExistingCluster` comment ([#1434](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1434)) - Fix cache sync timeout functionality ([#1428](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1428)) - Deflake should update CRDs if already present in the cluster ([#1430](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1430)) - Controller: Wait for all reconciliations before shutting down ([#1427](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1427)) - Print webhook config options from scratch-env example ([#1302](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1302)) - Fix client.Apply and client.Merge to satisfy Patch ([#1410](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1410)) - Manager leader election: Don't reset restcfg UserAgent ([#1401](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1401)) - Fix a possible temporary directory leak ([#1331](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1331)) - Fix a race condition between leader election and recorder ([#1379](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1379)) - Handle unstructured CRD objects in envtest webhook mods ([#1526](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1526)) #### :seedling: Others - Use gomodules.xyz/jsonpatch/v2 v2.2.0 ([#1533](https://togithub.com/kubernetes-sigs/controller-runtime/issues/1533)) *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.