asm.alauda.io group

CanaryTemplate is the Schema for the Canarytemplates API

v1alpha1 version
spec object

CanaryTemplateSpec defines the desired state of CanaryTemplate

analysis object

Analysis defines the validation process of a release

interval string required

Schedule interval for this canary analysis

iterations integer

Number of checks to run for A/B Testing and Blue/Green

match []object

HttpMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a "cookie" with value "user=jason". apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings-route spec: hosts: - ratings http: - match: - headers: cookie: regex: "^(.?;)?(user=jason)(;.)?" uri: prefix: "/ratings/v2/" route: - destination: host: ratings HTTPMatchRequest CANNOT be empty.

authority object

HTTP Authority values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

gateways []string

Names of gateways where the rule should be applied to. Gateway names at the top of the VirtualService (if any) are overridden. The gateway match is independent of sourceLabels.

headers object

The header keys must be lowercase and use hyphen as the separator, e.g. x-request-id. Header values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match Note: The keys uri, scheme, method, and authority will be ignored.
method object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

port integer

Specifies the ports on the host that is being addressed. Many services only expose a single port or label ports with the protocols they support, in these cases it is not required to explicitly select the port.

scheme object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

sourceLabels object

One or more labels that constrain the applicability of a rule to workloads with the given labels. If the VirtualService has a list of gateways specified at the top, it should include the reserved gateway mesh in order for this field to be applicable.

uri object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

maxWeight integer

Max traffic percentage routed to canary

metrics []object

CanaryMetric holds the reference to metrics used for canary analysis

interval string

Interval represents the windows size

name string required

Name of the metric

query string

Prometheus query for this metric (deprecated in favor of TemplateRef)

templateRef object

TemplateRef references a metric template object

apiVersion string

API version of the referent

kind string

Kind of the referent

name string required

Name of the referent

namespace string

Namespace of the referent

threshold number

Max value accepted for this metric

thresholdRange object

Range value accepted for this metric

max number

Maximum value

min number

Minimum value

mirror boolean

Enable traffic mirroring for Blue/Green

stepWeight integer

Incremental traffic percentage step

stepWeightPromotion integer

Incremental traffic percentage step for promotion phase

threshold integer

Max number of failed checks before the canary is terminated

webhooks []object

CanaryWebhook holds the reference to external checks used for canary analysis

metadata object

Metadata (key-value pairs) for this webhook

name string required

Name of this webhook

timeout string

Request timeout for this webhook

type string required

Type of this webhook

url string required

URL address of this webhook

autoscalerRef object

AutoscalerRef references an autoscaling resource

apiVersion string

API version of the referent

kind string

Kind of the referent

name string required

Name of the referent

namespace string

Namespace of the referent

canaryAnalysis object

Deprecated: replaced by Analysis

interval string required

Schedule interval for this canary analysis

iterations integer

Number of checks to run for A/B Testing and Blue/Green

match []object

HttpMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a "cookie" with value "user=jason". apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings-route spec: hosts: - ratings http: - match: - headers: cookie: regex: "^(.?;)?(user=jason)(;.)?" uri: prefix: "/ratings/v2/" route: - destination: host: ratings HTTPMatchRequest CANNOT be empty.

authority object

HTTP Authority values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

gateways []string

Names of gateways where the rule should be applied to. Gateway names at the top of the VirtualService (if any) are overridden. The gateway match is independent of sourceLabels.

headers object

The header keys must be lowercase and use hyphen as the separator, e.g. x-request-id. Header values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match Note: The keys uri, scheme, method, and authority will be ignored.
method object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

port integer

Specifies the ports on the host that is being addressed. Many services only expose a single port or label ports with the protocols they support, in these cases it is not required to explicitly select the port.

scheme object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

sourceLabels object

One or more labels that constrain the applicability of a rule to workloads with the given labels. If the VirtualService has a list of gateways specified at the top, it should include the reserved gateway mesh in order for this field to be applicable.

uri object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

maxWeight integer

Max traffic percentage routed to canary

metrics []object

CanaryMetric holds the reference to metrics used for canary analysis

interval string

Interval represents the windows size

name string required

Name of the metric

query string

Prometheus query for this metric (deprecated in favor of TemplateRef)

templateRef object

TemplateRef references a metric template object

apiVersion string

API version of the referent

kind string

Kind of the referent

name string required

Name of the referent

namespace string

Namespace of the referent

threshold number

Max value accepted for this metric

thresholdRange object

Range value accepted for this metric

max number

Maximum value

min number

Minimum value

mirror boolean

Enable traffic mirroring for Blue/Green

stepWeight integer

Incremental traffic percentage step

stepWeightPromotion integer

Incremental traffic percentage step for promotion phase

threshold integer

Max number of failed checks before the canary is terminated

webhooks []object

CanaryWebhook holds the reference to external checks used for canary analysis

metadata object

Metadata (key-value pairs) for this webhook

name string required

Name of this webhook

timeout string

Request timeout for this webhook

type string required

Type of this webhook

url string required

URL address of this webhook

failFallBack boolean

if set true,we will rollback canary workload modify

ingressRef object

Reference to NGINX ingress resource

apiVersion string

API version of the referent

kind string

Kind of the referent

name string required

Name of the referent

namespace string

Namespace of the referent

maxResponseTime number
metricsServer string

MetricsServer overwrites the -metrics-server flag for this particular canary

minSuccessRate number
progressDeadlineSeconds integer

ProgressDeadlineSeconds represents the maximum time in seconds for a canary deployment to make progress before it is considered to be failed

service object

Service defines how ClusterIP services, service mesh or ingress routing objects are generated

backends []string

Backends of the generated App Mesh virtual nodes

corsPolicy object

Cross-Origin Resource Sharing policy for the generated Istio virtual service

allowCredentials boolean

Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials. Translates to Access-Control-Allow-Credentials header.

allowHeaders []string

List of HTTP headers that can be used when requesting the resource. Serialized to Access-Control-Allow-Methods header.

allowMethods []string

List of HTTP methods allowed to access the resource. The content will be serialized into the Access-Control-Allow-Methods header.

allowOrigin []string

The list of origins that are allowed to perform CORS requests. The content will be serialized into the Access-Control-Allow-Origin header. Wildcard * will allow all origins.

exposeHeaders []string

A white list of HTTP headers that the browsers are allowed to access. Serialized into Access-Control-Expose-Headers header.

maxAge string

Specifies how long the the results of a preflight request can be cached. Translates to the Access-Control-Max-Age header.

gateways []string

Gateways attached to the generated Istio virtual service Defaults to the internal mesh gateway

headers object

Headers operations for the generated Istio virtual service

request object

Header manipulation rules to apply before forwarding a request to the destination service

add object

Append the given values to the headers specified by keys (will create a comma-separated list of values)

remove []string

Remove the specified headers

set object

Overwrite the headers specified by key with the given values

response object

Header manipulation rules to apply before returning a response to the caller

add object

Append the given values to the headers specified by keys (will create a comma-separated list of values)

remove []string

Remove the specified headers

set object

Overwrite the headers specified by key with the given values

hosts []string

Hosts attached to the generated Istio virtual service Defaults to the service name

match []object

HttpMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a "cookie" with value "user=jason". apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings-route spec: hosts: - ratings http: - match: - headers: cookie: regex: "^(.?;)?(user=jason)(;.)?" uri: prefix: "/ratings/v2/" route: - destination: host: ratings HTTPMatchRequest CANNOT be empty.

authority object

HTTP Authority values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

gateways []string

Names of gateways where the rule should be applied to. Gateway names at the top of the VirtualService (if any) are overridden. The gateway match is independent of sourceLabels.

headers object

The header keys must be lowercase and use hyphen as the separator, e.g. x-request-id. Header values are case-sensitive and formatted as follows:

  • exact: "value" for exact string match
  • prefix: "value" for prefix-based match
  • regex: "value" for ECMAscript style regex-based match Note: The keys uri, scheme, method, and authority will be ignored.
method object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

port integer

Specifies the ports on the host that is being addressed. Many services only expose a single port or label ports with the protocols they support, in these cases it is not required to explicitly select the port.

scheme object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

sourceLabels object

One or more labels that constrain the applicability of a rule to workloads with the given labels. If the VirtualService has a list of gateways specified at the top, it should include the reserved gateway mesh in order for this field to be applicable.

uri object

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 ECMAscript style regex-based match
exact string

exact string match

prefix string

prefix-based match

regex string

ECMAscript style regex-based match

suffix string

suffix-based match.

meshName string

Mesh name of the generated App Mesh virtual nodes and virtual service

name string

Name of the Kubernetes service generated by Flagger Defaults to CanarySpec.TargetRef.Name

port integer required

Port of the generated Kubernetes service

portDiscovery boolean required

PortDiscovery adds all container ports to the generated Kubernetes service

portName string

Port name of the generated Kubernetes service Defaults to http

retries object

Retries policy for the generated virtual service

attempts integer

REQUIRED. Number of retries for a given request. The interval between retries will be determined automatically (25ms+). Actual number of retries attempted depends on the httpReqTimeout.

perTryTimeout string

Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.

retryOn string

Specifies the conditions under which retry takes place. One or more policies can be specified using a ‘,’ delimited list. The supported policies can be found in https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-on and https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/router_filter#x-envoy-retry-grpc-on

rewrite object

Rewrite HTTP URIs for the generated service

authority string

rewrite the Authority/Host header with this value.

uri string

rewrite the path (or the prefix) portion of the URI with this value. If the original URI was matched based on prefix, the value provided in this field will replace the corresponding matched prefix.

targetPort

Target port number or name of the generated Kubernetes service Defaults to CanaryService.Port

timeout string

Timeout of the HTTP or gRPC request

trafficPolicy object

TrafficPolicy attached to the generated Istio destination rules

connectionPool object

Settings controlling the volume of connections to an upstream service

http object

HTTP connection pool settings.

h2UpgradePolicy string

Specify if http1.1 connection should be upgraded to http2 for the associated destination. DEFAULT - Use the global default. DO_NOT_UPGRADE - Do not upgrade the connection to http2. UPGRADE - Upgrade the connection to http2.

http1MaxPendingRequests integer

Maximum number of pending HTTP requests to a destination. Default 2^32-1.

http2MaxRequests integer

Maximum number of requests to a backend. Default 2^32-1.

idleTimeout string

The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. If not set, the default is 1 hour. When the idle timeout is reached the connection will be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.

maxRequestsPerConnection integer

Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive. Default 0, meaning "unlimited", up to 2^29.

maxRetries integer

Maximum number of retries that can be outstanding to all hosts in a cluster at a given time. Defaults to 2^32-1.

tcp object

Settings common to both HTTP and TCP upstream connections.

connectTimeout string

TCP connection timeout.

maxConnections integer

Maximum number of HTTP1 /TCP connections to a destination host.

loadBalancer object

Settings controlling the load balancer algorithms.

consistentHash object

Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service.

httpCookie object

Hash based on HTTP cookie.

name string required

REQUIRED. Name of the cookie.

path string

Path to set for the cookie.

ttl string required

REQUIRED. Lifetime of the cookie.

httpHeaderName string

It is required to specify exactly one of the fields as hash key: HTTPHeaderName, HTTPCookie, or UseSourceIP. Hash based on a specific HTTP header.

minimumRingSize integer

The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.

useSourceIp boolean

Hash based on the source IP address.

simple string

It is required to specify exactly one of the fields: Simple or ConsistentHash

outlierDetection object

Settings controlling eviction of unhealthy hosts from the load balancing pool

baseEjectionTime string

Minimum ejection duration. A host will remain ejected for a period equal to the product of minimum ejection duration and the number of times the host has been ejected. This technique allows the system to automatically increase the ejection period for unhealthy upstream servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

consecutive5xxErrors integer

Number of 5xx errors before a host is ejected from the connection pool. When the upstream host is accessed over an opaque TCP connection, connect timeouts, connection error/failure and request failure events qualify as a 5xx error. This feature defaults to 5 but can be disabled by setting the value to 0. Note that consecutive_gateway_errors and consecutive_5xx_errors can be used separately or together. Because the errors counted by consecutive_gateway_errors are also included in consecutive_5xx_errors, if the value of consecutive_gateway_errors is greater than or equal to the value of consecutive_5xx_errors, consecutive_gateway_errors will have no effect.

consecutiveErrors integer

Number of errors before a host is ejected from the connection pool. Defaults to 5. When the upstream host is accessed over HTTP, a 5xx return code qualifies as an error. When the upstream host is accessed over an opaque TCP connection, connect timeouts and connection error/failure events qualify as an error.

consecutiveGatewayErrors integer

Number of gateway errors before a host is ejected from the connection pool. When the upstream host is accessed over HTTP, a 502, 503, or 504 return code qualifies as a gateway error. When the upstream host is accessed over an opaque TCP connection, connect timeouts and connection error/failure events qualify as a gateway error. This feature is disabled by default or when set to the value 0. Note that consecutive_gateway_errors and consecutive_5xx_errors can be used separately or together. Because the errors counted by consecutive_gateway_errors are also included in consecutive_5xx_errors, if the value of consecutive_gateway_errors is greater than or equal to the value of consecutive_5xx_errors, consecutive_gateway_errors will have no effect.

interval string

Time interval between ejection sweep analysis. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

maxEjectionPercent integer

Maximum % of hosts in the load balancing pool for the upstream service that can be ejected. Defaults to 10%.

minHealthPercent integer

Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode. When the percentage of healthy hosts in the load balancing pool drops below this threshold, outlier detection will be disabled and the proxy will load balance across all hosts in the pool (healthy and unhealthy). The threshold can be disabled by setting it to 0%. The default is 0% as it's not typically applicable in k8s environments with few pods per service.

portLevelSettings []object

Traffic policies that apply to specific ports of the service

connectionPool object

Settings controlling the volume of connections to an upstream service

http object

HTTP connection pool settings.

h2UpgradePolicy string

Specify if http1.1 connection should be upgraded to http2 for the associated destination. DEFAULT - Use the global default. DO_NOT_UPGRADE - Do not upgrade the connection to http2. UPGRADE - Upgrade the connection to http2.

http1MaxPendingRequests integer

Maximum number of pending HTTP requests to a destination. Default 2^32-1.

http2MaxRequests integer

Maximum number of requests to a backend. Default 2^32-1.

idleTimeout string

The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests. If not set, the default is 1 hour. When the idle timeout is reached the connection will be closed. Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.

maxRequestsPerConnection integer

Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive. Default 0, meaning "unlimited", up to 2^29.

maxRetries integer

Maximum number of retries that can be outstanding to all hosts in a cluster at a given time. Defaults to 2^32-1.

tcp object

Settings common to both HTTP and TCP upstream connections.

connectTimeout string

TCP connection timeout.

maxConnections integer

Maximum number of HTTP1 /TCP connections to a destination host.

loadBalancer object

Settings controlling the load balancer algorithms.

consistentHash object

Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service.

httpCookie object

Hash based on HTTP cookie.

name string required

REQUIRED. Name of the cookie.

path string

Path to set for the cookie.

ttl string required

REQUIRED. Lifetime of the cookie.

httpHeaderName string

It is required to specify exactly one of the fields as hash key: HTTPHeaderName, HTTPCookie, or UseSourceIP. Hash based on a specific HTTP header.

minimumRingSize integer

The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.

useSourceIp boolean

Hash based on the source IP address.

simple string

It is required to specify exactly one of the fields: Simple or ConsistentHash

outlierDetection object

Settings controlling eviction of unhealthy hosts from the load balancing pool

baseEjectionTime string

Minimum ejection duration. A host will remain ejected for a period equal to the product of minimum ejection duration and the number of times the host has been ejected. This technique allows the system to automatically increase the ejection period for unhealthy upstream servers. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 30s.

consecutive5xxErrors integer

Number of 5xx errors before a host is ejected from the connection pool. When the upstream host is accessed over an opaque TCP connection, connect timeouts, connection error/failure and request failure events qualify as a 5xx error. This feature defaults to 5 but can be disabled by setting the value to 0. Note that consecutive_gateway_errors and consecutive_5xx_errors can be used separately or together. Because the errors counted by consecutive_gateway_errors are also included in consecutive_5xx_errors, if the value of consecutive_gateway_errors is greater than or equal to the value of consecutive_5xx_errors, consecutive_gateway_errors will have no effect.

consecutiveErrors integer

Number of errors before a host is ejected from the connection pool. Defaults to 5. When the upstream host is accessed over HTTP, a 5xx return code qualifies as an error. When the upstream host is accessed over an opaque TCP connection, connect timeouts and connection error/failure events qualify as an error.

consecutiveGatewayErrors integer

Number of gateway errors before a host is ejected from the connection pool. When the upstream host is accessed over HTTP, a 502, 503, or 504 return code qualifies as a gateway error. When the upstream host is accessed over an opaque TCP connection, connect timeouts and connection error/failure events qualify as a gateway error. This feature is disabled by default or when set to the value 0. Note that consecutive_gateway_errors and consecutive_5xx_errors can be used separately or together. Because the errors counted by consecutive_gateway_errors are also included in consecutive_5xx_errors, if the value of consecutive_gateway_errors is greater than or equal to the value of consecutive_5xx_errors, consecutive_gateway_errors will have no effect.

interval string

Time interval between ejection sweep analysis. format: 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.

maxEjectionPercent integer

Maximum % of hosts in the load balancing pool for the upstream service that can be ejected. Defaults to 10%.

minHealthPercent integer

Outlier detection will be enabled as long as the associated load balancing pool has at least min_health_percent hosts in healthy mode. When the percentage of healthy hosts in the load balancing pool drops below this threshold, outlier detection will be disabled and the proxy will load balance across all hosts in the pool (healthy and unhealthy). The threshold can be disabled by setting it to 0%. The default is 0% as it's not typically applicable in k8s environments with few pods per service.

port object required

Specifies the port name or number of a port on the destination service on which this policy is being applied. Names must comply with DNS label syntax (rfc1035) and therefore cannot collide with numbers. If there are multiple ports on a service with the same protocol the names should be of the form -.

name string

Valid port name

number integer

Valid port number

tls object

TLS related settings for connections to the upstream service.

caCertificates string

OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate. If omitted, the proxy will not verify the server's certificate. Should be empty if mode is ISTIO_MUTUAL.

clientCertificate string

REQUIRED if mode is MUTUAL. The path to the file holding the client-side TLS certificate to use. Should be empty if mode is ISTIO_MUTUAL.

mode string required

REQUIRED: Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced.

privateKey string

REQUIRED if mode is MUTUAL. The path to the file holding the client's private key. Should be empty if mode is ISTIO_MUTUAL.

sni string

SNI string to present to the server during TLS handshake. Should be empty if mode is ISTIO_MUTUAL.

subjectAltNames []string

A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. Should be empty if mode is ISTIO_MUTUAL.

tls object

TLS related settings for connections to the upstream service.

caCertificates string

OPTIONAL: The path to the file containing certificate authority certificates to use in verifying a presented server certificate. If omitted, the proxy will not verify the server's certificate. Should be empty if mode is ISTIO_MUTUAL.

clientCertificate string

REQUIRED if mode is MUTUAL. The path to the file holding the client-side TLS certificate to use. Should be empty if mode is ISTIO_MUTUAL.

mode string required

REQUIRED: Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced.

privateKey string

REQUIRED if mode is MUTUAL. The path to the file holding the client's private key. Should be empty if mode is ISTIO_MUTUAL.

sni string

SNI string to present to the server during TLS handshake. Should be empty if mode is ISTIO_MUTUAL.

subjectAltNames []string

A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. Should be empty if mode is ISTIO_MUTUAL.

skipAnalysis boolean

SkipAnalysis promotes the canary without analysing it

targetRef object

TargetRef references a target resource

apiVersion string

API version of the referent

kind string

Kind of the referent

name string required

Name of the referent

namespace string

Namespace of the referent