Skip to content

Commit 3f27022

Browse files
Merge pull request #7 from joshrotenberg/fix/publishing-requirements
fix: add missing requirements for crates.io publishing
2 parents 92f899a + bf58004 commit 3f27022

File tree

3 files changed

+162
-3
lines changed

3 files changed

+162
-3
lines changed

crates/redis-cloud/README.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# redis-cloud
2+
3+
A comprehensive Rust client library for the Redis Cloud REST API.
4+
5+
## Features
6+
7+
- Complete coverage of Redis Cloud REST API endpoints
8+
- Async/await support with tokio
9+
- Strong typing for API requests and responses
10+
- Comprehensive error handling
11+
- Support for all Redis Cloud features including:
12+
- Subscriptions and databases
13+
- User and ACL management
14+
- Backup and restore operations
15+
- VPC peering and networking
16+
- Metrics and monitoring
17+
- Billing and payment management
18+
19+
## Installation
20+
21+
```toml
22+
[dependencies]
23+
redis-cloud = "0.1.0"
24+
```
25+
26+
## Usage
27+
28+
```rust
29+
use redis_cloud::{CloudClient, CloudClientConfig};
30+
31+
#[tokio::main]
32+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
33+
let config = CloudClientConfig {
34+
api_key: "your-api-key".to_string(),
35+
secret_key: "your-secret-key".to_string(),
36+
base_url: None, // Uses default https://api.redislabs.com/v1
37+
};
38+
39+
let client = CloudClient::new(config)?;
40+
41+
// List all subscriptions
42+
let subscriptions = client.list_subscriptions(None).await?;
43+
println!("Subscriptions: {:?}", subscriptions);
44+
45+
// Get account information
46+
let account = client.get_account().await?;
47+
println!("Account: {:?}", account);
48+
49+
Ok(())
50+
}
51+
```
52+
53+
## API Coverage
54+
55+
This library provides comprehensive coverage of the Redis Cloud REST API, including:
56+
57+
- **Account Management** - Account info, users, payment methods
58+
- **Subscriptions** - CRUD operations, pricing, CIDR management
59+
- **Databases** - Full database lifecycle, backups, imports, metrics
60+
- **ACL Management** - Users, roles, Redis rules
61+
- **Networking** - VPC peering, Transit Gateway, Private Service Connect
62+
- **Monitoring** - Metrics, logs, alerts
63+
- **Billing** - Invoices, payment methods, usage
64+
65+
## Documentation
66+
67+
For detailed API documentation, see the [Redis Cloud API Reference](https://api.redislabs.com/v1/swagger-ui/index.html).
68+
69+
## License
70+
71+
Licensed under either of
72+
73+
- Apache License, Version 2.0 ([LICENSE-APACHE](../../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
74+
- MIT license ([LICENSE-MIT](../../LICENSE-MIT) or http://opensource.org/licenses/MIT)
75+
76+
at your option.

crates/redis-enterprise/README.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# redis-enterprise
2+
3+
A comprehensive Rust client library for the Redis Enterprise REST API.
4+
5+
## Features
6+
7+
- Complete coverage of Redis Enterprise REST API endpoints
8+
- Async/await support with tokio
9+
- Strong typing for API requests and responses
10+
- Comprehensive error handling
11+
- Support for all Redis Enterprise features including:
12+
- Cluster management and bootstrap
13+
- Database (BDB) operations
14+
- Node management and statistics
15+
- User and role management
16+
- Redis modules
17+
- Active-Active (CRDB) databases
18+
- Monitoring and alerts
19+
20+
## Installation
21+
22+
```toml
23+
[dependencies]
24+
redis-enterprise = "0.1.0"
25+
```
26+
27+
## Usage
28+
29+
```rust
30+
use redis_enterprise::{EnterpriseClient, EnterpriseClientConfig};
31+
32+
#[tokio::main]
33+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
34+
let config = EnterpriseClientConfig {
35+
base_url: "https://cluster.example.com:9443".to_string(),
36+
username: "[email protected]".to_string(),
37+
password: "your-password".to_string(),
38+
insecure: false, // Set to true for self-signed certificates
39+
};
40+
41+
let client = EnterpriseClient::new(config)?;
42+
43+
// Get cluster information
44+
let cluster = client.get_cluster_info().await?;
45+
println!("Cluster: {:?}", cluster);
46+
47+
// List databases
48+
let databases = client.list_databases().await?;
49+
println!("Databases: {:?}", databases);
50+
51+
// Get node statistics
52+
let stats = client.get_node_stats("1").await?;
53+
println!("Node stats: {:?}", stats);
54+
55+
Ok(())
56+
}
57+
```
58+
59+
## API Coverage
60+
61+
This library provides 100% coverage of the Redis Enterprise REST API, including:
62+
63+
- **Cluster Operations** - Bootstrap, configuration, topology
64+
- **Database Management** - CRUD operations, actions, statistics
65+
- **Node Management** - Add/remove nodes, statistics, actions
66+
- **Security** - Users, roles, ACLs, LDAP integration
67+
- **Modules** - Upload and manage Redis modules
68+
- **Monitoring** - Stats, alerts, logs, diagnostics
69+
- **Active-Active** - CRDB management and tasks
70+
- **Administration** - License, certificates, services
71+
72+
## Documentation
73+
74+
For detailed API documentation, see the [Redis Enterprise REST API Reference](https://docs.redis.com/latest/rs/references/rest-api/).
75+
76+
## License
77+
78+
Licensed under either of
79+
80+
- Apache License, Version 2.0 ([LICENSE-APACHE](../../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
81+
- MIT license ([LICENSE-MIT](../../LICENSE-MIT) or http://opensource.org/licenses/MIT)
82+
83+
at your option.

crates/redisctl/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ path = "src/enterprise_bin.rs"
2626
required-features = ["enterprise-only"]
2727

2828
[dependencies]
29-
redis-common = { path = "../redis-common" }
30-
redis-cloud = { path = "../redis-cloud" }
31-
redis-enterprise = { path = "../redis-enterprise" }
29+
redis-common = { version = "0.1.0", path = "../redis-common" }
30+
redis-cloud = { version = "0.1.0", path = "../redis-cloud" }
31+
redis-enterprise = { version = "0.1.0", path = "../redis-enterprise" }
3232

3333
# CLI dependencies
3434
clap = { workspace = true }

0 commit comments

Comments
 (0)