asm.alauda.iogroup

CanaryDelivery is the Schema for the Canarydeliveries API

v1alpha1version
specobject

CanaryDeliverySpec defines the desired state of CanaryDelivery

analysisobject

Analysis defines the validation process of a release

intervalstring

Schedule interval for this canary analysis

iterationsinteger

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.

authorityobject

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
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

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.

headersobject

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.
methodobject

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
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

portinteger

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.

schemeobject

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
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

sourceLabelsobject

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.

uriobject

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
exactstring

exact string match

prefixstring

prefix-based match

regexstring

ECMAscript style regex-based match

suffixstring

suffix-based match.

maxWeightinteger

Max traffic percentage routed to canary

mirrorboolean

Enable traffic mirroring for Blue/Green

stepWeightinteger

Incremental traffic percentage step

stepWeightPromotioninteger

Incremental traffic percentage step for promotion phase

thresholdinteger

Max number of failed checks before the canary is terminated

approvegateboolean
autopromoteboolean
autoscalerRefobject

AutoscalerRef references an autoscaling resource

apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestringrequired

Name of the referent

namespacestring

Namespace of the referent

delivertypestring
failFallBackboolean

if set true,we will rollback canary workload modify

isavaliableboolean
maxResponseTimenumber

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

metrics[]object

CanaryMetric holds the reference to metrics used for canary analysis

intervalstring

Interval represents the windows size

namestringrequired

Name of the metric

querystring

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

templateRefobject

TemplateRef references a metric template object

apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestringrequired

Name of the referent

namespacestring

Namespace of the referent

thresholdnumber

Max value accepted for this metric

thresholdRangeobject

Range value accepted for this metric

maxnumber

Maximum value

minnumber

Minimum value

minSuccessRatenumber

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

promoteboolean
rollbackboolean
targetRefobjectrequired

TargetRef references a target resource

apiVersionstring

API version of the referent

kindstring

Kind of the referent

namestringrequired

Name of the referent

namespacestring

Namespace of the referent

statusobject

CanaryDeliveryStatus defines the observed state of CanaryDelivery

canaryWeightintegerrequired
canaryreadyboolean
conditions[]object

CanaryCondition is a status condition for a Canary

lastTransitionTimestring

LastTransitionTime of this condition

lastUpdateTimestring

LastUpdateTime of this condition

messagestring

Message associated with this condition

reasonstring

Reason for the current status of this condition

statusstringrequired

Status of this condition

typestringrequired

Type of this condition

failedChecksintegerrequired
iterationsintegerrequired
lastAppliedSpecstring
lastInitErrorCountintegerrequired
lastInitErrorDescstring
lastPromotedSpecstring
phasestringrequired

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

trackedConfigsobject