Warning: EXPERIMENTAL. Not ready for production use.
Note: While the aspiration is to eventually become the "official" Gateway API bindings for Rust, Kubernetes SIG Network has not yet (and may never) officially endorsed it so this should be considered "unofficial" for now.
Note: Currently supports Gateway API version v1.2.1
This project provides bindings in Rust for Kubernetes Gateway API.
Basic usage involves using a kube-rs Client 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.
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.
Contributions are welcome, and appreciated! In general (for larger changes) please create an issue describing the contribution needed prior to creating a PR.
If you're looking for something to do, we organize the work for this project
with a project board, please check out the next
column for
unassigned tasks as these are the things prioritized to be worked on in the
immediate.
For development support we do have an org-wide #kube channel on the Tokio Discord server, but please note that for this project in particular we prefer questions be posted in the discussions board.