Skip to content

Commit e2c97b1

Browse files
Merge pull request #16 from joshrotenberg/feat/add-readme-badges
feat: add badges and improve README documentation
2 parents d42cb15 + 22ba592 commit e2c97b1

File tree

1 file changed

+74
-29
lines changed

1 file changed

+74
-29
lines changed

README.md

Lines changed: 74 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# redisctl
22

3+
[![CI](https://github.com/joshrotenberg/redisctl/actions/workflows/ci.yml/badge.svg)](https://github.com/joshrotenberg/redisctl/actions/workflows/ci.yml)
4+
[![Crates.io](https://img.shields.io/crates/v/redisctl.svg)](https://crates.io/crates/redisctl)
5+
[![Documentation](https://docs.rs/redisctl/badge.svg)](https://docs.rs/redisctl)
6+
[![License](https://img.shields.io/crates/l/redisctl.svg)](https://github.com/joshrotenberg/redisctl/blob/main/LICENSE-MIT)
7+
38
A unified command-line interface for managing Redis deployments across Cloud and Enterprise.
49

510
## Overview
@@ -26,6 +31,16 @@ A unified command-line interface for managing Redis deployments across Cloud and
2631

2732
## Installation
2833

34+
### From crates.io (Recommended)
35+
```bash
36+
# Install the latest version
37+
cargo install redisctl
38+
39+
# Or install specific library crates
40+
cargo install redis-cloud
41+
cargo install redis-enterprise
42+
```
43+
2944
### From Source
3045
```bash
3146
# Clone and build
@@ -214,6 +229,9 @@ cd docs && mdbook serve
214229

215230
# Generate API docs
216231
cargo doc --no-deps --open
232+
233+
# Pre-commit hooks (recommended)
234+
./scripts/install-hooks.sh
217235
```
218236

219237
### Contributing
@@ -225,42 +243,35 @@ Please see our [Contributing Guide](CONTRIBUTING.md) for details on:
225243

226244
## API Coverage
227245

228-
### Redis Cloud (40% Coverage) ⚠️
229-
- ✅ Subscriptions (basic operations)
230-
- ✅ Databases (basic CRUD operations)
231-
- ✅ Cloud Accounts (AWS, GCP, Azure integration)
232-
- ✅ Users (basic operations)
233-
- ✅ ACLs (database access control)
234-
- ✅ Backup & Restore (backup lifecycle)
235-
- ✅ VPC Peering (networking)
236-
- ✅ Transit Gateway (enterprise networking)
237-
- ✅ Active-Active databases (CRDB operations)
238-
- ✅ API Keys (key management)
239-
- ✅ Metrics & Logs (monitoring)
240-
- ✅ Fixed & Flexible Plans (plan management)
241-
- ✅ Private Service Connect (GCP PSC endpoints)
242-
- 🚧 Many advanced features still planned
243-
244-
### Redis Enterprise (50% Coverage) ⚠️
245-
- ✅ Cluster management
246-
- ✅ Database (BDB) operations
247-
- ✅ Users & roles
248-
- ✅ Modules management
249-
- ✅ Bootstrap & initialization
250-
- ✅ Backup & restore
251-
- 🚧 CRDB (Active-Active) - partial
252-
- 🚧 LDAP integration - planned
253-
- 🚧 Certificates (OCSP) - planned
246+
### Redis Cloud API (95%+ Coverage)
247+
-**Core Operations**: Subscriptions, Databases, Users, Payment Methods
248+
-**Security**: ACLs, API Keys, Redis Rules, SSO/SAML Integration
249+
-**Networking**: VPC Peering, Transit Gateway, Private Service Connect
250+
-**Data Management**: Backup/Restore, Import/Export, Active-Active (CRDB)
251+
-**Monitoring**: Metrics, Logs, Tasks, Alerts
252+
-**Cloud Integration**: AWS, GCP, Azure Cloud Accounts
253+
-**Billing**: Invoices, Payment Methods, Cost Analysis
254+
-**21 Handler Modules** with 200+ API endpoints implemented
255+
256+
### Redis Enterprise API (100% Coverage)
257+
-**Cluster Operations**: Bootstrap, Join, Management, Recovery
258+
-**Database Management**: Full BDB lifecycle, Actions, Stats, Shards
259+
-**Security**: Users, Roles, LDAP, Redis ACLs, OCSP
260+
-**Active-Active**: CRDB management, Tasks, Multi-region
261+
-**Monitoring**: Alerts, Stats, Logs, Diagnostics
262+
-**Advanced Features**: Modules, Proxies, Services, Migrations
263+
-**29 Handler Modules** covering all documented REST API endpoints
254264

255265
## Roadmap
256266

257267
See our [GitHub Issues](https://github.com/joshrotenberg/redisctl/issues) for the complete roadmap.
258268

259269
### **Phase 1** - Raw API Access (Complete)
260-
- Redis Cloud API coverage (40% → includes major workflows)
261-
- Redis Enterprise API coverage (50%)
270+
- Redis Cloud API coverage (95%+)
271+
- Redis Enterprise API coverage (100%)
262272
- Comprehensive test suite (500+ tests)
263273
- CI/CD automation with pre-commit hooks
274+
- Published to crates.io as v0.1.0
264275

265276
### **Phase 2** - Human-Friendly Commands (Complete)
266277
- Enhanced command interface with smart routing
@@ -280,11 +291,45 @@ See our [GitHub Issues](https://github.com/joshrotenberg/redisctl/issues) for th
280291
- Terraform provider integration
281292
- Kubernetes operator
282293

294+
## Using as a Library
295+
296+
Add to your `Cargo.toml`:
297+
```toml
298+
[dependencies]
299+
redis-cloud = "0.1.0" # For Cloud API
300+
redis-enterprise = "0.1.0" # For Enterprise API
301+
redis-common = "0.1.0" # For shared utilities
302+
```
303+
304+
Example usage:
305+
```rust
306+
use redis_cloud::CloudClient;
307+
use redis_enterprise::EnterpriseClient;
308+
309+
#[tokio::main]
310+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
311+
// Cloud API
312+
let cloud = CloudClient::new("api_key", "api_secret")?;
313+
let databases = cloud.database().list(123).await?;
314+
315+
// Enterprise API
316+
let enterprise = EnterpriseClient::builder()
317+
.url("https://cluster:9443")
318+
.username("admin")
319+
.password("pass")
320+
.build()?;
321+
let cluster_info = enterprise.cluster().get().await?;
322+
323+
Ok(())
324+
}
325+
```
326+
283327
## Support
284328

285329
- **Issues**: [GitHub Issues](https://github.com/joshrotenberg/redisctl/issues)
286-
- **Documentation**: [Online Docs](https://joshrotenberg.github.io/redisctl/)
330+
- **Documentation**: [docs.rs/redisctl](https://docs.rs/redisctl/)
287331
- **Examples**: See the [examples/](examples/) directory
332+
- **Crates.io**: [crates.io/crates/redisctl](https://crates.io/crates/redisctl)
288333

289334
## License
290335

0 commit comments

Comments
 (0)