apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.13.0 name: meshhttproutes.kuma.io spec: group: kuma.io names: categories: - kuma kind: MeshHTTPRoute listKind: MeshHTTPRouteList plural: meshhttproutes singular: meshhttproute scope: Namespaced versions:
- additionalPrinterColumns:
- jsonPath: .spec.targetRef.kind name: TargetRef Kind type: string
- jsonPath: .spec.targetRef.name
name: TargetRef Name
type: string
name: v1alpha1
schema:
openAPIV3Schema:
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: Spec is the specification of the Kuma MeshHTTPRoute resource.
properties:
targetRef:
description: TargetRef is a reference to the resource the policy takes
an effect on. The resource could be either a real store object or
virtual resource defined inplace.
properties:
kind:
description: Kind of the referenced resource
enum:
- Mesh
- MeshSubset
- MeshGateway
- MeshService
- MeshServiceSubset
- MeshHTTPRoute
type: string
mesh:
description: Mesh is reserved for future use to identify cross
mesh resources.
type: string
name:
description: ‘Name of the referenced resource. Can only be used
with kinds:
MeshService
,MeshServiceSubset
andMeshGatewayRoute
’ type: string tags: additionalProperties: type: string description: Tags used to select a subset of proxies by tags. Can only be used with kindsMeshSubset
andMeshServiceSubset
type: object type: object to: description: To matches destination services of requests and holds configuration. items: properties: rules: description: Rules contains the routing rules applies to a combination of top-level targetRef and the targetRef in this entry. items: properties: default: description: Default holds routing rules that can be merged with rules from other policies. properties: backendRefs: items: description: BackendRef defines where to forward traffic. properties: kind: description: Kind of the referenced resource enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshServiceSubset - MeshHTTPRoute type: string mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string name: description: ‘Name of the referenced resource. Can only be used with kinds:MeshService
,MeshServiceSubset
andMeshGatewayRoute
’ type: string tags: additionalProperties: type: string description: Tags used to select a subset of proxies by tags. Can only be used with kindsMeshSubset
andMeshServiceSubset
type: object weight: default: 1 minimum: 0 type: integer type: object type: array filters: items: properties: requestHeaderModifier: description: Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. properties: add: items: properties: name: maxLength: 256 minLength: 1 pattern: ^[a-z0-9!#$%&’+-.^_\x60|~]+$ type: string value: type: string required: - name - value type: object maxItems: 16 type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map remove: items: type: string maxItems: 16 type: array set: items: properties: name: maxLength: 256 minLength: 1 pattern: ^[a-z0-9!#$%&’+-.^\x60|~]+$ type: string value: type: string required: - name - value type: object maxItems: 16 type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map type: object requestMirror: properties: backendRef: description: TargetRef defines structure that allows attaching policy to various objects properties: kind: description: Kind of the referenced resource enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshServiceSubset - MeshHTTPRoute type: string mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string name: description: ‘Name of the referenced resource. Can only be used with kinds:MeshService
,MeshServiceSubset
andMeshGatewayRoute
’ type: string tags: additionalProperties: type: string description: Tags used to select a subset of proxies by tags. Can only be used with kindsMeshSubset
andMeshServiceSubset
type: object type: object percentage: anyOf: - type: integer - type: string description: Percentage of requests to mirror. If not specified, all requests to the target cluster will be mirrored. x-kubernetes-int-or-string: true required: - backendRef type: object requestRedirect: properties: hostname: description: “PreciseHostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 1 notable exception that numeric IP addresses are not allowed. \n Note that as per RFC1035 and RFC1123, a *label* must consist of lower case alphanumeric characters or ‘-‘, and must start and end with an alphanumeric character. No other punctuation is allowed.” maxLength: 253 minLength: 1 pattern: ^a-z0-9?(.a-z0-9?)*$ type: string path: description: Path defines parameters used to modify the path of the incoming request. The modified path is then used to construct the location header. When empty, the request path is used as-is. properties: replaceFullPath: type: string replacePrefixMatch: type: string type: enum: - ReplaceFullPath - ReplacePrefixMatch type: string required: - type type: object port: description: Port is the port to be used in the value of theLocation
header in the response. When empty, port (if specified) of the request is used. format: int32 maximum: 65535 minimum: 1 type: integer scheme: enum: - http - https type: string statusCode: default: 302 description: StatusCode is the HTTP status code to be used in response. enum: - 301 - 302 - 303 - 307 - 308 type: integer type: object responseHeaderModifier: description: Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. properties: add: items: properties: name: maxLength: 256 minLength: 1 pattern: ^[a-z0-9!#$%&’*+-.^\x60|~]+$ type: string value: type: string required: - name - value type: object maxItems: 16 type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map remove: items: type: string maxItems: 16 type: array set: items: properties: name: maxLength: 256 minLength: 1 pattern: ^[a-z0-9!#$%&’+-.^_\x60|~]+$ type: string value: type: string required: - name - value type: object maxItems: 16 type: array x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map type: object type: enum: - RequestHeaderModifier - ResponseHeaderModifier - RequestRedirect - URLRewrite - RequestMirror type: string urlRewrite: properties: hostname: description: Hostname is the value to be used to replace the host header value during forwarding. maxLength: 253 minLength: 1 pattern: ^a-z0-9?(.a-z0-9?)$ type: string path: description: Path defines a path rewrite. properties: replaceFullPath: type: string replacePrefixMatch: type: string type: enum: - ReplaceFullPath - ReplacePrefixMatch type: string required: - type type: object type: object required: - type type: object type: array type: object matches: description: Matches describes how to match HTTP requests this rule should be applied to. items: properties: headers: items: description: HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). maxLength: 256 minLength: 1 pattern: ^[a-z0-9!#$%&’*+-.^_\x60|~]+$ type: string type: default: Exact description: Type specifies how to match against the value of the header. enum: - Exact - Present - RegularExpression - Absent - Prefix type: string value: description: Value is the value of HTTP Header to be matched. type: string required: - name type: object type: array method: enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE type: string path: properties: type: enum: - Exact - PathPrefix - RegularExpression type: string value: description: Exact or prefix matches must be an absolute path. A prefix matches only if separated by a slash or the entire path. minLength: 1 type: string required: - type - value type: object queryParams: description: QueryParams matches based on HTTP URL query parameters. Multiple matches are ANDed together such that all listed matches must succeed. items: properties: name: minLength: 1 type: string type: enum: - Exact - RegularExpression type: string value: type: string required: - name - type - value type: object type: array type: object minItems: 1 type: array required: - default - matches type: object type: array targetRef: description: TargetRef is a reference to the resource that represents a group of request destinations. properties: kind: description: Kind of the referenced resource enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshServiceSubset - MeshHTTPRoute type: string mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string name: description: ‘Name of the referenced resource. Can only be used with kinds:MeshService
,MeshServiceSubset
andMeshGatewayRoute
’ type: string tags: additionalProperties: type: string description: Tags used to select a subset of proxies by tags. Can only be used with kindsMeshSubset
andMeshServiceSubset
type: object type: object type: object type: array type: object type: object served: true storage: true subresources: {}