RCFE is a Rust client library for interacting with ETCD V3, a distributed key-value store that provides a reliable way to store data across a cluster of machines. This library aims to provide a simple and efficient interface for Rust developers to work with ETCD.
The name "RCFE" stands for "Rust Client for ETCD".
Warning
This project is still in its early stages of development. APIs may change without notice. Use at your own risk.
- Async/Await support using Tokio
- Basic KV operations (get, put, delete, transactions)
- Range Get
- Put
- Delete
- Transactions
- Compact
- Lease management
- Grant lease
- Revoke lease
- Keep-alive lease
- Time-to-live query
- Watch functionality
- Progress
- Cancel watch
- Watch
- Authentication support
- Cluster management
- Maintenance operations
- Election support
- Lock support
- Comprehensive error handling
- Documentation and examples
Add the following to your Cargo.toml:
[dependencies]
rcfe = "<version>"Replace <version> with the latest version of RCFE.
Or use the following command:
cargo add rcfeHere is a simple example of how to use RCFE to connect to an ETCD server and perform a basic key-value operation:
use rcfe::{ClientFactory, DefaultClient, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let client_options = rcfe::ClientOptions::builder()
.endpoints(vec!["http://localhost:2379"])
.build();
let client = rcfe::DefaultClientFactory::new().create(client_options).await?;
// Get the KV client
let mut kv_client = client.get_kv_client();
// Get a value by key
let response = kv_client.get(ByteSequence::from("greeting")).await?;
println!("Received response: {:?}", response);
Ok(())
}This project is licensed under the MIT License. See the LICENSE file for details.