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
255 lines (255 loc) · 8.2 KB
/
metadata.yaml
File metadata and controls
255 lines (255 loc) · 8.2 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
# yaml-language-server: $schema=../../component-metadata-schema.json
schemaVersion: v1
type: bindings
name: redis
version: v1
status: stable
title: "Redis"
urls:
- title: Reference
url: https://docs.dapr.io/reference/components-reference/supported-bindings/redis/
capabilities: []
binding:
output: true
input: false
operations:
- name: create
description: "Create item"
- name: get
description: "Get item"
- name: delete
description: "Delete item"
- name: increment
description: "Increment a key"
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: ""
- 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: 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: insecureSkipTLSVerify
type: bool
required: false
description: |
Skip TLS certificate verification (insecure). Only use for testing.
example: "false"
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: "512ms"
- 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: "mymaster"
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"