5 releases (breaking)

0.14.0 Oct 19, 2024
0.11.0 Oct 18, 2024
0.9.0 May 23, 2024
0.8.1 Nov 13, 2023
0.1.3 Nov 18, 2022

#1307 in Network programming

Download history 22/week @ 2024-07-25 4/week @ 2024-08-01 60/week @ 2024-08-08 65/week @ 2024-08-15 3/week @ 2024-09-05 45/week @ 2024-09-12 35/week @ 2024-09-19 26/week @ 2024-09-26 12/week @ 2024-10-03 68/week @ 2024-10-10 466/week @ 2024-10-17 202/week @ 2024-10-24 75/week @ 2024-10-31 58/week @ 2024-11-07

817 downloads per month
Used in junction-api

MIT license

515KB
3.5K SLoC

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 Gateway API.

Usage

Basic usage involves generating 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.

Dependencies

~44MB
~704K SLoC