Skip to content

Track CBOR wire format support (KEP-4222) #1951

@doxxx93

Description

@doxxx93

Would you like to work on this feature?

maybe

What problem are you trying to solve?

The Kubernetes API server is adding CBOR (RFC 8949) as an alternative wire format via KEP-4222, gated behind CBORServingAndStorage (alpha in v1.32).

client-go is tracking this with ClientsAllowCBOR (v1.32 alpha) and ClientsPreferCBOR (v1.33 beta).

Opening this to track upstream progress and discuss if/when kube-rs should support it.

Describe the solution you'd like

An optional feature flag on kube-client that enables CBOR content negotiation.

Since k8s-openapi types already have serde impls, a serde-compatible CBOR crate (e.g. ciborium, cbor4ii) should integrate without type changes.

Relevant content types:

  • application/cbor (request/response)
  • application/cbor-seq (watch streams, RFC 8742)
  • application/apply-patch+cbor (SSA)

Describe alternatives you've considered

Continue with JSON only, or wait for Protobuf (#725). CBOR is complementary to both — simpler to integrate than Protobuf and more efficient than JSON.

Documentation, Adoption, Migration Strategy

Target crate for feature

kube-client, kube-core

Metadata

Metadata

Assignees

No one assigned

    Labels

    clientkube Client related

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions