components-contrib/configuration/redis/metadata.yaml

198 lines
6.1 KiB
YAML

# yaml-language-server: $schema=../../component-metadata-schema.json
schemaVersion: v1
type: configuration
name: redis
version: v1
status: stable
title: "Redis"
urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-configuration-stores/redis-configuration-store/
capabilities: []
authenticationProfiles:
- title: "Username and password"
description: "Authenticate using username and password."
metadata:
- name: redisUsername
type: string
required: false
description: |
Username for Redis host. Defaults to empty. Make sure your Redis server
version is 6 or above, and have created ACL rule correctly.
example: "my-username"
default: ""
- name: redisPassword
type: string
required: false
sensitive: true
description: |
Password for Redis host. Use secretKeyRef for
secret reference
example: "KeFg23!"
default: ""
metadata:
- name: redisHost
required: true
description: Connection-string for the Redis host
example: "redis-master.default.svc.cluster.local:6379"
type: string
- name: enableTLS
type: bool
required: false
description: |
If the Redis instance supports TLS; can be configured to be enabled or disabled.
example: "true"
default: "false"
- name: clientCert
required: false
description: Client certificate for Redis host. No Default. Can be secretKeyRef to use a secret reference
example: ""
type: string
- name: clientKey
required: false
description: Client key for Redis host. No Default. Can be secretKeyRef to use a secret reference
example: ""
type: string
- name: redisMaxRetries
type: number
required: false
description: |
Maximum number of retries before giving up.
default: "3"
example: "5"
- name: redisMinRetryInterval
type: duration
required: false
description: |
Minimum backoff for Redis commands between each retry.
"-1" disables backoff.
default: "8ms"
example: "-1"
- name: redisMaxRetryInterval
type: duration
required: false
description: |
Maximum backoff for Redis commands between each retry.
"-1" disables backoff.
example: "-1"
default: "2s"
- name: failover
type: bool
required: false
description: |
Enables failover configuration. It requires "sentinelMasterName" to
be set, and "redisHost" to be the sentinel host address.
default: "false"
example: "true"
url:
title: "Redis Sentinel documentation"
url: "https://redis.io/docs/manual/sentinel/"
- name: sentinelMasterName
type: string
required: false
description: |
The Redis sentinel master name. Required when "failover" is enabled.
example: "127.0.0.1:6379"
url:
title: "Redis Sentinel documentation"
url: "https://redis.io/docs/manual/sentinel/"
- name: redisDB
type: number
required: false
description: |
Database selected after connecting to Redis. If "redisType" is "cluster"
this option is ignored.
default: "0"
example: "0"
- name: redisType
type: string
required: false
allowedValues:
- "node"
- "cluster"
default: "node"
description: |
Redis service type. Set to "node" for single-node mode, or "cluster" for Redis Cluster.
example: "cluster"
- name: dialTimeout
required: false
description: Dial timeout for establishing new connections.
default: "5s"
example: "10s"
type: duration
- name: readTimeout
required: false
type: duration
description: |
Timeout for socket reads. If reached, Redis commands will fail with a
timeout instead of blocking. Use "-1" for no timeout.
default: "3s"
example: "10s"
- name: writeTimeout
type: duration
required: false
description: |
Timeout for socket writes. If reached, Redis commands will fail with
a timeout instead of blocking. Defaults to "readTimeout".
example: "3s"
- name: poolSize
required: false
type: number
description: |
Maximum number of socket connections. Default is 10 connections per
every CPU as reported by runtime.NumCPU.
example: "20"
- name: poolTimeout
required: false
type: duration
description: |
Amount of time client waits for a connection if all connections are busy
before returning an error. Default is readTimeout + 1 second.
example: "5s"
- name: maxConnAge
type: duration
required: false
description: |
Connection age at which the client retires (closes) the connection.
Default is to not close aged connections.
example: "30m"
- name: minIdleConns
required: false
type: number
description: |
Minimum number of idle connections to keep open in order to avoid
the performance degradation associated with creating new connections.
default: "0"
example: "2"
- name: idleCheckFrequency
type: duration
required: false
description: |
Frequency of idle checks made by idle connections reaper.
"-1" disables idle connections reaper.
default: "1m"
example: "-1"
- name: idleTimeout
type: duration
required: false
description: |
Amount of time after which the client closes idle connections. Should be
less than server's timeout.
"-1" disables idle timeout check.
default: "5m"
example: "10m"
builtinAuthenticationProfiles:
- name: "azuread"
metadata:
- name: useEntraID
required: false
default: "false"
example: "true"
type: bool
description: |
If set, enables authentication to Azure Cache for Redis using Microsoft EntraID. The Redis server must explicitly enable EntraID authentication. Note that
Azure Cache for Redis also requires the use of TLS, so `enableTLS` should be set. No username or password should be set.
- name: enableTLS
required: true
description: Must be set to true if using EntraID
example: "true"