Warning: EXPERIMENTAL. Not endorsed for production use.
Note: While the aspiration is to eventually become the "official" Rust bindings for Crossplane resources, UpBound (the maintainer of Crossplane) has not yet (and may never) officially endorsed it so this crate should be considered "unofficial" until further notice.
This project provides Rust bindings for Crossplane-managed Kubernetes resources.
Basic usage involves using a kube-rs
Client to perform create, read, update
and delete (CRUD) operations on Crossplane resources.
You can either use a basic Client
to perform CRUD operations, or you can build a
Controller. See the crossplane-types/examples/
directory
for detailed (and specific)usage examples.
This project uses Kopium to automatically generate API bindings from upstream
Crossplane provider repositories. Make sure you install kopium
locally in order to run the generator:
$ cargo install kopium --version 0.21.1
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 crossplane-types/src/resources
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.
For development support we do have an org-wide Discord server, but please note that for this project in particular we prefer questions be posted in the discussions board.