| Crates.io | redis-cloud |
| lib.rs | redis-cloud |
| version | 0.6.2 |
| created_at | 2025-08-27 21:16:23.356316+00 |
| updated_at | 2025-09-22 19:06:46.836009+00 |
| description | Redis Cloud REST API client library |
| homepage | https://github.com/joshrotenberg/redisctl |
| repository | https://github.com/joshrotenberg/redisctl |
| max_upload_size | |
| id | 1813200 |
| size | 559,723 |
A unified command-line interface for managing Redis Cloud and Redis Enterprise deployments through their REST APIs.
--wait flagsDownload the latest release for your platform from the releases page.
cargo install redisctl
docker run --rm joshrotenberg/redisctl --help
# Redis Cloud
export REDIS_CLOUD_API_KEY="your-api-key"
export REDIS_CLOUD_SECRET_KEY="your-secret-key"
# Redis Enterprise
export REDIS_ENTERPRISE_URL="https://your-cluster:9443"
export REDIS_ENTERPRISE_USER="your-email@example.com"
export REDIS_ENTERPRISE_PASSWORD="your-password"
Or use profiles for multiple environments:
# Create a profile with plaintext storage (default)
redisctl profile set cloud-prod \
--deployment cloud \
--api-key "$REDIS_CLOUD_API_KEY" \
--api-secret "$REDIS_CLOUD_SECRET_KEY"
# Create a profile with secure OS keyring storage (recommended)
redisctl profile set cloud-secure \
--deployment cloud \
--api-key "$REDIS_CLOUD_API_KEY" \
--api-secret "$REDIS_CLOUD_SECRET_KEY" \
--use-keyring # Requires 'secure-storage' feature
# Use the profile
redisctl --profile cloud-prod cloud database list
Profiles are stored in:
~/.config/redisctl/config.toml%APPDATA%\redis\redisctl\config.tomlWhen compiled with the secure-storage feature, redisctl can store sensitive credentials in your OS keyring:
To use secure storage:
# Install with secure storage support
cargo install redisctl --features secure-storage
# Create profile with keyring storage
redisctl profile set prod \
--deployment cloud \
--api-key "your-key" \
--api-secret "your-secret" \
--use-keyring
# The config file will contain references like:
# api_key = "keyring:prod-api-key"
# api_secret = "keyring:prod-api-secret"
Example configuration file:
default_profile = "cloud-prod"
[profiles.cloud-prod]
deployment_type = "cloud"
api_key = "${REDIS_CLOUD_API_KEY}"
api_secret = "${REDIS_CLOUD_API_SECRET}"
[profiles.enterprise-dev]
deployment_type = "enterprise"
url = "https://localhost:9443"
username = "admin@redis.local"
password = "${REDIS_ENTERPRISE_PASSWORD}"
insecure = true
# Test your connection
redisctl api cloud get / # For Cloud
redisctl api enterprise get /v1/cluster # For Enterprise
# View your configuration
redisctl profile list # Show all profiles
redisctl profile path # Show config file location
# Common first commands
redisctl cloud database list # List Cloud databases
redisctl cloud subscription list # List Cloud subscriptions
redisctl enterprise node list # List Enterprise nodes
# Get detailed output
redisctl cloud database get 12345 --output table # Table format
redisctl cloud database list -o json | jq # JSON with jq
# Create resources and wait for completion
redisctl cloud database create --data @database.json --wait
# Run commands directly with Docker
docker run --rm \
-e REDIS_CLOUD_API_KEY \
-e REDIS_CLOUD_API_SECRET \
joshrotenberg/redisctl:latest \
cloud subscription list
# Use local config file
docker run --rm \
-v ~/.config/redisctl:/root/.config/redisctl:ro \
joshrotenberg/redisctl:latest \
database list
# Development environment with test cluster
docker compose up -d # Start Redis Enterprise cluster
docker compose --profile cli up cli # Interactive CLI session
docker compose --profile test up test # Run test suite
docker compose down -v # Clean up
See the Docker documentation for advanced usage.
For comprehensive documentation including:
Visit the full documentation.
git clone https://github.com/joshrotenberg/redisctl.git
cd redisctl
cargo build --release
cargo test --workspace
Contributions are welcome! Please see the contributing guidelines in the documentation.
Licensed under either of:
at your option.