To setup Redis binding create a component of type bindings.redis
. See this guide on how to create and apply a binding configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
type: bindings.redis
version: v1
metadata:
- name: redisHost
value: <address>:6379
- name: redisPassword
value: **************
- name: enableTLS
value: <bool>
Field | Required | Binding support | Details | Example |
---|---|---|---|---|
redisHost | Y | Output | The Redis host address | "localhost:6379" |
redisPassword | Y | Output | The Redis password | "password" |
enableTLS | N | Output | If the Redis instance supports TLS with public certificates it can be configured to enable or disable TLS. Defaults to "false" | "true" , "false" |
This component supports output binding with the following operations:
create
Dapr can use any Redis instance - containerized, running on your local dev machine, or a managed cloud service, provided the version of Redis is 5.0.0 or later.
The Dapr CLI will automatically create and setup a Redis Streams instance for you.
The Redis instance will be installed via Docker when you run dapr init
, and the component file will be created in default directory. ($HOME/.dapr/components
directory (Mac/Linux) or %USERPROFILE%\.dapr\components
on Windows).
You can use Helm to quickly create a Redis instance in our Kubernetes cluster. This approach requires Installing Helm.
Install Redis into your cluster.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis bitnami/redis
Run kubectl get pods
to see the Redis containers now running in your cluster.
Add redis-master:6379
as the redisHost
in your redis.yaml file. For example:
metadata:
- name: redisHost
value: redis-master:6379
Next, we’ll get our Redis password, which is slightly different depending on the OS we’re using:
Windows: Run kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" > encoded.b64
, which will create a file with your encoded password. Next, run certutil -decode encoded.b64 password.txt
, which will put your redis password in a text file called password.txt
. Copy the password and delete the two files.
Linux/MacOS: Run kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" | base64 --decode
and copy the outputted password.
Add this password as the redisPassword
value in your redis.yaml file. For example:
- name: redisPassword
value: "lhDOkwTlp0"
dapr init
command.