forked from datreeio/CRDs-catalog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackendconfig_v1.json
313 lines (313 loc) · 13.4 KB
/
backendconfig_v1.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
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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
{
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "BackendConfigSpec is the spec for a BackendConfig resource",
"properties": {
"cdn": {
"description": "CDNConfig contains configuration for CDN-enabled backends.",
"properties": {
"bypassCacheOnRequestHeaders": {
"items": {
"description": "BypassCacheOnRequestHeader contains configuration for how requests containing specific request headers bypass the cache, even if the content was previously cached.",
"properties": {
"headerName": {
"description": "The header field name to match on when bypassing cache. Values are case-insensitive.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"cacheMode": {
"type": "string"
},
"cachePolicy": {
"description": "CacheKeyPolicy contains configuration for how requests to a CDN-enabled backend are cached.",
"properties": {
"includeHost": {
"description": "If true, requests to different hosts will be cached separately.",
"type": "boolean"
},
"includeProtocol": {
"description": "If true, http and https requests will be cached separately.",
"type": "boolean"
},
"includeQueryString": {
"description": "If true, query string parameters are included in the cache key according to QueryStringBlacklist and QueryStringWhitelist. If neither is set, the entire query string is included and if false the entire query string is excluded.",
"type": "boolean"
},
"queryStringBlacklist": {
"description": "Names of query strint parameters to exclude from cache keys. All other parameters are included. Either specify QueryStringBlacklist or QueryStringWhitelist, but not both.",
"items": {
"default": "",
"type": "string"
},
"type": "array"
},
"queryStringWhitelist": {
"description": "Names of query string parameters to include in cache keys. All other parameters are excluded. Either specify QueryStringBlacklist or QueryStringWhitelist, but not both.",
"items": {
"default": "",
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
},
"clientTtl": {
"format": "int64",
"type": "integer"
},
"defaultTtl": {
"format": "int64",
"type": "integer"
},
"enabled": {
"default": false,
"type": "boolean"
},
"maxTtl": {
"format": "int64",
"type": "integer"
},
"negativeCaching": {
"type": "boolean"
},
"negativeCachingPolicy": {
"items": {
"description": "NegativeCachingPolicy contains configuration for how negative caching is applied.",
"properties": {
"code": {
"description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.",
"format": "int64",
"type": "integer"
},
"ttl": {
"description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"requestCoalescing": {
"type": "boolean"
},
"serveWhileStale": {
"format": "int64",
"type": "integer"
},
"signedUrlCacheMaxAgeSec": {
"format": "int64",
"type": "integer"
},
"signedUrlKeys": {
"items": {
"description": "SignedUrlKey represents a customer-supplied Signing Key used by Cloud CDN Signed URLs",
"properties": {
"keyName": {
"description": "KeyName: Name of the key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
"type": "string"
},
"keyValue": {
"description": "KeyValue: 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string.",
"type": "string"
},
"secretName": {
"description": "The name of a k8s secret which stores the 128-bit key value used for signing the URL. The key value must be a valid RFC 4648 Section 5 base64url encoded string",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"required": [
"enabled"
],
"type": "object",
"additionalProperties": false
},
"connectionDraining": {
"description": "ConnectionDrainingConfig contains configuration for connection draining. For now the draining timeout. May manage more settings in the future.",
"properties": {
"drainingTimeoutSec": {
"description": "Draining timeout in seconds.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"customRequestHeaders": {
"description": "CustomRequestHeadersConfig contains configuration for custom request headers",
"properties": {
"headers": {
"items": {
"default": "",
"type": "string"
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
},
"healthCheck": {
"description": "HealthCheckConfig contains configuration for the health check.",
"properties": {
"checkIntervalSec": {
"description": "CheckIntervalSec is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"format": "int64",
"type": "integer"
},
"healthyThreshold": {
"description": "HealthyThreshold is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"format": "int64",
"type": "integer"
},
"port": {
"description": "Port is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks. If Port is used, the controller updates portSpecification as well",
"format": "int64",
"type": "integer"
},
"requestPath": {
"description": "RequestPath is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"type": "string"
},
"timeoutSec": {
"description": "TimeoutSec is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"format": "int64",
"type": "integer"
},
"type": {
"description": "Type is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"type": "string"
},
"unhealthyThreshold": {
"description": "UnhealthyThreshold is a health check parameter. See https://cloud.google.com/compute/docs/reference/rest/v1/healthChecks.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"iap": {
"description": "IAPConfig contains configuration for IAP-enabled backends.",
"properties": {
"enabled": {
"default": false,
"type": "boolean"
},
"oauthclientCredentials": {
"description": "OAuthClientCredentials contains credentials for a single IAP-enabled backend.",
"properties": {
"clientID": {
"description": "Direct reference to OAuth client id.",
"type": "string"
},
"clientSecret": {
"description": "Direct reference to OAuth client secret.",
"type": "string"
},
"secretName": {
"default": "",
"description": "The name of a k8s secret which stores the OAuth client id & secret.",
"type": "string"
}
},
"required": [
"secretName"
],
"type": "object",
"additionalProperties": false
}
},
"required": [
"enabled",
"oauthclientCredentials"
],
"type": "object",
"additionalProperties": false
},
"logging": {
"description": "LogConfig contains configuration for logging.",
"properties": {
"enable": {
"description": "This field denotes whether to enable logging for the load balancer traffic served by this backend service.",
"type": "boolean"
},
"sampleRate": {
"description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.",
"format": "double",
"type": "number"
}
},
"type": "object",
"additionalProperties": false
},
"securityPolicy": {
"description": "SecurityPolicyConfig contains configuration for CloudArmor-enabled backends. If not specified, the controller will not reconcile the security policy configuration. In other words, users can make changes in GCE without the controller overwriting them.",
"properties": {
"name": {
"default": "",
"description": "Name of the security policy that should be associated. If set to empty, the existing security policy on the backend will be removed.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object",
"additionalProperties": false
},
"sessionAffinity": {
"description": "SessionAffinityConfig contains configuration for stickyness parameters.",
"properties": {
"affinityCookieTtlSec": {
"format": "int64",
"type": "integer"
},
"affinityType": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"timeoutSec": {
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"status": {
"type": "object"
}
},
"type": "object"
}