Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GSoC] Early enablement of CBOR #389

Open
xpivarc opened this issue Feb 11, 2025 · 0 comments
Open

[GSoC] Early enablement of CBOR #389

xpivarc opened this issue Feb 11, 2025 · 0 comments

Comments

@xpivarc
Copy link
Member

xpivarc commented Feb 11, 2025

Title: Early enablement of CBOR

Description:

Kubevirt is a Kubernetes extension to run Virtual machines on Kubernetes clusters leveraging Libvirt + Qemu & KVM stack. It does this by exposing custom resources (defined by Custom Resource Definition, also known as CRD) called VirtualMachine, VirtualMachineInstance, as well as resources for backpups and other features.

From the beginning, Kubernetes supported only json or yaml format for custom resources, in fact that was a default for core API types as well. Support for Protocol Buffers (protobuf) was introduced for core API types while CRDs were left with json/yaml because they would require a schema. The protobuf helped to scale Kubernetes beyond limitations presented in the past. Kubernetes 1.32 introduced Alpha support of CBOR (Concise Binary Object Representation) for CRDs, promising a more compact format and further aiding scalability of Kubernetes and related projects.

The goal of this project is to build a proof of concept, integrating CBOR for our client-go, as well as enabling SIG-scale testing, paving the way for adoption once the feature graduates in Kubernetes.

Goal:
The main goal of this project is to create a proof of concept, integrating CBOR into Kubevirt in a way that can be used to run our scalability jobs. This integration will need to be guarded as the feature is not widely available, and should include a comparison of CBOR and json, visual aids and a presentation for the community about the work and findings.
For the future, we expect guidance for enabling the feature as well summarizing the benefits from this adoption.

Link & resources
https://github.com/kubevirt/kubevirt
Project size:
Required skills: Golang
Desired skills: Kubernetes
Mentor: Luboslav Pivarc [email protected],

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant