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+
38A 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
216231cargo 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
257267See 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