2
apiVersion: apiextensions.k8s.io/v1
3
kind: CustomResourceDefinition
6
controller-gen.kubebuilder.io/version: v0.14.0
7
name: meshhttproutes.kuma.io
14
listKind: MeshHTTPRouteList
15
plural: meshhttproutes
16
singular: meshhttproute
19
- additionalPrinterColumns:
20
- jsonPath: .spec.targetRef.kind
23
- jsonPath: .spec.targetRef.name
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
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.
43
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
48
description: Spec is the specification of the Kuma MeshHTTPRoute resource.
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
57
description: Kind of the referenced resource
67
description: Mesh is reserved for future use to identify cross
72
Name of the referenced resource. Can only be used with kinds: `MeshService`,
73
`MeshServiceSubset` and `MeshGatewayRoute`
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.
90
Tags used to select a subset of proxies by tags. Can only be used with kinds
91
`MeshSubset` and `MeshServiceSubset`
95
description: To matches destination services of requests and holds
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
110
Rules contains the routing rules applies to a combination of top-level
111
targetRef and the targetRef in this entry.
116
Default holds routing rules that can be merged with rules from other
121
description: BackendRef defines where to forward
125
description: Kind of the referenced resource
135
description: Mesh is reserved for future use
136
to identify cross mesh resources.
140
Name of the referenced resource. Can only be used with kinds: `MeshService`,
141
`MeshServiceSubset` and `MeshGatewayRoute`
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.
155
additionalProperties:
158
Tags used to select a subset of proxies by tags. Can only be used with kinds
159
`MeshSubset` and `MeshServiceSubset`
170
requestHeaderModifier:
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.
182
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
192
x-kubernetes-list-map-keys:
194
x-kubernetes-list-type: map
206
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
216
x-kubernetes-list-map-keys:
218
x-kubernetes-list-type: map
223
description: TargetRef defines structure
224
that allows attaching policy to various
228
description: Kind of the referenced
239
description: Mesh is reserved for future
240
use to identify cross mesh resources.
244
Name of the referenced resource. Can only be used with kinds: `MeshService`,
245
`MeshServiceSubset` and `MeshGatewayRoute`
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.
259
additionalProperties:
262
Tags used to select a subset of proxies by tags. Can only be used with kinds
263
`MeshSubset` and `MeshServiceSubset`
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
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.
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.
291
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
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.
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.
327
description: StatusCode is the HTTP status
328
code to be used in response.
337
responseHeaderModifier:
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.
349
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
359
x-kubernetes-list-map-keys:
361
x-kubernetes-list-type: map
373
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
383
x-kubernetes-list-map-keys:
385
x-kubernetes-list-type: map
389
- RequestHeaderModifier
390
- ResponseHeaderModifier
397
hostToBackendHostname:
399
HostToBackendHostname rewrites the hostname to the hostname of the
400
upstream host. This option is only available when targeting MeshGateways.
403
description: Hostname is the value to be
404
used to replace the host header value
408
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
411
description: Path defines a path rewrite.
433
Matches describes how to match HTTP requests this rule should be applied
440
HeaderMatch describes how to select an HTTP route by matching HTTP request
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).
449
pattern: ^[a-z0-9!#$%&'*+\-.^_\x60|~]+$
453
description: Type specifies how to match against
454
the value of the header.
463
description: Value is the value of HTTP Header
492
Exact or prefix matches must be an absolute path. A prefix matches only
493
if separated by a slash or the entire path.
502
QueryParams matches based on HTTP URL query parameters. Multiple matches
503
are ANDed together such that all listed matches must succeed.
532
TargetRef is a reference to the resource that represents a group of
533
request destinations.
536
description: Kind of the referenced resource
546
description: Mesh is reserved for future use to identify
547
cross mesh resources.
551
Name of the referenced resource. Can only be used with kinds: `MeshService`,
552
`MeshServiceSubset` and `MeshGatewayRoute`
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.
566
additionalProperties:
569
Tags used to select a subset of proxies by tags. Can only be used with kinds
570
`MeshSubset` and `MeshServiceSubset`