kube-rs/kube

Stability Initiative

clux opened this issue ยท 1 comments

clux commented

We plan to provide a series of stability guarantees, policies, and a stable governance via CNCF, for kube-rs going forward.

This is an umbrella issue tracking progress and major outstanding work before we mark ourselves as stable. It pertains to the Stability category on the roadmap.

Background

This is part of a set of stable client requirements plus extra requirements that we would like to provide on top so that users can feel safe choosing kube-rs as a reliable set of libraries to build upon kubernetes.

There's been a lot of introductory work in this area already as part of our in-progress CNCF setup (#584), along with stability work in #508 (which this issue replaces).

A lot of this is document pertains to process/policy writing that needs to be argued for/against, and then their subsequent implementations and enforcement of these proposed processes through continuous integration.

Tasks

Community & Governance

Policies & Clarity:

Security:

  • trust and authority of dependencies
    • cargo deny multiple-versions - #711
    • cargo deny unknown git sources - #727
    • cargo deny strict licenses and rustsec vulnerabilities - #611
  • security policy
  • cargo audit on CI
  • limit dependabot lock-step upgrade issues:
    • kube as a super-crate facade - #651
    • re-export generated structs from kube? - maybe post k8s-pb
  • #[forbid(unsafe_code)] for cargo-geiger ๐Ÿ”’ - #734
  • fortify secrets with secrecy wrappers - #751

Continuous Integration:

  • run tests in strategy.matrix for linux/mac
  • extend unit test set to windows - #566
  • provide coverage builds and test policies for prs - #745
  • integration/e2e extensions:
    • convert e2e test to run as matrix job against clusters (k3d first) - #924
    • run integration as a matrix job against min supported kubernetes versions - #924
    • extend e2e test matrix job to be able to run on both k3d and extra cluster - we would need one first
    • use cloud clusters to point to in CI? (maybe sponsored or / cncf service / cncf community)
    • extend e2e test to cover token renewal -> delayed #832
clux commented

We've accomplished the main overarching thing we wanted to achieve to at least mark us stable w.r.t. the client stability doc:

Client Support Level; Stable ๐ŸŽ‰

So will close this as I'm tired of having this massive issue around (not a huge fan of the ergonomics of umbrella issues after having tried them).

There are three minor points that did not make it and will need some clarity/improvements in the future, but they have their own issues:

  • panic policy - #634
  • e2e test for cover token renewal - #832
  • document change policy post 1.0 - #923