forked from dapr/components-contrib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmetadata.yaml
More file actions
268 lines (267 loc) · 9.53 KB
/
metadata.yaml
File metadata and controls
268 lines (267 loc) · 9.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# 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
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. No default. Use secretKeyRef for
secret reference
example: "KeFg23!"
default: ""
- name: sentinelUsername
type: string
required: false
description: |
Username for Redis Sentinel. Applicable only when "failover" is true, and
Redis Sentinel has authentication enabled. Defaults to empty.
example: "my-sentinel-username"
default: ""
url:
title: "Redis Sentinel authentication documentation"
url: "https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/#configuring-sentinel-instances-with-authentication"
- name: sentinelPassword
type: string
required: false
sensitive: true
description: |
Password for Redis Sentinel. Applicable only when "failover" is true, and
Redis Sentinel has authentication enabled. Use secretKeyRef for
secret reference. Defaults to empty.
example: "KeFg23!"
default: ""
url:
title: "Redis Sentinel authentication documentation"
url: "https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/#configuring-sentinel-instances-with-authentication"
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.
The port can be included in the host string (e.g. "host:6379") or
provided separately via "redisPort".
example: '"redis-master.default.svc.cluster.local:6379"'
type: string
- name: redisPort
required: false
description: |
The Redis port. Optional: if "redisHost" already contains a port, this
field must either match or be omitted. When "redisHost" does not include
a port and this field is not set, the default Redis port 6379 is used.
In cluster mode, this port is applied to every host in the
comma-separated list.
example: "6379"
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, can be configured to be enabled or disabled.
example: "false"
type: bool
default: "false"
- name: insecureSkipTLSVerify
required: false
description: |
Skip TLS certificate verification (insecure). Only use for testing.
example: "false"
type: bool
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: redeliverInterval
required: false
description: |
The interval between checking for pending messages to redelivery. "0" disables redelivery.
example: "30s"
default: "60s"
type: duration
- name: processingTimeout
required: false
description: |
The amount time a message must be pending before attempting to redeliver it. "0" disables redelivery.
example: "30s"
type: duration
default: "15s"
- name: queueDepth
required: false
description: |
The size of the message queue for processing.
example: "1000"
default: "100"
type: number
- name: concurrency
required: false
description: |
The number of concurrent workers that are processing messages.
example: "15"
default: "10"
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.
example: "cluster"
type: string
default: "node"
- name: redisDB
required: false
description: |
Database selected after connecting to redis. If "redisType" is "cluster" this option is ignored.
example: "0"
default: "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. "-1" disables backoff.
example: "8ms"
default: "8ms"
type: duration
- name: redisMaxRetryInterval
required: false
description: |
Maximum backoff for redis commands between each retry. "-1" disables backoff.
example: "5s"
default: "512ms"
type: duration
- name: dialTimeout
required: false
description: |
Dial timeout for establishing new connections.
example: "5s"
default: "5s"
type: duration
- name: readTimeout
required: false
description: |
Timeout for socket reads. If reached, redis commands will fail with a timeout instead of blocking. "-1" for no timeout.
example: "3s"
default: "3"
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.
example: "2"
default: "0"
type: number
- name: idleCheckFrequency
required: false
description: |
Frequency of idle checks made by idle connections reaper. "-1" disables idle connections reaper.
example: "-1"
default: "1m"
type: duration
- name: idleTimeout
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.
example: "10m"
default: "5m"
type: duration
- name: failover
required: false
description: |
Property to enabled failover configuration. Needs sentinelMasterName to be set.
example: "false"
default: "false"
type: bool
- name: sentinelMasterName
required: false
description: The sentinel master name. See Redis Sentinel Documentation.
example: "mymaster"
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.
Cannot be used together with streamTTL; only one stream trimming strategy can be active at a time.
example: "10000"
type: number
- name: streamTTL
required: false
description: |
TTL duration for stream entries. Entries older than this duration will be evicted.
This is an approximate value, as it's implemented using Redis stream's MINID trimming with the '~' modifier.
The actual retention may include slightly more entries than strictly defined by the TTL,
as Redis optimizes the trimming operation for efficiency by potentially keeping some additional entries.
Cannot be used together with maxLenApprox; only one stream trimming strategy can be active at a time.
example: "30d"
type: duration
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"