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.0
Alternatively, 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: credentials
Create 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 shell
Generate CRDs and controllers:
make generate
Build the provider:
make build
Run the test harness (uses podman by default):
./scripts/test-provider.sh
For detailed testing instructions, see TESTING.md.
Run against a Kubernetes cluster:
make run
Deploy 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.