Skip to content

fix(deps): update rust crate kube to v1 #94

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented May 16, 2025

This PR contains the following updates:

Package Type Update Change
kube dependencies major 0.69.0 -> 1.0.0

Release Notes

kube-rs/kube (kube)

v1.0.0

Compare Source

===================

A Major Version

It's been a long time coming, but time has come to draw the line in the sand. No alphas, no betas. Hope it finds you all well. Thanks to everyone who has contributed over the years.

This is a somewhat symbolic gesture, because semver-breaking changes are still hard to avoid with a large set of sub-1.0 dependencies we need to bump, as well as managing the large api surface of Kubernetes.

Therefore, the plan is to align our breaking changes and major bumps with Kubernetes versions / k8s-openapi versions for now, and this should allow our other releases to stream in. See https://github.com/kube-rs/kube/issues/1688 for more information.

Kubernetes v1_33 support via k8s-openapi 0.25

Please upgrade k8s-openapi along with kube to avoid conflicts.

New minimum versions: MSRV 1.82.0, MK8SV: 1.30*

KubeSchema

The CELSchema alternate derive for JsonSchema has been renamed to KubeSchema to indicate the increased functionality.

In addition to being able to inject CEL rules for validations, it can now also inject x-kubernetes properties such as merge-strategy via https://github.com/kube-rs/kube/pull/1750, handle #[validate] attributes https://github.com/kube-rs/kube/pull/1749, and pass validation rules as string literals https://github.com/kube-rs/kube/pull/1754 :

#[derive(CustomResource, Serialize, Deserialize, Debug, PartialEq, Clone, KubeSchema)]
#[kube(...properties)
struct DocumentSpec {
    /// New merge strategy support
    #[x_kube(merge_strategy = ListMerge::Set)]
    x_kubernetes_set: Vec<String>,

    /// CEL Validation now lives on x_kube and supports literal Rules:
    #[x_kube(validation = "!has(self.variantOne) || self.variantOne.int > 22")]
    complex_enum: ComplexEnum,
}

See kube.rs docs on validation for more info. Huge thanks to @​Danil-Grigorev.

What's Changed

Added
Changed
Removed
Fixed

v0.99.0

Compare Source

===================

Highlights

Dependency Cleanups
Features

What's Changed

Added
Changed
Fixed

v0.98.0

Compare Source

===================

Highlights

What's Changed

Added
Changed
Fixed

v0.97.0

Compare Source

===================

Highlights

  • CustomResource derive added features for crd yaml output:
  • Configuration edge cases:
    • Avoid double installations of aws-lc-rs (rustls crypto) provider #​1617
    • Kubeconfig fix for null user; #​1608
    • Default runtime watcher backoff alignment with client-go #​1603
  • Feature use:
    • Client proxy feature-set misuse prevention #​1626
    • Allow disabling gzip via Config #​1627
  • Depedency minors: thiserror, hashbrown, jsonptr, json-patch. Killed lazy_static / once_cell

What's Changed

Added
Changed
Fixed

v0.96.0

Compare Source

===================

Highlights

  • Features: webpki-roots added #​1323, and predicates no longer require unstable-runtime #​1578
  • Local auth: improve leniency/kubectl-alignment #​1595, remove http proxy vars #​1520
  • Dependencies: upgrades to tower and secrecy, and derivative swapped for educe

What's Changed

Added
Changed
Removed
Fixed

v0.95.0

Compare Source

===================

Kubernetes v1_31 support via k8s-openapi 0.23

Please upgrade k8s-openapi along with kube to avoid conflicts.

New minimum versions: MSRV 1.77.2, MK8SV: 1.26

What's Changed

Changed

v0.94.2

Compare Source

What's Changed

Fixes a runtime regression in watch_object.

Fixed

New Contributors

Full Changelog: kube-rs/kube@0.94.1...0.94.2

v0.94.1

Compare Source

===================

What's Changed

Convenience release. Adjusted a version bound to avoid possibility of running into version compatibility errors with hyper-rustls.

Fixed

v0.94.0

Compare Source

===================

Highlights

Support for rustls's aws-lc-rs is available under a new kube/aws-lc-rs feature. Via https://github.com/kube-rs/kube/pull/1568 for https://github.com/kube-rs/kube/issues/1562

Furthermore, there are improvements to partial typing:

  1. Added a DeserializeGuard safety wrapper to lift deserialisation errors (to e.g. not break watchers). See the errorbound example and core module module. Wrapped type be used with e.g. Api::<DeserializeGuard<CaConfigMap>>. Via https://github.com/kube-rs/kube/pull/1556
  2. A derive macro for Resource; #[derive(Resource)] allows inheriting existing k8s-openapi resource implementations to avoid stepping down to the dynamic api. See the cert check example for usage. Via https://github.com/kube-rs/kube/pull/1565

What's Changed

Added
Changed

v0.93.1

Compare Source

===================

What's Changed

Fixed

v0.93.0

Compare Source

===================

Highlights

Better query validation, better client header customisation, and two new modules:

  1. core::labels module for creating typed label selectors for ListParams or WatchParams. Can be constructed from a native LabelSelector, or directly from a Selector of Expressions. PR.
  2. prelude to simplify imports of extension traits. PR.

A big thank you to everyone who contributed to this release!

What's Changed

Added
Changed
Removed
Fixed

v0.92.1

Compare Source

===================

Bugfix Release

This release fixes #​1524; a regression from 0.92.0 causing watcher to skip pages on initial list. See #​1525.

It is recommended to upgrade from 0.92.0.

What's Changed

Fixed

v0.92.0

Compare Source

===================

Runtime: Decreased Memory Usage from watcher

Buffering of initial pages / init streams is no longer a mandatory process with watcher::Event gaining new Init, InitApply, and InitDone events. These events are read on the store side maintaining the atomicity/completeness guarantees for reflector and Store users.

This constitutes a significant memory decrease for all watcher users, and it has more details in a new kube.rs/blog post.

The downside is a breaking change to watcher::Event. Plain usage of watcher / reflector / Controller should generally not need to change anything, but custom stores / matches on watcher::Event will need an update. If you are writing custom stores, the new signals should be helpful for improved caching.

Thanks to @​fabriziosestito via Kubewarden for https://github.com/kube-rs/kube/pull/1494 . Follow-ups for this feature: https://github.com/kube-rs/kube/pull/1499 and https://github.com/kube-rs/kube/pull/1504.

Client: HTTP Proxy Support

Support is now introduced under the http-proxy feature pulling in hyper-http-proxy complementing the already existing socks5 proxy feature.

Thanks to @​aviramha via MetalBear for the support in https://github.com/kube-rs/kube/pull/1496, with follow-ups https://github.com/kube-rs/kube/pull/1501 + https://github.com/kube-rs/kube/pull/1502

What's Changed

Added
Changed
Fixed

v0.91.0

Compare Source

===================

Kubernetes v1_30 support via k8s-openapi 0.22

Please upgrade k8s-openapi along with kube to avoid conflicts.

Unstable Stream Sharing

A more complete implementation that allows sharing watcher streams between multiple Controllers (for https://github.com/kube-rs/kube/issues/1080) has been added under the unstable-runtime feature-flag in #​1449 and #​1483 by @​mateiidavid. This represents the first usable implementation of shared streams (and replaces the older prototype part in #​1470). While some changes are expected, you can check the shared_stream_controller example for a high-level overview.

What's Changed

Added
Changed
Removed
Fixed

v0.90.0

Compare Source

===================

Highlights

kube::client::Body Improvements
Dependency Cleanups

What's Changed

Added
Changed
Fixed

v0.89.0

Compare Source

Upgrading hyper and http to 1.0 and MSRV to 1.75.0

This release completes the hyper & http ecosystem upgrade #​1351 via #​1438. In particular, this change includes upgrades to http, http-body, tower-http, hyper, hyper-openssl, hyper-rustls, hyper-socks2, hyper-timeout, tame-oauth, tokio-tungstenite, tower-http, rustls, rustls-pemfile, as well as adopting the new hyper_util and http_body_util to make the change.

While this change constitutes significant internal churn (and a new kube::client::Body), our external api remains largely unchanged. Some minor changes are necessary for custom clients, and for integration testing using tower_mock. See the controller-rs upgrade pr or the examples folder in this commit for details.

What's Changed

Added
Changed
Fixed

New Contributors

Full Changelog: kube-rs/kube@0.88.1...0.89.0

v0.88.1

Compare Source

===================

What's Changed

This is a bug fix release for a deserialization issue introduced in 0.88.0.

Fixed

v0.88.0

Compare Source

===================

Kubernetes v1_29 support via k8s-openapi 0.21

Please upgrade k8s-openapi along with kube to avoid conflicts.

What's Changed

Added
Changed

v0.87.2

Compare Source

===================

What's Changed

Added
Changed

v0.87.1

Compare Source

===================

Headlines

  • fixed a Controller issue with reconciliation requests disappearing when using concurrency #​1324
  • improved Client with better exec auth behaviour #​1320, timeout control #​1314, and socks5 proxy handling #​1311
  • small changes to an unstable streams feature #​1304, and a a derive property that is now illegal with syn 2 #​1307

Big thanks to everyone involved 🎃

What's Changed

Added
Changed
Fixed

v0.86.0

Compare Source

Headlines

k8s-openapi 0.20 for Kubernetes v1_28

Please note upstream api removals.
As usual, upgrade k8s-openapi along with kube to avoid issues.

Default TLS stack changed to rustls

With last year's upstream changes from rustls (closing all our existing rustls issues - see https://github.com/kube-rs/kube/issues/1192), this is now the better choice for security, features, and ease of building. The previous default openssl stack can still be used with default-features = false plus the openssl-tls feature.

Controller Configuration

A controller Config has been added to allow tweaking two behaviour parameters (debouncing in #​1265 and concurrency limits in #​1277) of the Controller. Huge thanks to @​aryan9600 for his work.

Streaming Lists

The sendInitialEvents alpha feature is now supported, and is quickly testable in the pod_watcher example when using the feature gate. This will help optimise the memory profile of controllers when the feature becomes generally available. Amazing work by first time contributor @​casualjim.

What's Changed

Added
Changed
Fixed

New Contributors

Full Changelog: kube-rs/kube@0.85.0...0.86.0

v0.85.0

Compare Source

===================

What's Changed

Added
Changed
Fixed

Configuration

📅 Schedule: Branch creation - "after 9pm,before 6am" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label May 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Development

Successfully merging this pull request may close these issues.

0 participants