Skip to content

Commit 038ebb1

Browse files
authored
feat: lock comp registration fixes (#3953)
Signed-off-by: Samantha Coyle <[email protected]>
1 parent 89e9e1c commit 038ebb1

File tree

1 file changed

+178
-0
lines changed

1 file changed

+178
-0
lines changed

lock/redis/metadata.yaml

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# yaml-language-server: $schema=../../component-metadata-schema.json
2+
schemaVersion: v1
3+
type: lock
4+
name: redis
5+
version: v1
6+
status: alpha
7+
title: "Redis Distributed Lock"
8+
urls:
9+
- title: Reference
10+
url: https://docs.dapr.io/reference/components-reference/supported-locks/redis-lock/
11+
lock:
12+
operations:
13+
- name: tryLock
14+
description: "Attempt to acquire a distributed lock"
15+
- name: unlock
16+
description: "Release a distributed lock"
17+
authenticationProfiles:
18+
- title: "Password Authentication"
19+
description: |
20+
Authenticate using Redis password.
21+
metadata:
22+
- name: redisUsername
23+
required: false
24+
description: "The Redis username"
25+
example: "redis-user"
26+
- name: redisPassword
27+
required: false
28+
sensitive: true
29+
description: "The Redis password"
30+
example: "redis-password"
31+
- title: "Sentinel Authentication"
32+
description: |
33+
Authenticate using Redis Sentinel password.
34+
metadata:
35+
- name: sentinelUsername
36+
required: false
37+
description: "The Redis Sentinel username"
38+
example: "sentinel-user"
39+
- name: sentinelPassword
40+
required: false
41+
sensitive: true
42+
description: "The Redis Sentinel password"
43+
example: "sentinel-password"
44+
- title: "TLS Authentication"
45+
description: |
46+
Authenticate using Redis TLS certificate.
47+
metadata:
48+
- name: clientCert
49+
required: false
50+
sensitive: true
51+
description: "The Redis client certificate"
52+
example: '"-----BEGIN CERTIFICATE-----\nXXX..."'
53+
- name: clientKey
54+
required: false
55+
sensitive: true
56+
description: "The Redis client key"
57+
example: '"-----BEGIN PRIVATE KEY-----\nXXX..."'
58+
metadata:
59+
- name: redisHost
60+
required: true
61+
description: "The Redis host address"
62+
example: '"localhost:6379"'
63+
- name: redisType
64+
required: false
65+
description: "The Redis type"
66+
example: "node"
67+
default: "node"
68+
allowedValues:
69+
- "node"
70+
- "cluster"
71+
- "sentinel"
72+
- name: redisDB
73+
required: false
74+
description: "The Redis database number"
75+
example: '0'
76+
default: '0'
77+
- name: redisMaxRetries
78+
required: false
79+
description: "Maximum Redis retries"
80+
example: '3'
81+
default: '3'
82+
- name: redisMinRetryInterval
83+
required: false
84+
description: "Minimum Redis retry interval"
85+
example: "8ms"
86+
default: "8ms"
87+
- name: redisMaxRetryInterval
88+
required: false
89+
description: "Maximum Redis retry interval"
90+
example: "512ms"
91+
default: "512ms"
92+
- name: dialTimeout
93+
required: false
94+
description: "Dial timeout duration"
95+
example: "5s"
96+
default: "5s"
97+
- name: readTimeout
98+
required: false
99+
description: "Read timeout duration"
100+
example: "3s"
101+
default: "3s"
102+
- name: writeTimeout
103+
required: false
104+
description: "Write timeout duration"
105+
example: "3s"
106+
default: "3s"
107+
- name: poolSize
108+
required: false
109+
description: "Connection pool size"
110+
example: '10'
111+
default: '10'
112+
- name: poolTimeout
113+
required: false
114+
description: "Connection pool timeout"
115+
example: "4s"
116+
default: "4s"
117+
- name: maxConnAge
118+
required: false
119+
description: "Maximum connection age"
120+
example: "30m"
121+
default: "30m"
122+
- name: minIdleConns
123+
required: false
124+
description: "Minimum idle connections"
125+
example: '0'
126+
default: '0'
127+
- name: idleTimeout
128+
required: false
129+
description: "Idle timeout duration"
130+
example: "5m"
131+
default: "5m"
132+
- name: idleCheckFrequency
133+
required: false
134+
description: "Idle check frequency"
135+
example: "1m"
136+
default: "1m"
137+
- name: maxRetries
138+
required: false
139+
description: "Maximum number of retries when attempting to acquire a lock"
140+
example: '3'
141+
default: '3'
142+
- name: maxRetryBackoff
143+
required: false
144+
description: "Maximum backoff duration between retries"
145+
example: "2s"
146+
default: "2s"
147+
- name: redeliverInterval
148+
required: false
149+
description: "Redeliver interval for re-attempting lock acquisition"
150+
example: "15s"
151+
default: "15s"
152+
- name: processingTimeout
153+
required: false
154+
description: "Processing timeout for lock ownership"
155+
example: "60s"
156+
default: "60s"
157+
- name: enableTLS
158+
required: false
159+
type: bool
160+
description: "Whether to enable TLS encryption"
161+
example: false
162+
default: false
163+
- name: useEntraID
164+
required: false
165+
type: bool
166+
description: "Whether to use Entra ID for authentication"
167+
example: false
168+
default: false
169+
- name: failover
170+
required: false
171+
type: bool
172+
description: "Whether to enable failover mode (for Sentinel)"
173+
example: false
174+
default: false
175+
- name: sentinelMasterName
176+
required: false
177+
description: "The Sentinel master name (used if redisType is 'sentinel')"
178+
example: "mymaster"

0 commit comments

Comments
 (0)