-
Notifications
You must be signed in to change notification settings - Fork 2
/
schema.json
173 lines (173 loc) · 6.06 KB
/
schema.json
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
{
"$id": "https://raw.githubusercontent.com/roadrunner-server/redis/refs/heads/master/schema.json",
"$schema": "https://json-schema.org/draft/2019-09/schema",
"description": "All the valid configuration parameters for the Redis plugin for RoadRunner.",
"type": "object",
"additionalProperties": false,
"properties": {
"addrs": {
"title": "Redis Endpoint",
"description": "The addresses or hostnames of the Redis server/cluster to connect to. If the number of addresses is 1 and master_name is empty, a single-node Redis Client will be returned, otherwise a ClusterClient or FailoverClient will be returned, depending on whether `master_name` is provided.",
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"default": [
"localhost:6379"
]
},
"master_name": {
"title": "Redis Master Node Name",
"description": "The name of the master Redis node. A Sentinel-backed FailoverClient will be returned if this value is provided.",
"type": "string"
},
"username": {
"title": "Redis AUTH username.",
"description": "The username to provide for Redis authentication.",
"type": "string",
"examples": [
"my_username"
]
},
"password": {
"title": "Redis AUTH password.",
"description": "The password to provide for Redis authentication.",
"type": "string",
"examples": [
"super-secret-password"
]
},
"db": {
"title": "Redis DB Index",
"description": "The Redis DB index to select when connecting.",
"type": "integer",
"default": 0,
"maximum": 10
},
"sentinel_password": {
"title": "Sentinel Password",
"description": "The password for Redis Sentinel.",
"type": "string",
"examples": [
"super-secret-password"
]
},
"route_by_latency": {
"title": "Route by Latency",
"description": "Whether to route traffic to Redis nodes based on latency.",
"type": "boolean",
"default": false
},
"route_randomly": {
"title": "Route Randomly",
"description": "Whether to randomly route traffic to Redis nodes.",
"type": "boolean",
"default": false
},
"dial_timeout": {
"title": "Dial Timeout",
"description": "The timeout when attempting to connect to Redis. Default or zero means 5s.",
"$ref": "#/$defs/duration",
"default": 0
},
"max_retries": {
"title": "Maximum Retries",
"description": "The maximum number of retry attempts when connecting to Redis. Default or zero means 3.",
"type": "integer",
"default": 0
},
"min_retry_backoff": {
"title": "Minimum Retry Backoff",
"description": "The minimum backoff duration when retrying connection attempts. Default or zero means 8s.",
"$ref": "#/$defs/duration",
"default": 0
},
"max_retry_backoff": {
"title": "Maximum Retry Backoff",
"description": "The maximum backoff duration when retrying connection attempts. Default or zero means 512s.",
"$ref": "#/$defs/duration",
"default": 0
},
"pool_size": {
"title": "Connection Pool Size",
"description": "The number of connections to keep in the Redis connection pool. Default or zero means 10 per logical CPU.",
"type": "integer",
"default": 0
},
"min_idle_conns": {
"title": "Minimum Idle Connections",
"description": "The minimum number of connections to keep in the pool. Defaults to 0, which means no idle connection pool.",
"type": "integer",
"default": 0
},
"max_conn_age": {
"title": "Maximum Connection Age",
"description": "The maximum age of open Redis connections. Default or zero means no limit.",
"$ref": "#/$defs/duration",
"default": "0s"
},
"read_timeout": {
"title": "Read Timeout",
"description": "The timeout when reading from a Redis node. Default or zero means 3s.",
"$ref": "#/$defs/duration",
"default": "0s"
},
"write_timeout": {
"title": "Write Timeout",
"description": "The timeout when writing to a Redis node. Default or zero means equivalent to `read_timeout`.",
"$ref": "#/$defs/duration",
"default": "0s"
},
"pool_timeout": {
"title": "Pool Timeout",
"$ref": "#/$defs/duration"
},
"idle_timeout": {
"title": "Idle Timeout",
"description": "The timeout of idle connections to Redis. Default or zero means 5m.",
"$ref": "#/$defs/duration",
"default": "0s"
},
"idle_check_freq": {
"title": "Idle Check Frequency",
"description": "The time between checks for idle connections to Redis. Default or zero means 1m.",
"$ref": "#/$defs/duration",
"default": "0s"
},
"read_only": {
"title": "Read-only",
"description": "Whether the Redis connection is in read-only mode. See https://redis.io/docs/latest/commands/readonly.",
"type": "boolean",
"default": false
},
"tls": {
"description": "GRPC TLS configuration",
"type": "object",
"additionalProperties": false,
"properties": {
"key": {
"$ref": "https://raw.githubusercontent.com/roadrunner-server/http/refs/heads/master/schema.json#/$defs/SSL/properties/key"
},
"cert": {
"$ref": "https://raw.githubusercontent.com/roadrunner-server/http/refs/heads/master/schema.json#/$defs/SSL/properties/cert"
},
"root_ca": {
"$ref": "https://raw.githubusercontent.com/roadrunner-server/http/refs/heads/master/schema.json#/$defs/SSL/properties/root_ca"
},
"client_auth_type": {
"$ref": "https://raw.githubusercontent.com/roadrunner-server/http/refs/heads/master/schema.json#/$defs/ClientAuthType"
}
},
"required": [
"root_ca"
]
}
},
"$defs": {
"duration": {
"$ref": "https://raw.githubusercontent.com/roadrunner-server/roadrunner/refs/heads/master/schemas/config/3.0.schema.json#/definitions/Duration"
}
}
}