Skip to content

0.75.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Sep 09:09

Highlights

Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

The update to k8s-openapi@0.16.0 makes this the first release with tentative Kubernetes 1.25 support.
While the new structs and apis now exist, we recommend holding off on using 1.25 until a deserialization bug in the apiserver is resolved upstream. See #997 / #1008 for details.

To upgrade, ensure you bump both kube and k8s-openapi:

cargo upgrade kube k8s-openapi

New/Old Config::incluster default to connect in cluster

Our previous default of connecting to the Kubernetes apiserver via kubernetes.default.svc has been reverted back to use the old environment variables after Kubernetes updated their position that the environment variables are not legacy. This does unfortunately regress on rustls support, so for those users we have included a Config::incluster_dns to work around the old rustls issue while it is open.

Controller error_policy extension

The error_policy fn now has access to the object that failed the reconciliation to ease metric creation / failure attribution. The following change is needed on the user side:

-fn error_policy(error: &Error, ctx: Arc<Data>) -> Action {
+fn error_policy(_obj: Arc<YourObject>, error: &Error, ctx: Arc<Data>) -> Action {

Polish / Subresources / Conversion

There are also a slew of ergonomics improvements, closing of gaps in subresources, adding initial support for ConversionReview, making Api::namespaced impossible to use for non-namepaced resources (a common pitfall), as well as many great fixes to the edge cases in portforwarding and finalizers. Many of these changes came from first time contributors. A huge thank you to everyone involved.

What's Changed

Added

Changed

  • Constrain Resource trait and Api::namespaced by Scope by @clux in #956
  • Add connect/read/write timeouts to Config by @goenning in #971
  • Controller: Include the object being reconciled in the error_policy by @felipesere in #995
  • Config: New incluster and incluster_dns constructors by @olix0r in #1001
  • Upgrade k8s-openapi to 0.16 by @clux in #1008

Fixed

New Contributors

Full Changelog: 0.74.0...0.75.0