Rust Kubernetes runtime helpers. Based on kube-rs.

Related tags

Utilities kubernetes
Overview

kubert

Rust Kubernetes runtime helpers. Based on kube-rs.

kubert

Crates.io Documentation License

Features

  • clap command-line interface support;
  • A basic admin server with /ready and /live probe endpoints;
  • A default Kubernetes client;
  • Graceful shutdown on SIGTERM or SIGINT signals;
  • An HTTPS server (for admission controllers and API extensions) with certificate reloading;
  • A utility for maintaining an index derived from watching one or more Kubernetes resources types;
  • A requeue channel that supports deferring/rescheduling updates (i.e. in case a write fails);
  • And a Runtime type that ties it all together!

Why not kube-rs?

The kube crate is great! And in fact, kubert builds on kube's client and runtime modules. This crate, however, captures some of the repeated patterns we've encountered building controllers for Linkerd. It doesn't try to hide kube--though it does reduce boilerplate around initializing watches and caches (reflectors); and it expects you to schedule work via the tokio runtime.

Examples

This repository includes a simple example application that demonstrates how to use a kubert::Runtime.

Other examples include:

Status

This crate is still fairly experimental, though it's based on production code from Linkerd; and we plan to use it in Linkerd moving forward.

Comments
  • Honor KUBERNETES_SERVICE_HOST in k8s client

    Honor KUBERNETES_SERVICE_HOST in k8s client

    This issue is for linkerd2/policy-controller where this lib is being used.

    We are testing linkerd2 stable-2.12.0 and we see that policy-controller running in the Destination pod is not able to connect to the API-server and ends up with crash/restart loop.

    Our current installation with linkerd2 stable-2.11.3 all is good with the policy-controller being able to access API server.

    What we see is that policy-controller is not using the KUBERNETES_SERVICE_HOST env variable to connect to the API-server. Its using kubernetes.default.svc as the url to API-server.

    Would it be possible to have kubert honor KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT when communication to the API-server?


    Logs from policy-controller container:

    {"timestamp":"2022-09-02T09:28:19.075636Z","level":"DEBUG","fields":{"service.ready":true,"message":"processing request"},"target":"tower::buffer::worker","spans":[{"name":"networkauthentications"}]}
    {"timestamp":"2022-09-02T09:28:19.075645Z","level":"DEBUG","fields":{"service.ready":true,"message":"processing request"},"target":"tower::buffer::worker","spans":[{"name":"httproutes"}]}
    {"timestamp":"2022-09-02T09:28:19.075706Z","level":"DEBUG","fields":{"message":"requesting"},"target":"kube_client::client::builder","spans":[{"name":"httproutes"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/httproutes?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.075820Z","level":"DEBUG","fields":{"message":"requesting"},"target":"kube_client::client::builder","spans":[{"name":"meshtlsauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/meshtlsauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.075699Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.077097Z","level":"DEBUG","fields":{"message":"requesting"},"target":"kube_client::client::builder","spans":[{"name":"serverauthorizations"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1beta1/serverauthorizations?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.077093Z","level":"DEBUG","fields":{"message":"requesting"},"target":"kube_client::client::builder","spans":[{"name":"networkauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/networkauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.078258Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.079550Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.078270Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.079722Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"pods"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/api/v1/pods?&labelSelector=linkerd.io%2Fcontrol-plane-ns","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.079751Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"authorizationpolicies"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/authorizationpolicies?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.078340Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.079558Z","level":"DEBUG","fields":{"message":"resolving host=\"kubernetes.default.svc\""},"target":"hyper::client::connect::dns"}
    {"timestamp":"2022-09-02T09:28:19.081938Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"serverauthorizations"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1beta1/serverauthorizations?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.082054Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"networkauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/networkauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.082074Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"httproutes"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/httproutes?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083221Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"pods"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/api/v1/pods?&labelSelector=linkerd.io%2Fcontrol-plane-ns","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083242Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"serverauthorizations"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1beta1/serverauthorizations?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083344Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"authorizationpolicies"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/authorizationpolicies?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083535Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"servers"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1beta1/servers?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083555Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"networkauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/networkauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083571Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"httproutes"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/httproutes?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.083901Z","level":"DEBUG","fields":{"message":"connecting to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"meshtlsauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/meshtlsauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.085181Z","level":"DEBUG","fields":{"message":"connected to 10.2.0.1:443"},"target":"hyper::client::connect::http","spans":[{"name":"meshtlsauthentications"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1alpha1/meshtlsauthentications?","otel.kind":"client","otel.name":"list","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.085214Z","level":"ERROR","fields":{"message":"failed with error error trying to connect: unexpected EOF"},"target":"kube_client::client::builder","spans":[{"name":"serverauthorizations"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/apis/policy.linkerd.io/v1beta1/serverauthorizations?","otel.kind":"client","otel.name":"list","otel.status_code":"ERROR","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.085219Z","level":"ERROR","fields":{"message":"failed with error error trying to connect: unexpected EOF"},"target":"kube_client::client::builder","spans":[{"name":"pods"},{"http.method":"GET","http.url":"https://kubernetes.default.svc/api/v1/pods?&labelSelector=linkerd.io%2Fcontrol-plane-ns","otel.kind":"client","otel.name":"list","otel.status_code":"ERROR","name":"HTTP"}]}
    {"timestamp":"2022-09-02T09:28:19.085257Z","level":"INFO","fields":{"message":"stream failed","error":"failed to perform initial object list: HyperError: error trying to connect: unexpected EOF"},"target":"kubert::errors","spans":[{"name":"serverauthorizations"}]}
    {"timestamp":"2022-09-02T09:28:19.085283Z","level":"INFO","fields":{"message":"stream failed","error":"failed to perform initial object list: HyperError: error trying to connect: unexpected EOF"},"target":"kubert::errors","spans":[{"name":"pods"}]}
    
    opened by Retna-Gjensidige 7
  • Update ahash requirement from 0.7 to 0.8

    Update ahash requirement from 0.7 to 0.8

    Updates the requirements on ahash to permit the latest version.

    Release notes

    Sourced from ahash's releases.

    Version 0.8.0

    • Improve the API from 0.7 and may require code changes for some applications.
    • Removes the build time detection of the availability of a runtime random number generator and instead relies on a cargo feature runtime-rng which is on by default.
    • There are no changes to the hashing algorithm
    Commits
    • 24491f6 Simplify interface (#121)
    • 76dd8d2 Issue #117: Support compiling without min_specialization and stdsimd
    • 4c340f5 fix aes acceleration on aarch64 (#116)
    • cc927da Update LICENSE-MIT
    • fbd7485 Improve codegen for mixing in length (#112)
    • e745544 Merge branch 'master' of github.com:tkaitchuck/aHash
    • 2c1daf1 More pre-mixing to guard against partially weak keys
    • f2aecc0 Implement deserialize_in_place() in Deserialize for AHashMap and AHashSet (#110)
    • 5e55048 Add type-alias feature to make it more of a drop in replacement for std Hash[...
    • c069bdc Added From<array> for AHashSet & AHashMap. (#109)
    • See full diff in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Add usage examples & detailed project description

    Add usage examples & detailed project description

    Hello! This seems like a nice project however currently it is hard to understand what it is doing. A few code snippets for showing the usage of this tool/library would be nice 🐻

    opened by orhun 2
  • Bump linkerd/dev from 35 to 37

    Bump linkerd/dev from 35 to 37

    Bumps linkerd/dev from 35 to 37.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump linkerd/dev from 35 to 36

    Bump linkerd/dev from 35 to 36

    Bumps linkerd/dev from 35 to 36.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump DavidAnson/markdownlint-cli2-action from 7.0.0 to 8.0.0

    Bump DavidAnson/markdownlint-cli2-action from 7.0.0 to 8.0.0

    Bumps DavidAnson/markdownlint-cli2-action from 7.0.0 to 8.0.0.

    Commits
    • d57f8bd Update documentation and examples to reference @​v8.
    • 36776d3 Update GitHub Action reference for tbroadley/spellchecker-cli-action to speci...
    • 9085e7e Add "separator" input to enable using something other than "\n" for the globs...
    • ee28a92 Update dependencies: eslint-plugin-unicorn to 45.0.1.
    • 5477182 Bump eslint-plugin-unicorn from 44.0.2 to 45.0.0
    • 64ce683 Bump eslint from 8.27.0 to 8.28.0
    • 26ce372 Relax versioning of tj-actions/changed-files GitHub Action to reduce noise fr...
    • d9979f4 Bump tj-actions/changed-files from 34.4.2 to 34.4.3
    • 62c33a3 Bump tj-actions/changed-files from 34.4.0 to 34.4.2
    • 180d552 Bump JustinBeckwith/linkinator-action from 1.10.3 to 1.10.4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Update kube-client requirement from 0.75 to 0.76

    Update kube-client requirement from 0.75 to 0.76

    Updates the requirements on kube-client to permit the latest version.

    Release notes

    Sourced from kube-client's releases.

    0.76.0

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    New Contributors

    Full Changelog: https://github.com/kube-rs/kube/compare/0.75.0...0.76.0

    Changelog

    Sourced from kube-client's changelog.

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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.

    ... (truncated)

    Commits
    • cd7e00e release 0.76.0
    • da6b5e7 Merge pull request #1051 from teozkr/fix/hoist-enum-values
    • 9dd40ab Merge branch 'main' into fix/hoist-enum-values
    • 9d1a554 Remove native-tls feature (#1044)
    • 0faf86a Merge branch 'main' into fix/hoist-enum-values
    • 0b12c6a Merge pull request #1052 from teozkr/clippy/2022-10-14
    • f2f9c44 Use _else variants for constructing errors
    • 468bb81 Use immediate format interpolation where possible
    • d2f90fb s/sex/gender/g in test case
    • 4c5e5a3 Hoist enum values from subschemas
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update kube-core requirement from 0.75 to 0.76

    Update kube-core requirement from 0.75 to 0.76

    Updates the requirements on kube-core to permit the latest version.

    Release notes

    Sourced from kube-core's releases.

    0.76.0

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    New Contributors

    Full Changelog: https://github.com/kube-rs/kube/compare/0.75.0...0.76.0

    Changelog

    Sourced from kube-core's changelog.

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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.

    ... (truncated)

    Commits
    • cd7e00e release 0.76.0
    • da6b5e7 Merge pull request #1051 from teozkr/fix/hoist-enum-values
    • 9dd40ab Merge branch 'main' into fix/hoist-enum-values
    • 9d1a554 Remove native-tls feature (#1044)
    • 0faf86a Merge branch 'main' into fix/hoist-enum-values
    • 0b12c6a Merge pull request #1052 from teozkr/clippy/2022-10-14
    • f2f9c44 Use _else variants for constructing errors
    • 468bb81 Use immediate format interpolation where possible
    • d2f90fb s/sex/gender/g in test case
    • 4c5e5a3 Hoist enum values from subschemas
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update kube-runtime requirement from 0.75 to 0.76

    Update kube-runtime requirement from 0.75 to 0.76

    Updates the requirements on kube-runtime to permit the latest version.

    Release notes

    Sourced from kube-runtime's releases.

    0.76.0

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    New Contributors

    Full Changelog: https://github.com/kube-rs/kube/compare/0.75.0...0.76.0

    Changelog

    Sourced from kube-runtime's changelog.

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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.

    ... (truncated)

    Commits
    • cd7e00e release 0.76.0
    • da6b5e7 Merge pull request #1051 from teozkr/fix/hoist-enum-values
    • 9dd40ab Merge branch 'main' into fix/hoist-enum-values
    • 9d1a554 Remove native-tls feature (#1044)
    • 0faf86a Merge branch 'main' into fix/hoist-enum-values
    • 0b12c6a Merge pull request #1052 from teozkr/clippy/2022-10-14
    • f2f9c44 Use _else variants for constructing errors
    • 468bb81 Use immediate format interpolation where possible
    • d2f90fb s/sex/gender/g in test case
    • 4c5e5a3 Hoist enum values from subschemas
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update kube requirement from 0.75 to 0.76

    Update kube requirement from 0.75 to 0.76

    Updates the requirements on kube to permit the latest version.

    Release notes

    Sourced from kube's releases.

    0.76.0

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    New Contributors

    Full Changelog: https://github.com/kube-rs/kube/compare/0.75.0...0.76.0

    Changelog

    Sourced from kube's changelog.

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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.

    ... (truncated)

    Commits
    • cd7e00e release 0.76.0
    • da6b5e7 Merge pull request #1051 from teozkr/fix/hoist-enum-values
    • 9dd40ab Merge branch 'main' into fix/hoist-enum-values
    • 9d1a554 Remove native-tls feature (#1044)
    • 0faf86a Merge branch 'main' into fix/hoist-enum-values
    • 0b12c6a Merge pull request #1052 from teozkr/clippy/2022-10-14
    • f2f9c44 Use _else variants for constructing errors
    • 468bb81 Use immediate format interpolation where possible
    • d2f90fb s/sex/gender/g in test case
    • 4c5e5a3 Hoist enum values from subschemas
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump docker/setup-buildx-action from 2.0.0 to 2.2.0

    Bump docker/setup-buildx-action from 2.0.0 to 2.2.0

    Bumps docker/setup-buildx-action from 2.0.0 to 2.2.0.

    Release notes

    Sourced from docker/setup-buildx-action's releases.

    v2.2.0

    What's Changed

    Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.1.0...v2.2.0

    v2.1.0

    What's Changed

    Full Changelog: https://github.com/docker/setup-buildx-action/compare/v2.0.0...v2.1.0

    Commits
    • c74574e Merge pull request #172 from docker/dependabot/npm_and_yarn/csv-parse-5.3.1
    • 2d0cf98 update generated content
    • 5f1d4ea Bump csv-parse from 5.3.0 to 5.3.1
    • 59b5ed6 Merge pull request #165 from crazy-max/append
    • bd61d52 update generated content
    • f6efb5f platforms input
    • 2dfca37 append nodes to builder support
    • 95cb08c Merge pull request #171 from crazy-max/rmsync
    • eb5c2a6 Fix deprecated fs.rmdir
    • 83612be Merge pull request #170 from crazy-max/setOutput
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump DavidAnson/markdownlint-cli2-action from 7.0.0 to 9.0.0

    Bump DavidAnson/markdownlint-cli2-action from 7.0.0 to 9.0.0

    Bumps DavidAnson/markdownlint-cli2-action from 7.0.0 to 9.0.0.

    Commits
    • 5b7c9f7 Update documentation and examples to reference @​v9.
    • 5bfa7f6 Update index.js via "npm test".
    • 06d3f34 Bump markdownlint-cli2 from 0.5.1 to 0.6.0
    • 8ccbe84 Bump eslint from 8.30.0 to 8.31.0
    • 12cdb69 Default npm's ignore-scripts flag to true to prevent running pre- or post-scr...
    • e1d5aa6 Bump tj-actions/changed-files from 34 to 35
    • 43e4112 Bump eslint from 8.29.0 to 8.30.0
    • bae457e Bump eslint-plugin-unicorn from 45.0.1 to 45.0.2
    • e203d55 Bump @​vercel/ncc from 0.34.0 to 0.36.0
    • 1abb020 Bump eslint from 8.28.0 to 8.29.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • admin: make 405 responses standards-compliant

    admin: make 405 responses standards-compliant

    This is probably not actually a big deal, but according to RFC 9110, when sending a 405 Method Not Allowed status:

    The origin server MUST generate an Allow header field in a 405 response containing a list of the target resource's currently supported methods.

    This branch updates the admin server's /live and /ready endpoints so that when an unsupported request method is received, the returned 405 response includes an Allow header, making the server compliant with the RFC.

    opened by hawkw 1
  • [Prototype] Add prometheus metrics endpoint to admin server

    [Prototype] Add prometheus metrics endpoint to admin server

    This change uses the metrics-exporter-prometheus crate to add a /metrics endpoint to the kubert admin server which serves Prometheus metrics. These metrics are collected through the metrics ecosystem and any metrics registered through the metrics crate macros will be exposed on this endpoint.

    Additionally, we use the metrics-process crate to register process level metrics.

    Sample output from the /metrics endpoint:

    # HELP process_max_fds Maximum number of open file descriptors.
    # TYPE process_max_fds gauge
    process_max_fds 1048576
    
    # HELP process_virtual_memory_bytes Virtual memory size in bytes.
    # TYPE process_virtual_memory_bytes gauge
    process_virtual_memory_bytes 358113280
    
    # HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
    # TYPE process_virtual_memory_max_bytes gauge
    process_virtual_memory_max_bytes 0
    
    # HELP process_threads Numberof OS threads in the process.
    # TYPE process_threads gauge
    process_threads 5
    
    # HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
    # TYPE process_start_time_seconds gauge
    process_start_time_seconds 1671068715
    
    # HELP process_resident_memory_bytes Resident memory size in bytes.
    # TYPE process_resident_memory_bytes gauge
    process_resident_memory_bytes 65015808
    
    # HELP process_open_fds Number of open file descriptors.
    # TYPE process_open_fds gauge
    process_open_fds 25
    
    # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
    # TYPE process_cpu_seconds_total gauge
    process_cpu_seconds_total 0.48
    
    opened by adleong 0
  • Update kube-core requirement from 0.76 to 0.77

    Update kube-core requirement from 0.76 to 0.77

    Updates the requirements on kube-core to permit the latest version.

    Changelog

    Sourced from kube-core's changelog.

    0.77.0 / 2022-12-15

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Update kube-client requirement from 0.76 to 0.77

    Update kube-client requirement from 0.76 to 0.77

    Updates the requirements on kube-client to permit the latest version.

    Changelog

    Sourced from kube-client's changelog.

    0.77.0 / 2022-12-15

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Update kube-runtime requirement from 0.76 to 0.77

    Update kube-runtime requirement from 0.76 to 0.77

    Updates the requirements on kube-runtime to permit the latest version.

    Changelog

    Sourced from kube-runtime's changelog.

    0.77.0 / 2022-12-15

    0.76.0 / 2022-10-28

    Highlights

    #[derive(CustomResource)] now supports schemas with untagged enums

    Expanding on our existing support for storing Rust's struct enums in CRDs, Kube will now try to convert #[serde(untagged)] enums as well. Note that if the same field is present in multiple untagged variants then they must all have the same shape.

    Removed deprecated try_flatten_* functions

    These have been deprecated since 0.72, and are replaced by the equivalent WatchStreamExt methods.

    What's Changed

    Added

    Removed

    Fixed

    0.75.0 / 2022-09-21

    Highlights

    Upgrade k8s-openapi to 0.16 for Kubernetes 1.25

    The update to [email protected] 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

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
Releases(release/v0.12.0)
  • release/v0.12.0(Nov 17, 2022)

    What's Changed

    • Update to dev:v32 with Rust 1.64 by @olix0r in https://github.com/olix0r/kubert/pull/87
    • dev: v34 by @olix0r in https://github.com/olix0r/kubert/pull/92
    • Update kube to v0.76 by @olix0r in https://github.com/olix0r/kubert/pull/93

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.11.1...release/v0.12.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.11.1(Oct 20, 2022)

    What's Changed

    • cargo-deny: Ignore windows-sys conflicts by @olix0r in https://github.com/olix0r/kubert/pull/84
    • Update extractions/setup-just to v1.5.0 by @olix0r in https://github.com/olix0r/kubert/pull/85
    • Bump docker/setup-buildx-action from 2.0.0 to 2.2.1 by @dependabot in https://github.com/olix0r/kubert/pull/82
    • Bump actions/checkout from 3.0.2 to 3.1.0 by @dependabot in https://github.com/olix0r/kubert/pull/79
    • lease: A distributed, cooperative lock by @olix0r in https://github.com/olix0r/kubert/pull/83
    • v0.11.1 by @olix0r in https://github.com/olix0r/kubert/pull/86

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.11.0...release/v0.11.1

    Source code(tar.gz)
    Source code(zip)
  • release/v0.11.0(Sep 29, 2022)

    What's Changed

    • Bump actions/checkout from 3.0.1 to 3.0.2 by @dependabot in https://github.com/olix0r/kubert/pull/75
    • docs: fix index module not being present on docs.rs by @hawkw in https://github.com/olix0r/kubert/pull/78
    • Update to clap v4 by @olix0r in https://github.com/olix0r/kubert/pull/77

    New Contributors

    • @hawkw made their first contribution in https://github.com/olix0r/kubert/pull/78

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.10.0...release/v0.11.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.10.0(Sep 23, 2022)

    What's Changed

    • Update to Rust 1.63 by @olix0r in https://github.com/olix0r/kubert/pull/65
    • Add markdown lint by @olix0r in https://github.com/olix0r/kubert/pull/66
    • dev: Update devcontainer to v30 by @olix0r in https://github.com/olix0r/kubert/pull/67
    • v0.10.0 by @olix0r in https://github.com/olix0r/kubert/pull/74

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.9.1...release/v0.10.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.9.1(Aug 16, 2022)

    What's Changed

    • Update dev configurations by @olix0r in https://github.com/olix0r/kubert/pull/62
    • Bump olix0r/cargo-action-fmt from ee1ef42932e44794821dab57ef1bf7a73df8b21f to 1.0.2 by @dependabot in https://github.com/olix0r/kubert/pull/59
    • Bump EmbarkStudios/cargo-deny-action from 1.3.1 to 1.3.2 by @dependabot in https://github.com/olix0r/kubert/pull/60
    • server: Set a 2s request header timeout by @olix0r in https://github.com/olix0r/kubert/pull/63
    • v0.9.1 by @olix0r in https://github.com/olix0r/kubert/pull/64

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.9.0...release/v0.9.1

    Source code(tar.gz)
    Source code(zip)
  • release/v0.9.0(Jul 11, 2022)

    What's Changed

    • Bump EmbarkStudios/cargo-deny-action from 1.3.0 to 1.3.1 by @dependabot in https://github.com/olix0r/kubert/pull/54
    • Update to kube v0.74 by @olix0r in https://github.com/olix0r/kubert/pull/56
    • dev: Add a justfile by @olix0r in https://github.com/olix0r/kubert/pull/57
    • v0.9.0 by @olix0r in https://github.com/olix0r/kubert/pull/58

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.8.0...release/v0.9.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.8.0(May 23, 2022)

    What's Changed

    • ci: Use the cargo-action-fmt setup action by @olix0r in https://github.com/olix0r/kubert/pull/50
    • Remove unused CARGO_ACTION_FMT_VERSION envs by @olix0r in https://github.com/olix0r/kubert/pull/51
    • Bump EmbarkStudios/cargo-deny-action from 1.2.17 to 1.3.0 by @dependabot in https://github.com/olix0r/kubert/pull/52
    • v0.8.0 by @olix0r in https://github.com/olix0r/kubert/pull/55

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.7.0...release/v0.8.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.7.0(May 14, 2022)

    What's Changed

    • Bump docker/setup-buildx-action from 1.6.0 to 2 by @dependabot in https://github.com/olix0r/kubert/pull/44
    • Bump actions/checkout from 3.0.1 to 3.0.2 by @dependabot in https://github.com/olix0r/kubert/pull/42
    • Bump EmbarkStudios/cargo-deny-action from 1.2.15 to 1.2.16 by @dependabot in https://github.com/olix0r/kubert/pull/45
    • Add an automated release workflow by @olix0r in https://github.com/olix0r/kubert/pull/47
    • Update kube to v0.72 by @olix0r in https://github.com/olix0r/kubert/pull/48
    • Bump EmbarkStudios/cargo-deny-action from 1.2.16 to 1.2.17 by @dependabot in https://github.com/olix0r/kubert/pull/46
    • v0.7.0 by @olix0r in https://github.com/olix0r/kubert/pull/49

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.6.0...release/v0.7.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.6.0(Apr 15, 2022)

    What's Changed

    • Remove parking-lot from deny.toml by @olix0r in https://github.com/olix0r/kubert/pull/30
    • index: Eliminate unnecessary namespace lookups by @olix0r in https://github.com/olix0r/kubert/pull/31
    • Bump EmbarkStudios/cargo-deny-action from 1.2.12 to 1.2.15 by @dependabot in https://github.com/olix0r/kubert/pull/32
    • Bump actions/checkout from 3.0.0 to 3.0.1 by @dependabot in https://github.com/olix0r/kubert/pull/38
    • ci: Parallelize per-feature checks by @olix0r in https://github.com/olix0r/kubert/pull/40
    • v0.6.0: Update to kube v0.71 by @olix0r in https://github.com/olix0r/kubert/pull/39

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.5.0...release/v0.6.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.5.0(Mar 20, 2022)

    What's Changed

    • Update kube-rs to v0.70.0 by @olix0r in https://github.com/olix0r/kubert/pull/29

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.4.1...release/v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.4.1(Mar 19, 2022)

    What's Changed

    • index: Allow indexers to handle restarts by @olix0r in https://github.com/olix0r/kubert/pull/28

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.4.0...release/v0.4.1

    Source code(tar.gz)
    Source code(zip)
  • release/v0.4.0(Mar 18, 2022)

    What's Changed

    • Change index to keep track of its keys by @olix0r in https://github.com/olix0r/kubert/pull/27

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.6...release/v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.6(Mar 16, 2022)

    What's Changed

    • Add an index utility by @olix0r in https://github.com/olix0r/kubert/pull/25
    • Release v0.3.6 by @olix0r in https://github.com/olix0r/kubert/pull/26

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.5...release/v0.3.6

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.5(Mar 11, 2022)

    What's Changed

    • Improve kubeconfig loading logic by @alpeb in https://github.com/olix0r/kubert/pull/22
    • Add client integration tests by @olix0r in https://github.com/olix0r/kubert/pull/23
    • Release v0.3.5 by @olix0r in https://github.com/olix0r/kubert/pull/24

    New Contributors

    • @alpeb made their first contribution in https://github.com/olix0r/kubert/pull/22

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.4...release/v0.3.5

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.4(Mar 10, 2022)

    What's Changed

    • Add support for kubeconfig and impersonation flags by @adleong in https://github.com/olix0r/kubert/pull/21

    New Contributors

    • @adleong made their first contribution in https://github.com/olix0r/kubert/pull/21

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.3...release/v0.3.4

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.3(Mar 5, 2022)

    What's Changed

    • Add a simple example by @olix0r in https://github.com/olix0r/kubert/pull/17
    • Bump actions/checkout from 2.4.0 to 3 by @dependabot in https://github.com/olix0r/kubert/pull/18
    • Add a devcontainer configuration by @olix0r in https://github.com/olix0r/kubert/pull/19
    • server: Add diganostic logging by @olix0r in https://github.com/olix0r/kubert/pull/20

    New Contributors

    • @dependabot made their first contribution in https://github.com/olix0r/kubert/pull/18

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.2...release/v0.3.3

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.2(Mar 1, 2022)

    What's Changed

    • shutdown: Bias towards processing remaining work by @olix0r in https://github.com/olix0r/kubert/pull/15

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.1...release/v0.3.2

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.1(Feb 28, 2022)

    What's Changed

    • server: Read PKSC8 private keys by @olix0r in https://github.com/olix0r/kubert/pull/14

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.3.0...release/v0.3.1

    Source code(tar.gz)
    Source code(zip)
  • release/v0.3.0(Feb 28, 2022)

    What's Changed

    This release adds a new Runtime type--with an associated builder--that supports instrumenting watches. The runtime initializes logging, starts an admin server with /ready and /live probe endpoints, and instruments signal handling to gracefully shutdown the runtime.

    The admin server's /ready endpoint only succeeds after all watches have received an event and fails after shutdown is initiated.

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.2.4...release/v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • release/v0.2.4(Feb 22, 2022)

    What's Changed

    • Fix docs generation by @olix0r in https://github.com/olix0r/kubert/pull/12

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.2.3...release/v0.2.4

    Source code(tar.gz)
    Source code(zip)
  • release/v0.2.3(Feb 22, 2022)

    What's Changed

    • Add an admin server utility by @olix0r in https://github.com/olix0r/kubert/pull/10

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.2.2...release/v0.2.3

    Source code(tar.gz)
    Source code(zip)
  • release/v0.2.2(Feb 21, 2022)

    What's Changed

    • Add a requeue channel by @olix0r in https://github.com/olix0r/kubert/pull/8

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.2.1...release/v0.2.2

    Source code(tar.gz)
    Source code(zip)
  • release/v0.2.1(Feb 20, 2022)

    What's Changed

    • client: Fallback to using the in-cluster config by @olix0r in https://github.com/olix0r/kubert/pull/6

    Full Changelog: https://github.com/olix0r/kubert/compare/release/v0.2.0...release/v0.2.1

    Source code(tar.gz)
    Source code(zip)
  • release/v0.2.0(Feb 19, 2022)

Owner
Oliver Gould
waring softly
Oliver Gould
A crate to implement leader election for Kubernetes workloads in Rust.

Kubernetes Leader Election in Rust This library provides simple leader election for Kubernetes workloads.

Hendrik Maus 33 Dec 29, 2022
Detects orphan configmaps and secrets in a Kubernetes cluster

KubExplorer Warning: Proof of concept. Feedback is much welcome. Discovers and prints out any Configmaps and Secrets not linked to any of the followin

Pavel Pscheidl 56 Oct 21, 2022
💫 Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages

?? Kanata Small microservice to handle state changes of Kubernetes pods and post to Instatus ?? Why? I don't really want to implement and repeat code

Noel ʕ •ᴥ•ʔ 4 Mar 4, 2022
kubernetes openapi unmangler

kopium A kubernetes openapi unmangler. Creates rust structs from a named crd by converting the live openapi schema. ⚠️ WARNING: ALPHA SOFTWARE ⚠️ Inst

kube-rs 48 Jan 3, 2023
Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications

Continuous Delivery for Declarative Kubernetes, Serverless and Infrastructure Applications Explore PipeCD docs » Overview PipeCD provides a unified co

PipeCD 650 Dec 29, 2022
engula-operator creates/configures/manages engula clusters atop Kubernetes

Engula Operator The engula operator manages engula clusters deployed to Kubernetes and automates tasks related to operating an engula cluster. Backgro

小母牛坐飞机 12 Apr 27, 2022
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.

Linkerd ?? Welcome to Linkerd! ?? Linkerd is an ultralight, security-first service mesh for Kubernetes. Linkerd adds critical security, observability,

Linkerd 9.2k Jan 1, 2023
Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator

Northstar Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator. Explore the docs » View Demo · Report

Lucas Clerisse 1 Jan 22, 2022
The last kubernetes tool you'll ever need.

Neatkube The last kubernetes tool you'll ever need. Kubernetes is a mess. Everthing ships it's own command line tools that you need to install and tra

git repositories with lazers 5 Aug 3, 2022
Kubernetes + wasmCloud

KasmCloud Managing and Running Actors, Providers, and Links in Kubernetes ⚠️ Warning This is a contributor-led experimental project and is not recomme

wasmcloud 22 Oct 8, 2023
KFtray - A tray application that manages port forwarding in Kubernetes.

Ktray is written in Rust and React, with Tauri framework. The app simplifies the process of starting and stopping multiple port forwarding configurations through a user-friendly interface.

Henrique Cavarsan 42 Dec 17, 2023
Runtime dependency injection in Rust

This library provides an easy to use dependency injection container with a focus on ergonomics and configurability at the cost of runtime performance. For a more performance-oriented container, look for a compile-time dependency injection library.

TehPers 16 Nov 28, 2022
A Rust runtime for AWS Lambda

Rust Runtime for AWS Lambda This package makes it easy to run AWS Lambda Functions written in Rust. This workspace includes multiple crates: lambda-ru

Amazon Web Services - Labs 2.4k Dec 29, 2022
Rust Lambda Extension for any Runtime to preload SSM Parameters as 🔐 Secure Environment Variables!

?? Crypteia Rust Lambda Extension for any Runtime to preload SSM Parameters as Secure Environment Variables! Super fast and only performaned once duri

Custom Ink 34 Jan 7, 2023
Graceful shutdown util for Rust projects using the Tokio Async runtime.

Shutdown management for graceful shutdown of tokio applications. Guard creating and usage is lock-free and the crate only locks when: the shutdown sig

Plabayo 54 Sep 29, 2023
Open-source Rust Runtime for the VEX V5 Platform

vexide Work in progress high level bindings for the V5 Brain VEX SDK. Unlike other libraries for the V5 Brain, vexide doesn't use an RTOS. Instead, ve

vexide 10 May 6, 2024
Develop an async runtime like thing in Rust for educational purpose.

How-not-to-async-rs Develop an async runtime like thing in Rust for educational purpose. What this is not This is not going to be a blog post explaini

Arun Muralidharan 28 May 11, 2024
microtemplate - A fast, microscopic helper crate for runtime string interpolation.

microtemplate A fast, microscopic helper crate for runtime string interpolation. Design Goals Very lightweight: I want microtemplate to do exactly one

_iPhoenix_ 13 Jan 31, 2022
ImGUI runtime inspector

igri is a runtime inspector powered by imgui-rs

toyboot4e 2 Oct 30, 2021