provider-rediscloud is a Crossplane provider that is built using Upjet code generation tools and exposes XRM-conformant managed resources for the RedisCloud API.
This provider enables management of RedisCloud resources through Kubernetes Custom Resources. It includes support for:
- ACL Management - Roles, Rules, and Users
- Active-Active Databases - Multi-region deployments
- Cloud Accounts - AWS and GCP integrations
- Essentials Tier - Free and fixed plans
- Pro Subscriptions - Full-featured Redis deployments
- Private Connectivity - VPC peering and private endpoints
- Transit Gateways - AWS Transit Gateway attachments
- Kubernetes cluster (1.26+)
- Crossplane installed
- RedisCloud API credentials
Install the provider by using the following command after changing the image tag to the latest release:
kubectl crossplane install provider xpkg.crossplane.io/RedisLabs/provider-rediscloud:v0.1.0Alternatively, you can use declarative installation:
apiVersion: pkg.crossplane.io/v1 kind: Provider metadata: name: provider-rediscloud spec: package: xpkg.crossplane.io/RedisLabs/provider-rediscloud:v0.1.0- Create a secret with your RedisCloud credentials:
kubectl create secret generic rediscloud-creds \ --namespace crossplane-system \ --from-literal=credentials='{"api_key":"YOUR_API_KEY","secret_key":"YOUR_SECRET_KEY"}'- Create a ProviderConfig:
apiVersion: rediscloud.redis.io/v1beta1 kind: ProviderConfig metadata: name: default spec: credentials: source: Secret secretRef: name: rediscloud-creds namespace: crossplane-system key: credentialsCreate an Essentials subscription:
apiVersion: essentials.redis.io/v1alpha1 kind: Subscription metadata: name: my-redis-subscription spec: forProvider: name: "My Redis Subscription" planId: 1 # Free plan providerConfigRef: name: default- Go 1.21+
- Docker or Podman
- Make
This project uses devenv for development environment management. To enter the development shell:
devenv shellGenerate CRDs and controllers:
make generateBuild the provider:
make buildRun the test harness (uses podman by default):
./scripts/test-provider.shFor detailed testing instructions, see TESTING.md.
Run against a Kubernetes cluster:
make runDeploy locally for testing:
make local-deploy- Testing Guide - Instructions for testing the provider
- API Reference - Generated CRD documentation
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
For filing bugs, suggesting improvements, or requesting new features, please open an issue.