This crate is an OpenShift API client for Rust. It contains bindings for the resources and operations in the OpenShift client API, auto-generated from the OpenAPI spec.
This work is based on the wonderful work from Arnavion/k8s-openapi.
It does not contain the Kubernetes APIs directly, this is handled by the k8s_openapi
crate. It only
contains the types added by OpenShift (like Route
and ImageStream
) and references the existing
Kubernetes resources (like Pod
and Deployment
) from the k8s_openapi
crate.
This crates provides mappings for different OpenShift versions. Just like the k8s-openapi
crate does for
Kubernetes. When you compile your program, you must decide for which API you want to compile. This is done
by using Rust features. The following table shows
the mappings from OpenShift version to the Rust feature in this crate:
OpenShift Version | Feature | Kubernetes Version | k8s_openapi Feature |
---|---|---|---|
4.2.x | v4_2 |
1.15.x | v1_15 |
4.3.x | v4_3 |
1.16.x | v1_16 |
4.4.x | v4_4 |
1.17.x | v1_17 |
4.5.x | v4_5 |
1.18.x | v1_18 |
4.6.x | v4_6 |
1.19.x | v1_19 |
As each OpenShift version is based on a Kubernetes version, the feature flag for the ks8-openapi
crate
is auto-selected, to add the appropriate Kubernetes API.