# yaml-language-server: $schema=../../component-metadata-schema.json schemaVersion: v1 type: pubsub name: redis version: v1 status: stable title: "Redis" urls: - title: Reference url: https://docs.dapr.io/reference/components-reference/supported-pubsub/setup-redis-pubsub/ capabilities: - ttl metadata: - name: redisHost required: true description: | Connection-string for the redis host. If "redisType" is "cluster" it can be multiple hosts separated by commas or just a single host example: '"redis-master.default.svc.cluster.local:6379"' type: string - name: redisPassword required: true sensitive: true description: | Password for Redis host. No Default. Can be "secretKeyRef" to use a secret reference example: '"KeFg23!"' type: string - name: redisUsername 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: "default" type: string - name: consumerID required: false description: The consumer group ID example: "myGroup" type: string - name: enableTLS required: false description: | If the Redis instance supports TLS with public certificates, can be configured to be enabled or disabled. Defaults to "false". example: "false" type: bool - name: redeliverInterval required: false description: | The interval between checking for pending messages to redelivery. Defaults to "60s". "0" disables redelivery. example: "30s" type: duration - name: processingTimeout required: false description: | The amount time a message must be pending before attempting to redeliver it. Defaults to "15s". "0" disables redelivery. example: "30s" type: duration - name: queueDepth required: false description: | The size of the message queue for processing. Defaults to "100". example: "1000" type: number - name: concurrency required: false description: | The number of concurrent workers that are processing messages. Defaults to "10". example: "15" type: number - name: redisType required: false description: | The type of redis. There are two valid values, one is "node" for single node mode, the other is "cluster" for redis cluster mode. Defaults to "node". example: "cluster" type: string - name: redisDB required: false description: | Database selected after connecting to redis. If "redisType" is "cluster" this option is ignored. Defaults to "0". example: "0" type: number - name: redisMaxRetries required: false description: Maximum number of times to retry commands before giving up. Default is to not retry failed commands. example: "5" type: number - name: redisMinRetryInterval required: false description: | Minimum backoff for redis commands between each retry. Default is "8ms"; "-1" disables backoff. example: "8ms" type: duration - name: redisMaxRetryInterval required: false description: | Maximum backoff for redis commands between each retry. Default is "512ms";"-1" disables backoff. example: "5s" type: duration - name: dialTimeout required: false description: | Dial timeout for establishing new connections. Defaults to "5s". example: "5s" type: duration - name: readTimeout required: false description: | Timeout for socket reads. If reached, redis commands will fail with a timeout instead of blocking. Defaults to "3s", "-1" for no timeout. example: "3s" type: duration - name: writeTimeout required: false description: Timeout for socket writes. If reached, redis commands will fail with a timeout instead of blocking. Defaults is readTimeout. example: "3s" type: duration - name: poolSize required: false description: Maximum number of socket connections. Default is 10 connections per every CPU as reported by runtime.NumCPU. example: "20" type: number - name: poolTimeout required: false 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" type: duration - name: maxConnAge required: false description: Connection age at which the client retires (closes) the connection. Default is to not close aged connections. example: "30m" type: duration - name: minIdleConns required: false description: | Minimum number of idle connections to keep open in order to avoid the performance degradation associated with creating new connections. Defaults to "0". example: "2" type: number - name: idleCheckFrequency required: false description: | Frequency of idle checks made by idle connections reaper. Default is "1m". "-1" disables idle connections reaper. example: "-1" type: duration - name: idleTimeout required: false description: | Amount of time after which the client closes idle connections. Should be less than server's timeout. Default is "5m". "-1" disables idle timeout check. example: "10m" type: duration - name: failover required: false description: | Property to enabled failover configuration. Needs sentinalMasterName to be set. Defaults to "false" example: "false" type: bool - name: sentinelMasterName required: false description: The sentinel master name. See Redis Sentinel Documentation. example: "127.0.0.1:6379" type: string - name: maxLenApprox required: false description: Maximum number of items inside a stream.The old entries are automatically evicted when the specified length is reached, so that the stream is left at a constant size. Defaults to unlimited. example: "10000" type: number