Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ctron/openshift-openapi
OpenShift API for Rust
https://github.com/ctron/openshift-openapi
api client kubernetes openshift
Last synced: 4 days ago
JSON representation
OpenShift API for Rust
- Host: GitHub
- URL: https://github.com/ctron/openshift-openapi
- Owner: ctron
- License: apache-2.0
- Created: 2020-06-10T21:54:37.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-26T10:21:12.000Z (about 1 year ago)
- Last Synced: 2024-10-07T10:28:45.123Z (about 1 month ago)
- Topics: api, client, kubernetes, openshift
- Language: Rust
- Homepage:
- Size: 501 KB
- Stars: 5
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenShift API for Rust
[![CI](https://github.com/ctron/openshift-openapi/workflows/CI/badge.svg)](https://github.com/ctron/openshift-openapi/actions?query=workflow%3ACI)
[![Crates.io version shield](https://img.shields.io/crates/v/openshift-openapi.svg)](https://crates.io/crates/openshift-openapi)
[![Docs](https://docs.rs/openshift-openapi/badge.svg)](https://docs.rs/openshift-openapi)
[![Crates.io license shield](https://img.shields.io/crates/l/openshift-openapi.svg)](https://crates.io/crates/openshift-openapi)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.## Builds on `k8s_openapi`
This work is based on the wonderful work from [Arnavion/k8s-openapi](https://github.com/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.## OpenShift Versions
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](https://doc.rust-lang.org/cargo/reference/features.html). 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` |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.