redis-enterprise
A comprehensive Rust client library for the Redis Enterprise REST API, with Python bindings.
Features
- Complete coverage of Redis Enterprise REST API endpoints
- Async/await support with tokio
- Strong typing for API requests and responses
- Comprehensive error handling
- Optional Tower service integration for middleware composition
- Support for all Redis Enterprise features including:
- Cluster management and bootstrap
- Database (BDB) operations
- Node management and statistics
- User and role management
- Redis modules
- Active-Active (CRDB) databases
- Monitoring and alerts
Installation
[]
= "0.9"
# Optional: Enable Tower service integration
= { = "0.9", = ["tower-integration"] }
Quick Start
use EnterpriseClient;
async
See the examples/ directory for end-to-end workflows: basic_enterprise,
cluster_setup_simple, crdb_basics, and database_actions.
Tower Integration
Enable the tower-integration feature to use the client with Tower middleware:
use EnterpriseClient;
use ApiRequest;
use ServiceExt;
async
This enables composition with Tower middleware like circuit breakers, retry, rate limiting, and more.
Environment Variables
REDIS_ENTERPRISE_URL— Base URL (default:https://localhost:9443)REDIS_ENTERPRISE_USER— UsernameREDIS_ENTERPRISE_PASSWORD— PasswordREDIS_ENTERPRISE_INSECURE— Set totrueto skip TLS verification (dev only)REDIS_ENTERPRISE_CA_CERT— Path to a custom CA certificate PEM file
Python Bindings
A PyO3-based convenience layer published at redis-enterprise on PyPI.
The bindings cover the most common read and inspection operations — cluster info,
databases, nodes, users — and include raw HTTP pass-through methods (get, post,
delete) for anything else. Every method is available in both an async/await
form and a blocking _sync form that works without an event loop.
See python/README.md for the full API reference, error handling,
planned expansion, and packaging notes.
API Coverage
The crate aims for comprehensive coverage of the documented Redis Enterprise REST API surface. Handler organization:
- Cluster — bootstrap, info, topology, SSO/SAML, settings, license
- Databases (BDB) — CRUD, actions (recover/export/import/flush/upgrade), per-DB alerts, endpoints, stats
- Nodes — list, get, stats, actions, snapshots, check
- Security — users, roles, RBAC, LDAP mappings, redis_acls
- Modules — v1 + v2 module management, user-defined module artifacts
- Active-Active (CRDB) — list / create / update / delete / tasks plus flush, health_report, purge, updates
- Monitoring — stats, alerts, logs, diagnostics, job_scheduler
- Administration — license, certificates, OCSP, debug info, services
For an authoritative per-endpoint inventory see
docs/api-inventory.csv. For the historical audit
of routes the SDK once exposed but the docs do not, see
docs/api-gap-triage.md.
Documentation
- API Documentation
- Redis Enterprise REST API Reference
- Local live-validation runbook — bring up a disposable Redis Enterprise cluster via Docker Compose for SDK validation against the real API.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.