Rust client for Zeebe in early stages. Suitable for early adopters
Features
- CLI for all commands based on Zeebe Client 8.0
- Support for OAuth authentication
Next Steps
- Publish crates
- Worker implementation
- Build an application that uses this Rust client
Warning The Cli Tool might leak credentials in log messages
Run cargo run -- help
to see available commands and options.
Authentication for Camunda Cloud
First, generate and download client credentials for Camunda Cloud. Let's assume they are in a file called credentials.txt.
The credentials.txt
file contains environment variables, so let's source them:
$ source credentials.txt
Finally, run the cli tool:
$ cargo run -- status
TopologyResponse {
brokers: [
BrokerInfo {
node_id: 0,
...
Alternatively, you can also provide your credentials as arguments:
$ cargo run -- --address <ADDRESS> --client-id <CLIENT_ID> --client_secret <CLIENT_SECRET> --authorization-server <AUTH_SERVER> status
TopologyResponse {
brokers: [
BrokerInfo {
node_id: 0,
...
These repositories also implement Zeebe clients for Rust. Most of them are more feature-complete than this repository currently, but also a little older.
- https://github.com/camunda-community-hub/zeebest
- https://github.com/xmclark/zeebe-client-rust-1
- https://github.com/OutThereLabs/zeebe-rust
Your best choice is probably: https://github.com/OutThereLabs/zeebe-rust
Conventions for CLI Argument Annotations
- Named parameters by default
- Use positional parameters only if there is just one parameter, or just one required parameter
- For required parameters use short and long version
#[clap(short, long)]
- For optional parameters use long version only
#[clap(long, default_value_t = 1)]