157 lines
5.7 KiB
YAML
157 lines
5.7 KiB
YAML
# yaml-language-server: $schema=../../component-metadata-schema.json
|
|
schemaVersion: v1
|
|
type: state
|
|
name: redis
|
|
version: v1
|
|
status: stable
|
|
title: "Redis"
|
|
urls:
|
|
- title: Reference
|
|
url: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-redis/
|
|
capabilities:
|
|
# If actorStateStore is present, the metadata key actorStateStore can be used
|
|
- actorStateStore
|
|
- crud
|
|
- transactional
|
|
- etag
|
|
- query
|
|
metadata:
|
|
- name: redisHost
|
|
required: true
|
|
description: Connection-string for the redis host
|
|
example: "redis-master.default.svc.cluster.local:6379"
|
|
type: string
|
|
- name: redisPassword
|
|
required: false
|
|
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: 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: failover
|
|
required: false
|
|
description: |
|
|
Enables failover configuration. It requires "sentinelMasterName" to
|
|
be set, and "redisHost" to be the sentinel host address.
|
|
default: "false"
|
|
example: "true"
|
|
type: bool
|
|
url:
|
|
title: "Redis Sentinel documentation"
|
|
url: "https://redis.io/docs/manual/sentinel/"
|
|
- name: sentinelMasterName
|
|
required: false
|
|
description: |
|
|
The Redis sentinel master name. Required when "failover" is enabled.
|
|
example: "127.0.0.1:6379"
|
|
type: string
|
|
url:
|
|
title: "Redis Sentinel documentation"
|
|
url: "https://redis.io/docs/manual/sentinel/"
|
|
- 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: 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: 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 retries for Redis commands.
|
|
example: "5"
|
|
default: "3"
|
|
type: number
|
|
- name: redisMinRetryInterval
|
|
required: false
|
|
description: Minimum backoff for Redis commands between each retry.\"-1\" disables backoff.
|
|
example: "8ms"
|
|
default: "2s"
|
|
type: duration
|
|
- name: redisMaxRetryInterval
|
|
required: false
|
|
description: Alias for maxRetryBackoff. If both values are set maxRetryBackoff is ignored.
|
|
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: ttlInSeconds
|
|
required: false
|
|
description: Allows specifying a default Time-to-live (TTL) in seconds that will be applied to every state store request unless TTL is explicitly defined via the request metadata.
|
|
example: "600"
|
|
type: number
|
|
- name: queryIndexes
|
|
required: false
|
|
description: Indexing schemas for querying JSON objects
|
|
example: "see Querying JSON objects"
|
|
type: string
|