k8s-openapi

Rust definitions of the resource types in the Kubernetes client API (by Arnavion)

K8s-openapi Alternatives

Similar projects and alternatives to k8s-openapi

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better k8s-openapi alternative or higher similarity.

k8s-openapi reviews and mentions

Posts with mentions or reviews of k8s-openapi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-06.
  • WinBtrfs – an open-source btrfs driver for Windows
    7 projects | news.ycombinator.com | 6 Apr 2024
    It's called sans-io in Python land, which is where I heard it first.

    https://sans-io.readthedocs.io/

    I did it for one of my projects back in 2018 https://github.com/Arnavion/k8s-openapi/commit/9a4fbb718b119...

  • The bane of my existence: Supporting both async and sync code in Rust
    4 projects | news.ycombinator.com | 19 Jan 2024
    Another option is to implement your API in a sans-io form. Since k8s-openapi was mentioned (albeit for a different reason), I'll point out that its API gave you a request value that you could send using whatever sync or async HTTP client you want to use. It also gave you a corresponding function to parse the response, that you would call with the response bytes however you got them from your client.

    https://github.com/Arnavion/k8s-openapi/blob/v0.19.0/README....

    (Past tense because I removed all the API features from k8s-openapi after that release, for unrelated reasons.)

  • Welcome to Comprehensive Rust
    10 projects | news.ycombinator.com | 22 Dec 2022
    Macro expansion is slow, but only noticeably in the specific situation of a) third-party proc macros, b) a debug build, and c) a few thousand invocations of said proc macros. This is because debug builds compile proc macros in debug mode too, so while the macro itself compiles quickly (because it's a debug build), it ends up running slowly (because it's a debug build).

    I know this from observing this on a mostly auto-generated crate that had a couple of thousand types with `#[derive(serde::)]` on each. [1]

    This doesn't affect most users, because first-party macros like `#[derive(Debug)]` etc are not slow because they're part of rustc and are thus optimized regardless of the profile, and even with third-party macros it is unlikely that they have thousands of invocations. Even if it is* a problem, users can opt in to compiling just the proc macros in release mode. [2]

    [1]: https://github.com/Arnavion/k8s-openapi/issues/4

    [2]: https://github.com/rust-lang/cargo/issues/5622

  • OpenAPI Generator allows generation of API client libraries from OpenAPI Specs
    11 projects | news.ycombinator.com | 15 Oct 2022
    >OpenAPI Generator allows generation of API client libraries from OpenAPI Specs

    It does, but the generated code can be very shitty for some combinations of spec and output language. I maintain Rust bindings for the Kubernetes API server's API, and I chose to write my own code generator instead. The README at https://github.com/Arnavion/k8s-openapi has more details.

  • Any good toy Rust project for k8s application?
    3 projects | /r/rust | 20 Jan 2022
    k8s_openapi - https://github.com/Arnavion/k8s-openapi
  • Approaches for Chaining Access to Deeply Nested Optional Structs
    1 project | /r/rust | 30 Apr 2021
    For example: I have a routine that checks the value of (from k8s-openapi): Ingress -> IngressStatus -> LoadBalancerStatus -> Vec[0] -> String
  • Writing a Kubernetes CRD Controller in Rust
    5 projects | news.ycombinator.com | 9 Jan 2021
    As the maintainer of the Rust bindings that the library used in the article (kube) is backed by, I can confirm that Kubernetes' openapi spec requires a lot of Kubernetes-specific handling to generate a good client than generic openapi generators do not provide.

    See https://github.com/Arnavion/k8s-openapi/blob/master/README.m... for a full description.

    I also confirm that I keep it up-to-date with Kubernetes releases and have been doing so for the ~3 years that it's been around. Not just the minor ones every few months, but even the point ones; these days the latter usually only involves updating the test cases instead of code changes and they're done within a few hours of the upstream release.

  • A note from our sponsor - SaaSHub
    www.saashub.com | 29 Apr 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic k8s-openapi repo stats
7
360
8.3
12 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com