Skip to content

metio/kube-custom-resources-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes Custom Resource Bindings for Rust Chat

This repository contains kube-rs compatible bindings for Kubernetes custom resources generated with kopium.

Feel free to add your own CRD to the catalog!

Structure

Originally, this repository contained a single crate for all generated custom resources. However, crates.io has a size limit of 10MiB which we reached and thus this repository was split into multiple smaller crates, one for each custom resource group. Since there are no namespaces on crates.io, we prefix every crate in this repository with kcr_ (kube-custom-resource) and hope that no name conflict will happen in the future.

Custom Resources

Each group of a Kubernetes custom resource has a corresponding crate in this repository. The group of a custom resource can be seen in the apiVersion field of a resource, e.g.:

apiVersion: chaos-mesh.org/v1alpha1
kind: PodNetworkChaos
metadata:
  ...

In the above example, chaos-mesh.org is the group and v1alpha1 is the version. Since Cargo imposes certain rules on how crates can be named, . and - are mapped to _. Therefore, the crate that contains the custom resource from the example above is called chaos_mesh_org and can be enabled like this (using the previously mentioned kcr_ prefix):

[dependencies]
kcr_chaos_mesh_org = "<version>"

Replace <version> with the latest available release of that crate. Each version within a group has a corresponding module in the associated crate, e.g. there is a module called v1alpha1 in the crate kcr_chaos_mesh_org.

Versioning

This crate uses a calendar based versioning scheme because resources in Kubernetes are versioned themselves.

Updates to all CRDs are fetched automatically and released every sunday if any changes were detected.

Available Groups

The following groups are available: