kuma

Форк
0
/
kuma.io_meshretries.yaml 
471 строка · 24.4 Кб
1
---
2
apiVersion: apiextensions.k8s.io/v1
3
kind: CustomResourceDefinition
4
metadata:
5
  annotations:
6
    controller-gen.kubebuilder.io/version: v0.14.0
7
  name: meshretries.kuma.io
8
spec:
9
  group: kuma.io
10
  names:
11
    categories:
12
    - kuma
13
    kind: MeshRetry
14
    listKind: MeshRetryList
15
    plural: meshretries
16
    singular: meshretry
17
  scope: Namespaced
18
  versions:
19
  - additionalPrinterColumns:
20
    - jsonPath: .spec.targetRef.kind
21
      name: TargetRef Kind
22
      type: string
23
    - jsonPath: .spec.targetRef.name
24
      name: TargetRef Name
25
      type: string
26
    name: v1alpha1
27
    schema:
28
      openAPIV3Schema:
29
        properties:
30
          apiVersion:
31
            description: |-
32
              APIVersion defines the versioned schema of this representation of an object.
33
              Servers should convert recognized schemas to the latest internal value, and
34
              may reject unrecognized values.
35
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
36
            type: string
37
          kind:
38
            description: |-
39
              Kind is a string value representing the REST resource this object represents.
40
              Servers may infer this from the endpoint the client submits requests to.
41
              Cannot be updated.
42
              In CamelCase.
43
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
44
            type: string
45
          metadata:
46
            type: object
47
          spec:
48
            description: Spec is the specification of the Kuma MeshRetry resource.
49
            properties:
50
              targetRef:
51
                description: |-
52
                  TargetRef is a reference to the resource the policy takes an effect on.
53
                  The resource could be either a real store object or virtual resource
54
                  defined inplace.
55
                properties:
56
                  kind:
57
                    description: Kind of the referenced resource
58
                    enum:
59
                    - Mesh
60
                    - MeshSubset
61
                    - MeshGateway
62
                    - MeshService
63
                    - MeshServiceSubset
64
                    - MeshHTTPRoute
65
                    type: string
66
                  mesh:
67
                    description: Mesh is reserved for future use to identify cross
68
                      mesh resources.
69
                    type: string
70
                  name:
71
                    description: |-
72
                      Name of the referenced resource. Can only be used with kinds: `MeshService`,
73
                      `MeshServiceSubset` and `MeshGatewayRoute`
74
                    type: string
75
                  proxyTypes:
76
                    description: |-
77
                      ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
78
                      all data plane types are targeted by the policy.
79
                    items:
80
                      enum:
81
                      - Sidecar
82
                      - Gateway
83
                      type: string
84
                    minItems: 1
85
                    type: array
86
                  tags:
87
                    additionalProperties:
88
                      type: string
89
                    description: |-
90
                      Tags used to select a subset of proxies by tags. Can only be used with kinds
91
                      `MeshSubset` and `MeshServiceSubset`
92
                    type: object
93
                type: object
94
              to:
95
                description: To list makes a match between the consumed services and
96
                  corresponding configurations
97
                items:
98
                  properties:
99
                    default:
100
                      description: |-
101
                        Default is a configuration specific to the group of destinations referenced in
102
                        'targetRef'
103
                      properties:
104
                        grpc:
105
                          description: GRPC defines a configuration of retries for
106
                            GRPC traffic
107
                          properties:
108
                            backOff:
109
                              description: |-
110
                                BackOff is a configuration of durations which will be used in an exponential
111
                                backoff strategy between retries.
112
                              properties:
113
                                baseInterval:
114
                                  default: 25ms
115
                                  description: |-
116
                                    BaseInterval is an amount of time which should be taken between retries.
117
                                    Must be greater than zero. Values less than 1 ms are rounded up to 1 ms.
118
                                  type: string
119
                                maxInterval:
120
                                  description: |-
121
                                    MaxInterval is a maximal amount of time which will be taken between retries.
122
                                    Default is 10 times the "BaseInterval".
123
                                  type: string
124
                              type: object
125
                            numRetries:
126
                              description: |-
127
                                NumRetries is the number of attempts that will be made on failed (and
128
                                retriable) requests. If not set, the default value is 1.
129
                              format: int32
130
                              type: integer
131
                            perTryTimeout:
132
                              description: |-
133
                                PerTryTimeout is the maximum amount of time each retry attempt can take
134
                                before it times out. If not set, the global request timeout for the route
135
                                will be used. Setting this value to 0 will disable the per-try timeout.
136
                              type: string
137
                            rateLimitedBackOff:
138
                              description: |-
139
                                RateLimitedBackOff is a configuration of backoff which will be used when
140
                                the upstream returns one of the headers configured.
141
                              properties:
142
                                maxInterval:
143
                                  default: 300s
144
                                  description: MaxInterval is a maximal amount of
145
                                    time which will be taken between retries.
146
                                  type: string
147
                                resetHeaders:
148
                                  description: |-
149
                                    ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset)
150
                                    to match against the response. Headers are tried in order, and matched
151
                                    case-insensitive. The first header to be parsed successfully is used.
152
                                    If no headers match the default exponential BackOff is used instead.
153
                                  items:
154
                                    properties:
155
                                      format:
156
                                        description: The format of the reset header.
157
                                        enum:
158
                                        - Seconds
159
                                        - UnixTimestamp
160
                                        type: string
161
                                      name:
162
                                        description: The Name of the reset header.
163
                                        maxLength: 256
164
                                        minLength: 1
165
                                        pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
166
                                        type: string
167
                                    required:
168
                                    - format
169
                                    - name
170
                                    type: object
171
                                  type: array
172
                              type: object
173
                            retryOn:
174
                              description: RetryOn is a list of conditions which will
175
                                cause a retry.
176
                              example:
177
                              - Canceled
178
                              - DeadlineExceeded
179
                              - Internal
180
                              - ResourceExhausted
181
                              - Unavailable
182
                              items:
183
                                enum:
184
                                - Canceled
185
                                - DeadlineExceeded
186
                                - Internal
187
                                - ResourceExhausted
188
                                - Unavailable
189
                                type: string
190
                              type: array
191
                          type: object
192
                        http:
193
                          description: HTTP defines a configuration of retries for
194
                            HTTP traffic
195
                          properties:
196
                            backOff:
197
                              description: |-
198
                                BackOff is a configuration of durations which will be used in exponential
199
                                backoff strategy between retries.
200
                              properties:
201
                                baseInterval:
202
                                  default: 25ms
203
                                  description: |-
204
                                    BaseInterval is an amount of time which should be taken between retries.
205
                                    Must be greater than zero. Values less than 1 ms are rounded up to 1 ms.
206
                                  type: string
207
                                maxInterval:
208
                                  description: |-
209
                                    MaxInterval is a maximal amount of time which will be taken between retries.
210
                                    Default is 10 times the "BaseInterval".
211
                                  type: string
212
                              type: object
213
                            hostSelection:
214
                              description: |-
215
                                HostSelection is a list of predicates that dictate how hosts should be selected
216
                                when requests are retried.
217
                              items:
218
                                properties:
219
                                  predicate:
220
                                    description: Type is requested predicate mode.
221
                                    enum:
222
                                    - OmitPreviousHosts
223
                                    - OmitHostsWithTags
224
                                    - OmitPreviousPriorities
225
                                    type: string
226
                                  tags:
227
                                    additionalProperties:
228
                                      type: string
229
                                    description: |-
230
                                      Tags is a map of metadata to match against for selecting the omitted hosts. Required if Type is
231
                                      OmitHostsWithTags
232
                                    type: object
233
                                  updateFrequency:
234
                                    default: 2
235
                                    description: |-
236
                                      UpdateFrequency is how often the priority load should be updated based on previously attempted priorities.
237
                                      Used for OmitPreviousPriorities.
238
                                    format: int32
239
                                    type: integer
240
                                required:
241
                                - predicate
242
                                type: object
243
                              type: array
244
                            hostSelectionMaxAttempts:
245
                              description: |-
246
                                HostSelectionMaxAttempts is the maximum number of times host selection will be
247
                                reattempted before giving up, at which point the host that was last selected will
248
                                be routed to. If unspecified, this will default to retrying once.
249
                              format: int64
250
                              type: integer
251
                            numRetries:
252
                              description: |-
253
                                NumRetries is the number of attempts that will be made on failed (and
254
                                retriable) requests.  If not set, the default value is 1.
255
                              format: int32
256
                              type: integer
257
                            perTryTimeout:
258
                              description: |-
259
                                PerTryTimeout is the amount of time after which retry attempt should time out.
260
                                If left unspecified, the global route timeout for the request will be used.
261
                                Consequently, when using a 5xx based retry policy, a request that times out
262
                                will not be retried as the total timeout budget would have been exhausted.
263
                                Setting this timeout to 0 will disable it.
264
                              type: string
265
                            rateLimitedBackOff:
266
                              description: |-
267
                                RateLimitedBackOff is a configuration of backoff which will be used
268
                                when the upstream returns one of the headers configured.
269
                              properties:
270
                                maxInterval:
271
                                  default: 300s
272
                                  description: MaxInterval is a maximal amount of
273
                                    time which will be taken between retries.
274
                                  type: string
275
                                resetHeaders:
276
                                  description: |-
277
                                    ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset)
278
                                    to match against the response. Headers are tried in order, and matched
279
                                    case-insensitive. The first header to be parsed successfully is used.
280
                                    If no headers match the default exponential BackOff is used instead.
281
                                  items:
282
                                    properties:
283
                                      format:
284
                                        description: The format of the reset header.
285
                                        enum:
286
                                        - Seconds
287
                                        - UnixTimestamp
288
                                        type: string
289
                                      name:
290
                                        description: The Name of the reset header.
291
                                        maxLength: 256
292
                                        minLength: 1
293
                                        pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
294
                                        type: string
295
                                    required:
296
                                    - format
297
                                    - name
298
                                    type: object
299
                                  type: array
300
                              type: object
301
                            retriableRequestHeaders:
302
                              description: |-
303
                                RetriableRequestHeaders is an HTTP headers which must be present in the request
304
                                for retries to be attempted.
305
                              items:
306
                                description: |-
307
                                  HeaderMatch describes how to select an HTTP route by matching HTTP request
308
                                  headers.
309
                                properties:
310
                                  name:
311
                                    description: |-
312
                                      Name is the name of the HTTP Header to be matched. Name MUST be lower case
313
                                      as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2).
314
                                    maxLength: 256
315
                                    minLength: 1
316
                                    pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
317
                                    type: string
318
                                  type:
319
                                    default: Exact
320
                                    description: Type specifies how to match against
321
                                      the value of the header.
322
                                    enum:
323
                                    - Exact
324
                                    - Present
325
                                    - RegularExpression
326
                                    - Absent
327
                                    - Prefix
328
                                    type: string
329
                                  value:
330
                                    description: Value is the value of HTTP Header
331
                                      to be matched.
332
                                    type: string
333
                                required:
334
                                - name
335
                                type: object
336
                              type: array
337
                            retriableResponseHeaders:
338
                              description: |-
339
                                RetriableResponseHeaders is an HTTP response headers that trigger a retry
340
                                if present in the response. A retry will be triggered if any of the header
341
                                matches the upstream response headers.
342
                              items:
343
                                description: |-
344
                                  HeaderMatch describes how to select an HTTP route by matching HTTP request
345
                                  headers.
346
                                properties:
347
                                  name:
348
                                    description: |-
349
                                      Name is the name of the HTTP Header to be matched. Name MUST be lower case
350
                                      as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2).
351
                                    maxLength: 256
352
                                    minLength: 1
353
                                    pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
354
                                    type: string
355
                                  type:
356
                                    default: Exact
357
                                    description: Type specifies how to match against
358
                                      the value of the header.
359
                                    enum:
360
                                    - Exact
361
                                    - Present
362
                                    - RegularExpression
363
                                    - Absent
364
                                    - Prefix
365
                                    type: string
366
                                  value:
367
                                    description: Value is the value of HTTP Header
368
                                      to be matched.
369
                                    type: string
370
                                required:
371
                                - name
372
                                type: object
373
                              type: array
374
                            retryOn:
375
                              description: |-
376
                                RetryOn is a list of conditions which will cause a retry. Available values are:
377
                                [5XX, GatewayError, Reset, Retriable4xx, ConnectFailure, EnvoyRatelimited,
378
                                RefusedStream, Http3PostConnectFailure, HttpMethodConnect, HttpMethodDelete,
379
                                HttpMethodGet, HttpMethodHead, HttpMethodOptions, HttpMethodPatch,
380
                                HttpMethodPost, HttpMethodPut, HttpMethodTrace].
381
                                Also, any HTTP status code (500, 503, etc.).
382
                              example:
383
                              - 5XX
384
                              - GatewayError
385
                              - Reset
386
                              - Retriable4xx
387
                              - ConnectFailure
388
                              - EnvoyRatelimited
389
                              - RefusedStream
390
                              - Http3PostConnectFailure
391
                              - HttpMethodConnect
392
                              - HttpMethodDelete
393
                              - HttpMethodGet
394
                              - HttpMethodHead
395
                              - HttpMethodOptions
396
                              - HttpMethodPatch
397
                              - HttpMethodPost
398
                              - HttpMethodPut
399
                              - HttpMethodTrace
400
                              - "500"
401
                              - "503"
402
                              items:
403
                                type: string
404
                              type: array
405
                          type: object
406
                        tcp:
407
                          description: TCP defines a configuration of retries for
408
                            TCP traffic
409
                          properties:
410
                            maxConnectAttempt:
411
                              description: |-
412
                                MaxConnectAttempt is a maximal amount of TCP connection attempts
413
                                which will be made before giving up
414
                              format: int32
415
                              type: integer
416
                          type: object
417
                      type: object
418
                    targetRef:
419
                      description: |-
420
                        TargetRef is a reference to the resource that represents a group of
421
                        destinations.
422
                      properties:
423
                        kind:
424
                          description: Kind of the referenced resource
425
                          enum:
426
                          - Mesh
427
                          - MeshSubset
428
                          - MeshGateway
429
                          - MeshService
430
                          - MeshServiceSubset
431
                          - MeshHTTPRoute
432
                          type: string
433
                        mesh:
434
                          description: Mesh is reserved for future use to identify
435
                            cross mesh resources.
436
                          type: string
437
                        name:
438
                          description: |-
439
                            Name of the referenced resource. Can only be used with kinds: `MeshService`,
440
                            `MeshServiceSubset` and `MeshGatewayRoute`
441
                          type: string
442
                        proxyTypes:
443
                          description: |-
444
                            ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
445
                            all data plane types are targeted by the policy.
446
                          items:
447
                            enum:
448
                            - Sidecar
449
                            - Gateway
450
                            type: string
451
                          minItems: 1
452
                          type: array
453
                        tags:
454
                          additionalProperties:
455
                            type: string
456
                          description: |-
457
                            Tags used to select a subset of proxies by tags. Can only be used with kinds
458
                            `MeshSubset` and `MeshServiceSubset`
459
                          type: object
460
                      type: object
461
                  required:
462
                  - targetRef
463
                  type: object
464
                type: array
465
            required:
466
            - targetRef
467
            type: object
468
        type: object
469
    served: true
470
    storage: true
471
    subresources: {}
472

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.