18 releases

0.4.0 Jul 11, 2024
0.3.0-beta.4 Aug 8, 2023
0.3.0-beta.3 Nov 6, 2022
0.2.2 Jun 30, 2022
0.1.0-alpha.2 Nov 22, 2019

#160 in Asynchronous

Download history 2/week @ 2024-07-17 17/week @ 2024-07-24 352/week @ 2024-07-31 5/week @ 2024-09-11 11/week @ 2024-09-18 15/week @ 2024-09-25

867 downloads per month

MIT license

250KB
6K SLoC

etcdv3client-rust

Crates.io Documentation Rust Crates.io

Overview

etcdv3client is a simple etcdv3 client in Rust-lang.

Example

A basic example:

use etcdv3client::{EtcdClient, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
    let endpoint = "http://localhost:2379";
    let cred: None;
    let mut client = EtcdClient::new(vec![endpoint], cred).await?;

    let key = "/hello";
    // use convenience api under EtcdClient.
    match client.get(key).await {
        Ok(v) => {
            println!("got `{}` => {:?}", key, String::from_utf8_lossy(&v));
        }
        Err(err) => {
            if err.is_key_not_found() {
                 eprintln!("can not find `{}`", key);
            } else {
                 eprintln!("etcd get failed: `{:?}`", e);
            }
        }
    }

    Ok(())
}

More examples can be found in examples.

Support APIs

  • KV
  • Watch
  • Lease
  • Cluster
  • Maintenance
  • Auth

Supported Rust Versions

The current MSRV is 1.75.0.

License

This project is licensed under the MIT license.

Dependencies

~5–14MB
~186K SLoC