kube-rs / gateway-api-rs

Kubernetes Gateway API bindings for Rust
https://docs.rs/crate/gateway-api/latest
MIT License
23 stars 9 forks source link
gateway-api kube-rs kubernetes rust-lang

Docs crates.io License

Warning: EXPERIMENTAL. Not ready for production use.

Note: This library is considered "unofficial" currently. It's not ready for production use, and the Kubernetes SIG Network community hasn't officially endorsed it. It is a goal of this project to become "official" in time as the project matures.

Gateway API (Rust)

Note: Currently supports Gateway API version v1.2.0

Gateway API is an official Kubernetes API for Layer 7 network routing. It is the successor to the Ingress API but supports both ingress and service mesh use cases. See the Gateway API Introduction for more details.

This project provides bindings in Rust for Kubernetes.

Usage

Basic usage involves using a kube-rs to perform create, read, update and delete (CRUD) operations on Gateway API resources. You can either use a basic Client to perform CRUD operations, or you can build a Controller. See the gateway-api/examples/ directory for detailed (and specific) usage examples.

Development

This project uses Kopium to automatically generate API bindings from upstream Gateway API. Make sure you install kopium locally in order to run the generator:

$ cargo install kopium

After which you can run the update.sh script:

$ ./update.sh

Check for errors and/or a non-zero exit code, but upon success you should see updates automatically generated for code in the gateway-api/src/api directory which you can then commit.