asm.alauda.io group

CanaryDelivery is the Schema for the Canarydeliveries API

v1alpha1 version
spec object

CanaryDeliverySpec defines the desired state of CanaryDelivery

analysis object

Analysis defines the validation process of a release

interval string

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

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

approvegate boolean
autopromote boolean
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

delivertype string
failFallBack boolean

if set true,we will rollback canary workload modify

isavaliable boolean
maxResponseTime number

the max response time,if larger than will failed,default is 500ms

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

minSuccessRate number

the min request succress rate,if below,canary will failed,default is 95 percent

promote boolean
rollback boolean
targetRef object required

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

status object

CanaryDeliveryStatus defines the observed state of CanaryDelivery

canaryWeight integer required
canaryready boolean
conditions []object

CanaryCondition is a status condition for a Canary

lastTransitionTime string

LastTransitionTime of this condition

lastUpdateTime string

LastUpdateTime of this condition

message string

Message associated with this condition

reason string

Reason for the current status of this condition

status string required

Status of this condition

type string required

Type of this condition

failedChecks integer required
iterations integer required
lastAppliedSpec string
lastInitErrorCount integer required
lastInitErrorDesc string
lastPromotedSpec string
phase string required

CanaryPhase is a label for the condition of a canary at the current time

trackedConfigs object