Skip to content

0.72.0

Compare
Choose a tag to compare
@github-actions github-actions released this 13 May 10:54

Highlights

Ergonomics improvements

A new runtime::WatchSteamExt (#899 + #906) allows for simpler setups for streams from watcher or reflector.

- let stream = utils::try_flatten_applied(StreamBackoff::new(watcher(api, lp), b));
+ let stream = watcher(api, lp).backoff(b).applied_objects();

The util::try_flatten_* helpers have been marked as deprecated since they are not used by the stream impls.

A new reflector:store() fn allows simpler reflector setups #907:

- let store = reflector::store::Writer::<Node>::default();
- let reader = store.as_reader();
+ let (reader, writer) = reflector::store();

Additional conveniences getters/settes to ResourceExt for manged_fields and creation_timestamp #888 + #898, plus a GroupVersion::with_kind path to a GVK, and a TryFrom<TypeMeta> for GroupVersionKind in #896.

CRD Version Selection

Managing multiple version in CustomResourceDefinitions can be pretty complicated, but we now have helpers and docs on how to tackle it.

A new function kube::core::crd::merge_crds have been added (in #889) to help push crd schemas generated by kube-derived crds with different #[kube(version)] properties. See the kube-derive#version documentation for details.

A new example showcases how one can manage two or more versions of a crd and what the expected truncation outcomes are when moving between versions.

Examples

Examples now have moved to tracing for its logging, respects RUST_LOG, and namespace selection via the kubeconfig context. There is also a larger kubectl example showcasing kubectl apply -f yaml as well as kubectl {edit,delete,get,watch} via #885 + #897.

What's Changed

Added

  • Allow merging multi-version CRDs into a single schema by @clux in #889
  • Add GroupVersion::with_kind and TypeMeta -> GroupVersionKind converters by @clux in #896
  • Add managed_fields accessors to ResourceExt by @clux in #898
  • Add ResourceExt::creation_timestamp by @clux in #888
  • Support lowercase http_proxy & https_proxy evars by @DevineLiu in #892
  • Add a WatchStreamExt trait for stream chaining by @clux in #899
  • Add Event::modify + reflector::store helpers by @clux in #907

Changed

  • Switch to kubernetes cluster dns for incluster url everywhere by @clux in #876
  • Update tower-http requirement from 0.2.0 to 0.3.2 by @dependabot in #893

Removed

  • Remove deprecated legacy crd v1beta1 by @clux in #890

New Contributors

Full Changelog: 0.71.0...0.72.0