networking.istio.io / v1alpha3 / VirtualService
- object
.spec
Configuration affecting label/content routing, sni routing, etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html
- array
.spec .exportTo
A list of namespaces to which this virtual service is exported.
- array
.spec .gateways
The names of gateways and sidecars that should apply these routes.
- array
.spec .hosts
The destination hosts to which traffic is being sent.
- array
.spec .http
An ordered list of route rules for HTTP traffic.
- object
.spec .http[] .corsPolicy
Cross-Origin Resource Sharing policy (CORS).
- boolean | null
.spec .http[] .corsPolicy .allowCredentials
Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials.
- array
.spec .http[] .corsPolicy .allowHeaders
List of HTTP headers that can be used when requesting the resource.
- array
.spec .http[] .corsPolicy .allowMethods
List of HTTP methods allowed to access the resource.
- array
.spec .http[] .corsPolicy .allowOrigin
- array
.spec .http[] .corsPolicy .allowOrigins
String patterns that match allowed origins.
- string
.spec .http[] .corsPolicy .allowOrigins[] .exact
- string
.spec .http[] .corsPolicy .allowOrigins[] .prefix
- string
.spec .http[] .corsPolicy .allowOrigins[] .regex
- array
.spec .http[] .corsPolicy .exposeHeaders
A list of HTTP headers that the browsers are allowed to access.
- string
.spec .http[] .corsPolicy .maxAge
Specifies how long the results of a preflight request can be cached.
- string
.spec .http[] .corsPolicy .unmatchedPreflights
Indicates whether preflight requests not matching the configured allowed origin shouldn’t be forwarded to the upstream.
Valid Options: FORWARD, IGNORE
- object
.spec .http[] .delegate
Delegate is used to specify the particular VirtualService which can be used to define delegate HTTPRoute.
- string
.spec .http[] .delegate .name
Name specifies the name of the delegate VirtualService.
- string
.spec .http[] .delegate .namespace
Namespace specifies the namespace where the delegate VirtualService resides.
- object
.spec .http[] .directResponse
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
- object
.spec .http[] .directResponse .body
Specifies the content of the response body.
- string
.spec .http[] .directResponse .body .bytes
response body as base64 encoded bytes.
- string
.spec .http[] .directResponse .body .string
- integer required
.spec .http[] .directResponse .status
Specifies the HTTP response status to be returned.
- object
.spec .http[] .fault
Fault injection policy to apply on HTTP traffic at the client side.
- object
.spec .http[] .fault .abort
Abort Http request attempts and return error codes back to downstream service, giving the impression that the upstream service is faulty.
- string
.spec .http[] .fault .abort .grpcStatus
GRPC status code to use to abort the request.
- string
.spec .http[] .fault .abort .http2Error
- integer
.spec .http[] .fault .abort .httpStatus
HTTP status code to use to abort the Http request.
- object
.spec .http[] .fault .abort .percentage
Percentage of requests to be aborted with the error code provided.
- number
.spec .http[] .fault .abort .percentage .value
- object
.spec .http[] .fault .delay
Delay requests before forwarding, emulating various failures such as network issues, overloaded upstream service, etc.
- string
.spec .http[] .fault .delay .exponentialDelay
- string
.spec .http[] .fault .delay .fixedDelay
Add a fixed delay before forwarding the request.
- integer
.spec .http[] .fault .delay .percent
Percentage of requests on which the delay will be injected (0-100).
- object
.spec .http[] .fault .delay .percentage
Percentage of requests on which the delay will be injected.
- number
.spec .http[] .fault .delay .percentage .value
- object
.spec .http[] .headers
- object
.spec .http[] .headers .request
- object
.spec .http[] .headers .request .add
- array
.spec .http[] .headers .request .remove
- object
.spec .http[] .headers .request .set
- object
.spec .http[] .headers .response
- object
.spec .http[] .headers .response .add
- array
.spec .http[] .headers .response .remove
- object
.spec .http[] .headers .response .set
- array
.spec .http[] .match
Match conditions to be satisfied for the rule to be activated.
- array
.spec .http[] .match[] .gateways
Names of gateways where the rule should be applied.
- object
.spec .http[] .match[] .headers
The header keys must be lowercase and use hyphen as the separator, e.g.
- boolean
.spec .http[] .match[] .ignoreUriCase
Flag to specify whether the URI matching should be case-insensitive.
- object
.spec .http[] .match[] .method
HTTP Method values are case-sensitive and formatted as follows: -
exact: "value"
for exact string match -prefix: "value"
for prefix-based match -regex: "value"
for RE2 style regex-based match. - string
.spec .http[] .match[] .method .exact
- string
.spec .http[] .match[] .method .prefix
- string
.spec .http[] .match[] .method .regex
- string
.spec .http[] .match[] .name
The name assigned to a match.
- integer
.spec .http[] .match[] .port
Specifies the ports on the host that is being addressed.
- object
.spec .http[] .match[] .queryParams
Query parameters for matching.
- object
.spec .http[] .match[] .scheme
URI Scheme values are case-sensitive and formatted as follows: -
exact: "value"
for exact string match -prefix: "value"
for prefix-based match -regex: "value"
for RE2 style regex-based match. - string
.spec .http[] .match[] .scheme .exact
- string
.spec .http[] .match[] .scheme .prefix
- string
.spec .http[] .match[] .scheme .regex
- object
.spec .http[] .match[] .sourceLabels
One or more labels that constrain the applicability of a rule to source (client) workloads with the given labels.
- string
.spec .http[] .match[] .sourceNamespace
Source namespace constraining the applicability of a rule to workloads in that namespace.
- string
.spec .http[] .match[] .statPrefix
The human readable prefix to use when emitting statistics for this route.
- object
.spec .http[] .match[] .uri
URI to match values are case-sensitive and formatted as follows: -
exact: "value"
for exact string match -prefix: "value"
for prefix-based match -regex: "value"
for RE2 style regex-based match. - string
.spec .http[] .match[] .uri .exact
- string
.spec .http[] .match[] .uri .prefix
- string
.spec .http[] .match[] .uri .regex
- object
.spec .http[] .match[] .withoutHeaders
withoutHeader has the same syntax with the header, but has opposite meaning.
- object
.spec .http[] .mirror
Mirror HTTP traffic to a another destination in addition to forwarding the requests to the intended destination.
- string required
.spec .http[] .mirror .host
The name of a service from the service registry.
- object
.spec .http[] .mirror .port
Specifies the port on the host that is being addressed.
- integer
.spec .http[] .mirror .port .number
- string
.spec .http[] .mirror .subset
The name of a subset within the service.
- integer | null
.spec .http[] .mirror_percent
- integer | null
.spec .http[] .mirrorPercent
- object
.spec .http[] .mirrorPercentage
Percentage of the traffic to be mirrored by the
mirror
field. - number
.spec .http[] .mirrorPercentage .value
- array
.spec .http[] .mirrors
Specifies the destinations to mirror HTTP traffic in addition to the original destination.
- object required
.spec .http[] .mirrors[] .destination
Destination specifies the target of the mirror operation.
- string required
.spec .http[] .mirrors[] .destination .host
The name of a service from the service registry.
- object
.spec .http[] .mirrors[] .destination .port
Specifies the port on the host that is being addressed.
- integer
.spec .http[] .mirrors[] .destination .port .number
- string
.spec .http[] .mirrors[] .destination .subset
The name of a subset within the service.
- object
.spec .http[] .mirrors[] .percentage
Percentage of the traffic to be mirrored by the
destination
field. - number
.spec .http[] .mirrors[] .percentage .value
- string
.spec .http[] .name
The name assigned to the route for debugging purposes.
- object
.spec .http[] .redirect
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
- string
.spec .http[] .redirect .derivePort
On a redirect, dynamically set the port: * FROM_PROTOCOL_DEFAULT: automatically set to 80 for HTTP and 443 for HTTPS.
Valid Options: FROM_PROTOCOL_DEFAULT, FROM_REQUEST_PORT
- integer
.spec .http[] .redirect .port
On a redirect, overwrite the port portion of the URL with this value.
- integer
.spec .http[] .redirect .redirectCode
On a redirect, Specifies the HTTP status code to use in the redirect response.
- string
.spec .http[] .redirect .scheme
On a redirect, overwrite the scheme portion of the URL with this value.
- string
.spec .http[] .redirect .uri
On a redirect, overwrite the Path portion of the URL with this value.
- object
.spec .http[] .retries
Retry policy for HTTP requests.
- integer
.spec .http[] .retries .attempts
Number of retries to be allowed for a given request.
- string
.spec .http[] .retries .backoff
Specifies the minimum duration between retry attempts.
- string
.spec .http[] .retries .perTryTimeout
Timeout per attempt for a given request, including the initial call and any retries.
- boolean | null
.spec .http[] .retries .retryIgnorePreviousHosts
Flag to specify whether the retries should ignore previously tried hosts during retry.
- string
.spec .http[] .retries .retryOn
Specifies the conditions under which retry takes place.
- boolean | null
.spec .http[] .retries .retryRemoteLocalities
Flag to specify whether the retries should retry to other localities.
- object
.spec .http[] .rewrite
Rewrite HTTP URIs and Authority headers.
- string
.spec .http[] .rewrite .uri
rewrite the path (or the prefix) portion of the URI with this value.
- object
.spec .http[] .rewrite .uriRegexRewrite
rewrite the path portion of the URI with the specified regex.
- string
.spec .http[] .rewrite .uriRegexRewrite .match
- string
.spec .http[] .rewrite .uriRegexRewrite .rewrite
The string that should replace into matching portions of original URI.
- array
.spec .http[] .route
A HTTP rule can either return a direct_response, redirect or forward (default) traffic.
- object required
.spec .http[] .route[] .destination
Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
- string required
.spec .http[] .route[] .destination .host
The name of a service from the service registry.
- object
.spec .http[] .route[] .destination .port
Specifies the port on the host that is being addressed.
- integer
.spec .http[] .route[] .destination .port .number
- string
.spec .http[] .route[] .destination .subset
The name of a subset within the service.
- object
.spec .http[] .route[] .headers
- object
.spec .http[] .route[] .headers .request
- object
.spec .http[] .route[] .headers .request .add
- array
.spec .http[] .route[] .headers .request .remove
- object
.spec .http[] .route[] .headers .request .set
- object
.spec .http[] .route[] .headers .response
- object
.spec .http[] .route[] .headers .response .add
- array
.spec .http[] .route[] .headers .response .remove
- object
.spec .http[] .route[] .headers .response .set
- integer
.spec .http[] .route[] .weight
Weight specifies the relative proportion of traffic to be forwarded to the destination.
- string
.spec .http[] .timeout
Timeout for HTTP requests, default is disabled.
- array
.spec .tcp
An ordered list of route rules for opaque TCP traffic.
- array
.spec .tcp[] .match
Match conditions to be satisfied for the rule to be activated.
- array
.spec .tcp[] .match[] .destinationSubnets
IPv4 or IPv6 ip addresses of destination with optional subnet.
- array
.spec .tcp[] .match[] .gateways
Names of gateways where the rule should be applied.
- integer
.spec .tcp[] .match[] .port
Specifies the port on the host that is being addressed.
- object
.spec .tcp[] .match[] .sourceLabels
One or more labels that constrain the applicability of a rule to workloads with the given labels.
- string
.spec .tcp[] .match[] .sourceNamespace
Source namespace constraining the applicability of a rule to workloads in that namespace.
- string
.spec .tcp[] .match[] .sourceSubnet
- array
.spec .tcp[] .route
The destination to which the connection should be forwarded to.
- object required
.spec .tcp[] .route[] .destination
Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
- string required
.spec .tcp[] .route[] .destination .host
The name of a service from the service registry.
- object
.spec .tcp[] .route[] .destination .port
Specifies the port on the host that is being addressed.
- integer
.spec .tcp[] .route[] .destination .port .number
- string
.spec .tcp[] .route[] .destination .subset
The name of a subset within the service.
- integer
.spec .tcp[] .route[] .weight
Weight specifies the relative proportion of traffic to be forwarded to the destination.
- array
.spec .tls
An ordered list of route rule for non-terminated TLS & HTTPS traffic.
- array required
.spec .tls[] .match
Match conditions to be satisfied for the rule to be activated.
- array
.spec .tls[] .match[] .destinationSubnets
IPv4 or IPv6 ip addresses of destination with optional subnet.
- array
.spec .tls[] .match[] .gateways
Names of gateways where the rule should be applied.
- integer
.spec .tls[] .match[] .port
Specifies the port on the host that is being addressed.
- array required
.spec .tls[] .match[] .sniHosts
SNI (server name indicator) to match on.
- object
.spec .tls[] .match[] .sourceLabels
One or more labels that constrain the applicability of a rule to workloads with the given labels.
- string
.spec .tls[] .match[] .sourceNamespace
Source namespace constraining the applicability of a rule to workloads in that namespace.
- array
.spec .tls[] .route
The destination to which the connection should be forwarded to.
- object required
.spec .tls[] .route[] .destination
Destination uniquely identifies the instances of a service to which the request/connection should be forwarded to.
- string required
.spec .tls[] .route[] .destination .host
The name of a service from the service registry.
- object
.spec .tls[] .route[] .destination .port
Specifies the port on the host that is being addressed.
- integer
.spec .tls[] .route[] .destination .port .number
- string
.spec .tls[] .route[] .destination .subset
The name of a subset within the service.
- integer
.spec .tls[] .route[] .weight
Weight specifies the relative proportion of traffic to be forwarded to the destination.
- object
.status
- array
.status .conditions
Current service state of the resource.
- string
.status .conditions[] .lastProbeTime
Last time we probed the condition.
- string
.status .conditions[] .lastTransitionTime
Last time the condition transitioned from one status to another.
- string
.status .conditions[] .message
Human-readable message indicating details about last transition.
- integer | string
.status .conditions[] .observedGeneration
Resource Generation to which the Condition refers.
- string
.status .conditions[] .reason
Unique, one-word, CamelCase reason for the condition’s last transition.
- string
.status .conditions[] .status
Status is the status of the condition.
- string
.status .conditions[] .type
Type is the type of the condition.
- integer | string
.status .observedGeneration
- array
.status .validationMessages
Includes any errors or warnings detected by Istio’s analyzers.
- string
.status .validationMessages[] .documentationUrl
A url pointing to the Istio documentation for this specific error type.
- string
.status .validationMessages[] .level
Represents how severe a message is.
Valid Options: UNKNOWN, ERROR, WARNING, INFO
- object
.status .validationMessages[] .type
- string
.status .validationMessages[] .type .code
A 7 character code matching
^IST[0-9]{4}$
intended to uniquely identify the message type. - string
.status .validationMessages[] .type .name
A human-readable name for the message type.