@@ -31,6 +31,16 @@ A unified command-line interface for managing Redis deployments across Cloud and
3131
3232## Installation
3333
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+
3444### From Source
3545``` bash
3646# Clone and build
@@ -219,6 +229,9 @@ cd docs && mdbook serve
219229
220230# Generate API docs
221231cargo doc --no-deps --open
232+
233+ # Pre-commit hooks (recommended)
234+ ./scripts/install-hooks.sh
222235```
223236
224237### Contributing
@@ -230,42 +243,35 @@ Please see our [Contributing Guide](CONTRIBUTING.md) for details on:
230243
231244## API Coverage
232245
233- ### Redis Cloud (40% Coverage) ⚠️
234- - ✅ Subscriptions (basic operations)
235- - ✅ Databases (basic CRUD operations)
236- - ✅ Cloud Accounts (AWS, GCP, Azure integration)
237- - ✅ Users (basic operations)
238- - ✅ ACLs (database access control)
239- - ✅ Backup & Restore (backup lifecycle)
240- - ✅ VPC Peering (networking)
241- - ✅ Transit Gateway (enterprise networking)
242- - ✅ Active-Active databases (CRDB operations)
243- - ✅ API Keys (key management)
244- - ✅ Metrics & Logs (monitoring)
245- - ✅ Fixed & Flexible Plans (plan management)
246- - ✅ Private Service Connect (GCP PSC endpoints)
247- - 🚧 Many advanced features still planned
248-
249- ### Redis Enterprise (50% Coverage) ⚠️
250- - ✅ Cluster management
251- - ✅ Database (BDB) operations
252- - ✅ Users & roles
253- - ✅ Modules management
254- - ✅ Bootstrap & initialization
255- - ✅ Backup & restore
256- - 🚧 CRDB (Active-Active) - partial
257- - 🚧 LDAP integration - planned
258- - 🚧 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
259264
260265## Roadmap
261266
262267See our [ GitHub Issues] ( https://github.com/joshrotenberg/redisctl/issues ) for the complete roadmap.
263268
264269### ✅ ** Phase 1** - Raw API Access (Complete)
265- - Redis Cloud API coverage (40% → includes major workflows )
266- - Redis Enterprise API coverage (50%)
270+ - Redis Cloud API coverage (95%+ )
271+ - Redis Enterprise API coverage (100%)
267272 - Comprehensive test suite (500+ tests)
268273 - CI/CD automation with pre-commit hooks
274+ - Published to crates.io as v0.1.0
269275
270276### ✅ ** Phase 2** - Human-Friendly Commands (Complete)
271277 - Enhanced command interface with smart routing
@@ -285,11 +291,45 @@ See our [GitHub Issues](https://github.com/joshrotenberg/redisctl/issues) for th
285291 - Terraform provider integration
286292 - Kubernetes operator
287293
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+
288327## Support
289328
290329- ** Issues** : [ GitHub Issues] ( https://github.com/joshrotenberg/redisctl/issues )
291- - ** Documentation** : [ Online Docs ] ( https://joshrotenberg.github.io /redisctl/ )
330+ - ** Documentation** : [ docs.rs/redisctl ] ( https://docs.rs /redisctl/ )
292331- ** Examples** : See the [ examples/] ( examples/ ) directory
332+ - ** Crates.io** : [ crates.io/crates/redisctl] ( https://crates.io/crates/redisctl )
293333
294334## License
295335
0 commit comments