kuma

Форк
0
/
kuma.io_meshhttproutes.yaml 
579 строк · 30.6 Кб
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: meshhttproutes.kuma.io
8
spec:
9
  group: kuma.io
10
  names:
11
    categories:
12
    - kuma
13
    kind: MeshHTTPRoute
14
    listKind: MeshHTTPRouteList
15
    plural: meshhttproutes
16
    singular: meshhttproute
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 MeshHTTPRoute 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 matches destination services of requests and holds
96
                  configuration.
97
                items:
98
                  properties:
99
                    hostnames:
100
                      description: |-
101
                        Hostnames is only valid when targeting MeshGateway and limits the
102
                        effects of the rules to requests to this hostname.
103
                        Given hostnames must intersect with the hostname of the listeners the
104
                        route attaches to.
105
                      items:
106
                        type: string
107
                      type: array
108
                    rules:
109
                      description: |-
110
                        Rules contains the routing rules applies to a combination of top-level
111
                        targetRef and the targetRef in this entry.
112
                      items:
113
                        properties:
114
                          default:
115
                            description: |-
116
                              Default holds routing rules that can be merged with rules from other
117
                              policies.
118
                            properties:
119
                              backendRefs:
120
                                items:
121
                                  description: BackendRef defines where to forward
122
                                    traffic.
123
                                  properties:
124
                                    kind:
125
                                      description: Kind of the referenced resource
126
                                      enum:
127
                                      - Mesh
128
                                      - MeshSubset
129
                                      - MeshGateway
130
                                      - MeshService
131
                                      - MeshServiceSubset
132
                                      - MeshHTTPRoute
133
                                      type: string
134
                                    mesh:
135
                                      description: Mesh is reserved for future use
136
                                        to identify cross mesh resources.
137
                                      type: string
138
                                    name:
139
                                      description: |-
140
                                        Name of the referenced resource. Can only be used with kinds: `MeshService`,
141
                                        `MeshServiceSubset` and `MeshGatewayRoute`
142
                                      type: string
143
                                    proxyTypes:
144
                                      description: |-
145
                                        ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
146
                                        all data plane types are targeted by the policy.
147
                                      items:
148
                                        enum:
149
                                        - Sidecar
150
                                        - Gateway
151
                                        type: string
152
                                      minItems: 1
153
                                      type: array
154
                                    tags:
155
                                      additionalProperties:
156
                                        type: string
157
                                      description: |-
158
                                        Tags used to select a subset of proxies by tags. Can only be used with kinds
159
                                        `MeshSubset` and `MeshServiceSubset`
160
                                      type: object
161
                                    weight:
162
                                      default: 1
163
                                      minimum: 0
164
                                      type: integer
165
                                  type: object
166
                                type: array
167
                              filters:
168
                                items:
169
                                  properties:
170
                                    requestHeaderModifier:
171
                                      description: |-
172
                                        Only one action is supported per header name.
173
                                        Configuration to set or add multiple values for a header must use RFC 7230
174
                                        header value formatting, separating each value with a comma.
175
                                      properties:
176
                                        add:
177
                                          items:
178
                                            properties:
179
                                              name:
180
                                                maxLength: 256
181
                                                minLength: 1
182
                                                pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
183
                                                type: string
184
                                              value:
185
                                                type: string
186
                                            required:
187
                                            - name
188
                                            - value
189
                                            type: object
190
                                          maxItems: 16
191
                                          type: array
192
                                          x-kubernetes-list-map-keys:
193
                                          - name
194
                                          x-kubernetes-list-type: map
195
                                        remove:
196
                                          items:
197
                                            type: string
198
                                          maxItems: 16
199
                                          type: array
200
                                        set:
201
                                          items:
202
                                            properties:
203
                                              name:
204
                                                maxLength: 256
205
                                                minLength: 1
206
                                                pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
207
                                                type: string
208
                                              value:
209
                                                type: string
210
                                            required:
211
                                            - name
212
                                            - value
213
                                            type: object
214
                                          maxItems: 16
215
                                          type: array
216
                                          x-kubernetes-list-map-keys:
217
                                          - name
218
                                          x-kubernetes-list-type: map
219
                                      type: object
220
                                    requestMirror:
221
                                      properties:
222
                                        backendRef:
223
                                          description: TargetRef defines structure
224
                                            that allows attaching policy to various
225
                                            objects
226
                                          properties:
227
                                            kind:
228
                                              description: Kind of the referenced
229
                                                resource
230
                                              enum:
231
                                              - Mesh
232
                                              - MeshSubset
233
                                              - MeshGateway
234
                                              - MeshService
235
                                              - MeshServiceSubset
236
                                              - MeshHTTPRoute
237
                                              type: string
238
                                            mesh:
239
                                              description: Mesh is reserved for future
240
                                                use to identify cross mesh resources.
241
                                              type: string
242
                                            name:
243
                                              description: |-
244
                                                Name of the referenced resource. Can only be used with kinds: `MeshService`,
245
                                                `MeshServiceSubset` and `MeshGatewayRoute`
246
                                              type: string
247
                                            proxyTypes:
248
                                              description: |-
249
                                                ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
250
                                                all data plane types are targeted by the policy.
251
                                              items:
252
                                                enum:
253
                                                - Sidecar
254
                                                - Gateway
255
                                                type: string
256
                                              minItems: 1
257
                                              type: array
258
                                            tags:
259
                                              additionalProperties:
260
                                                type: string
261
                                              description: |-
262
                                                Tags used to select a subset of proxies by tags. Can only be used with kinds
263
                                                `MeshSubset` and `MeshServiceSubset`
264
                                              type: object
265
                                          type: object
266
                                        percentage:
267
                                          anyOf:
268
                                          - type: integer
269
                                          - type: string
270
                                          description: |-
271
                                            Percentage of requests to mirror. If not specified, all requests
272
                                            to the target cluster will be mirrored.
273
                                          x-kubernetes-int-or-string: true
274
                                      required:
275
                                      - backendRef
276
                                      type: object
277
                                    requestRedirect:
278
                                      properties:
279
                                        hostname:
280
                                          description: |-
281
                                            PreciseHostname is the fully qualified domain name of a network host. This
282
                                            matches the RFC 1123 definition of a hostname with 1 notable exception that
283
                                            numeric IP addresses are not allowed.
284

285

286
                                            Note that as per RFC1035 and RFC1123, a *label* must consist of lower case
287
                                            alphanumeric characters or '-', and must start and end with an alphanumeric
288
                                            character. No other punctuation is allowed.
289
                                          maxLength: 253
290
                                          minLength: 1
291
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
292
                                          type: string
293
                                        path:
294
                                          description: |-
295
                                            Path defines parameters used to modify the path of the incoming request.
296
                                            The modified path is then used to construct the location header.
297
                                            When empty, the request path is used as-is.
298
                                          properties:
299
                                            replaceFullPath:
300
                                              type: string
301
                                            replacePrefixMatch:
302
                                              type: string
303
                                            type:
304
                                              enum:
305
                                              - ReplaceFullPath
306
                                              - ReplacePrefixMatch
307
                                              type: string
308
                                          required:
309
                                          - type
310
                                          type: object
311
                                        port:
312
                                          description: |-
313
                                            Port is the port to be used in the value of the `Location`
314
                                            header in the response.
315
                                            When empty, port (if specified) of the request is used.
316
                                          format: int32
317
                                          maximum: 65535
318
                                          minimum: 1
319
                                          type: integer
320
                                        scheme:
321
                                          enum:
322
                                          - http
323
                                          - https
324
                                          type: string
325
                                        statusCode:
326
                                          default: 302
327
                                          description: StatusCode is the HTTP status
328
                                            code to be used in response.
329
                                          enum:
330
                                          - 301
331
                                          - 302
332
                                          - 303
333
                                          - 307
334
                                          - 308
335
                                          type: integer
336
                                      type: object
337
                                    responseHeaderModifier:
338
                                      description: |-
339
                                        Only one action is supported per header name.
340
                                        Configuration to set or add multiple values for a header must use RFC 7230
341
                                        header value formatting, separating each value with a comma.
342
                                      properties:
343
                                        add:
344
                                          items:
345
                                            properties:
346
                                              name:
347
                                                maxLength: 256
348
                                                minLength: 1
349
                                                pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
350
                                                type: string
351
                                              value:
352
                                                type: string
353
                                            required:
354
                                            - name
355
                                            - value
356
                                            type: object
357
                                          maxItems: 16
358
                                          type: array
359
                                          x-kubernetes-list-map-keys:
360
                                          - name
361
                                          x-kubernetes-list-type: map
362
                                        remove:
363
                                          items:
364
                                            type: string
365
                                          maxItems: 16
366
                                          type: array
367
                                        set:
368
                                          items:
369
                                            properties:
370
                                              name:
371
                                                maxLength: 256
372
                                                minLength: 1
373
                                                pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
374
                                                type: string
375
                                              value:
376
                                                type: string
377
                                            required:
378
                                            - name
379
                                            - value
380
                                            type: object
381
                                          maxItems: 16
382
                                          type: array
383
                                          x-kubernetes-list-map-keys:
384
                                          - name
385
                                          x-kubernetes-list-type: map
386
                                      type: object
387
                                    type:
388
                                      enum:
389
                                      - RequestHeaderModifier
390
                                      - ResponseHeaderModifier
391
                                      - RequestRedirect
392
                                      - URLRewrite
393
                                      - RequestMirror
394
                                      type: string
395
                                    urlRewrite:
396
                                      properties:
397
                                        hostToBackendHostname:
398
                                          description: |-
399
                                            HostToBackendHostname rewrites the hostname to the hostname of the
400
                                            upstream host. This option is only available when targeting MeshGateways.
401
                                          type: boolean
402
                                        hostname:
403
                                          description: Hostname is the value to be
404
                                            used to replace the host header value
405
                                            during forwarding.
406
                                          maxLength: 253
407
                                          minLength: 1
408
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
409
                                          type: string
410
                                        path:
411
                                          description: Path defines a path rewrite.
412
                                          properties:
413
                                            replaceFullPath:
414
                                              type: string
415
                                            replacePrefixMatch:
416
                                              type: string
417
                                            type:
418
                                              enum:
419
                                              - ReplaceFullPath
420
                                              - ReplacePrefixMatch
421
                                              type: string
422
                                          required:
423
                                          - type
424
                                          type: object
425
                                      type: object
426
                                  required:
427
                                  - type
428
                                  type: object
429
                                type: array
430
                            type: object
431
                          matches:
432
                            description: |-
433
                              Matches describes how to match HTTP requests this rule should be applied
434
                              to.
435
                            items:
436
                              properties:
437
                                headers:
438
                                  items:
439
                                    description: |-
440
                                      HeaderMatch describes how to select an HTTP route by matching HTTP request
441
                                      headers.
442
                                    properties:
443
                                      name:
444
                                        description: |-
445
                                          Name is the name of the HTTP Header to be matched. Name MUST be lower case
446
                                          as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2).
447
                                        maxLength: 256
448
                                        minLength: 1
449
                                        pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
450
                                        type: string
451
                                      type:
452
                                        default: Exact
453
                                        description: Type specifies how to match against
454
                                          the value of the header.
455
                                        enum:
456
                                        - Exact
457
                                        - Present
458
                                        - RegularExpression
459
                                        - Absent
460
                                        - Prefix
461
                                        type: string
462
                                      value:
463
                                        description: Value is the value of HTTP Header
464
                                          to be matched.
465
                                        type: string
466
                                    required:
467
                                    - name
468
                                    type: object
469
                                  type: array
470
                                method:
471
                                  enum:
472
                                  - CONNECT
473
                                  - DELETE
474
                                  - GET
475
                                  - HEAD
476
                                  - OPTIONS
477
                                  - PATCH
478
                                  - POST
479
                                  - PUT
480
                                  - TRACE
481
                                  type: string
482
                                path:
483
                                  properties:
484
                                    type:
485
                                      enum:
486
                                      - Exact
487
                                      - PathPrefix
488
                                      - RegularExpression
489
                                      type: string
490
                                    value:
491
                                      description: |-
492
                                        Exact or prefix matches must be an absolute path. A prefix matches only
493
                                        if separated by a slash or the entire path.
494
                                      minLength: 1
495
                                      type: string
496
                                  required:
497
                                  - type
498
                                  - value
499
                                  type: object
500
                                queryParams:
501
                                  description: |-
502
                                    QueryParams matches based on HTTP URL query parameters. Multiple matches
503
                                    are ANDed together such that all listed matches must succeed.
504
                                  items:
505
                                    properties:
506
                                      name:
507
                                        minLength: 1
508
                                        type: string
509
                                      type:
510
                                        enum:
511
                                        - Exact
512
                                        - RegularExpression
513
                                        type: string
514
                                      value:
515
                                        type: string
516
                                    required:
517
                                    - name
518
                                    - type
519
                                    - value
520
                                    type: object
521
                                  type: array
522
                              type: object
523
                            minItems: 1
524
                            type: array
525
                        required:
526
                        - default
527
                        - matches
528
                        type: object
529
                      type: array
530
                    targetRef:
531
                      description: |-
532
                        TargetRef is a reference to the resource that represents a group of
533
                        request destinations.
534
                      properties:
535
                        kind:
536
                          description: Kind of the referenced resource
537
                          enum:
538
                          - Mesh
539
                          - MeshSubset
540
                          - MeshGateway
541
                          - MeshService
542
                          - MeshServiceSubset
543
                          - MeshHTTPRoute
544
                          type: string
545
                        mesh:
546
                          description: Mesh is reserved for future use to identify
547
                            cross mesh resources.
548
                          type: string
549
                        name:
550
                          description: |-
551
                            Name of the referenced resource. Can only be used with kinds: `MeshService`,
552
                            `MeshServiceSubset` and `MeshGatewayRoute`
553
                          type: string
554
                        proxyTypes:
555
                          description: |-
556
                            ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
557
                            all data plane types are targeted by the policy.
558
                          items:
559
                            enum:
560
                            - Sidecar
561
                            - Gateway
562
                            type: string
563
                          minItems: 1
564
                          type: array
565
                        tags:
566
                          additionalProperties:
567
                            type: string
568
                          description: |-
569
                            Tags used to select a subset of proxies by tags. Can only be used with kinds
570
                            `MeshSubset` and `MeshServiceSubset`
571
                          type: object
572
                      type: object
573
                  type: object
574
                type: array
575
            type: object
576
        type: object
577
    served: true
578
    storage: true
579
    subresources: {}
580

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

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

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

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