• Русский
  • Description
    CanaryDelivery is the Schema for the Canarydeliveries API
    Type
    object

    Specification

    PropertyTypeDescription
    apiVersionstring

    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

    kindstring

    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

    metadataObjectMeta

    ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

    specobject

    CanaryDeliverySpec defines the desired state of CanaryDelivery

    statusobject

    CanaryDeliveryStatus defines the observed state of CanaryDelivery

    .spec

    Description
    CanaryDeliverySpec defines the desired state of CanaryDelivery
    Type
    object
    Required
    targetRef
    PropertyTypeDescription
    analysisobject

    Analysis defines the validation process of a release

    approvegateboolean
    autopromoteboolean
    autoscalerRefobject

    AutoscalerRef references an autoscaling resource

    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

    metricsarray

    Metric check list for this canary analysis

    minSuccessRatenumber

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

    promoteboolean
    rollbackboolean
    targetRefobject

    TargetRef references a target resource

    .spec.analysis

    Description
    Analysis defines the validation process of a release
    Type
    object
    PropertyTypeDescription
    intervalstring

    Schedule interval for this canary analysis

    iterationsinteger

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

    matcharray

    A/B testing HTTP header match conditions

    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

    .spec.analysis.match

    Description
    A/B testing HTTP header match conditions
    Type
    array

    .spec.analysis.match[]

    Description
    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.
    Type
    object
    PropertyTypeDescription
    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
    gatewaysarray

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

    .spec.analysis.match[].authority

    Description
    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
    Type
    object
    PropertyTypeDescription
    exactstring

    exact string match

    prefixstring

    prefix-based match

    regexstring

    ECMAscript style regex-based match

    suffixstring

    suffix-based match.

    .spec.analysis.match[].gateways

    Description
    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.
    Type
    array

    .spec.analysis.match[].gateways[]

    Type
    string

    .spec.analysis.match[].headers

    Description
    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.
    Type
    object

    .spec.analysis.match[].method

    Description
    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
    Type
    object
    PropertyTypeDescription
    exactstring

    exact string match

    prefixstring

    prefix-based match

    regexstring

    ECMAscript style regex-based match

    suffixstring

    suffix-based match.

    .spec.analysis.match[].scheme

    Description
    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
    Type
    object
    PropertyTypeDescription
    exactstring

    exact string match

    prefixstring

    prefix-based match

    regexstring

    ECMAscript style regex-based match

    suffixstring

    suffix-based match.

    .spec.analysis.match[].sourceLabels

    Description
    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.
    Type
    object

    .spec.analysis.match[].uri

    Description
    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
    Type
    object
    PropertyTypeDescription
    exactstring

    exact string match

    prefixstring

    prefix-based match

    regexstring

    ECMAscript style regex-based match

    suffixstring

    suffix-based match.

    .spec.autoscalerRef

    Description
    AutoscalerRef references an autoscaling resource
    Type
    object
    Required
    name
    PropertyTypeDescription
    apiVersionstring

    API version of the referent

    kindstring

    Kind of the referent

    namestring

    Name of the referent

    namespacestring

    Namespace of the referent

    .spec.metrics

    Description
    Metric check list for this canary analysis
    Type
    array

    .spec.metrics[]

    Description
    CanaryMetric holds the reference to metrics used for canary analysis
    Type
    object
    Required
    name
    PropertyTypeDescription
    intervalstring

    Interval represents the windows size

    namestring

    Name of the metric

    querystring

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

    templateRefobject

    TemplateRef references a metric template object

    thresholdnumber

    Max value accepted for this metric

    thresholdRangeobject

    Range value accepted for this metric

    .spec.metrics[].templateRef

    Description
    TemplateRef references a metric template object
    Type
    object
    Required
    name
    PropertyTypeDescription
    apiVersionstring

    API version of the referent

    kindstring

    Kind of the referent

    namestring

    Name of the referent

    namespacestring

    Namespace of the referent

    .spec.metrics[].thresholdRange

    Description
    Range value accepted for this metric
    Type
    object
    PropertyTypeDescription
    maxnumber

    Maximum value

    minnumber

    Minimum value

    .spec.targetRef

    Description
    TargetRef references a target resource
    Type
    object
    Required
    name
    PropertyTypeDescription
    apiVersionstring

    API version of the referent

    kindstring

    Kind of the referent

    namestring

    Name of the referent

    namespacestring

    Namespace of the referent

    .status

    Description
    CanaryDeliveryStatus defines the observed state of CanaryDelivery
    Type
    object
    Required
    canaryWeightfailedChecksiterationslastInitErrorCountphase
    PropertyTypeDescription
    canaryWeightinteger
    canaryreadyboolean
    conditionsarray
    failedChecksinteger
    iterationsinteger
    lastAppliedSpecstring
    lastInitErrorCountinteger
    lastInitErrorDescstring
    lastPromotedSpecstring
    phasestring

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

    trackedConfigsobject

    .status.conditions

    Type
    array

    .status.conditions[]

    Description
    CanaryCondition is a status condition for a Canary
    Type
    object
    Required
    statustype
    PropertyTypeDescription
    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

    statusstring

    Status of this condition

    typestring

    Type of this condition

    .status.trackedConfigs

    Type
    object

    API Endpoints

    The following API endpoints are available:

    • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries
      • DELETE: delete collection of CanaryDelivery
      • GET: list objects of kind CanaryDelivery
      • POST: create a new CanaryDelivery
    • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}
      • DELETE: delete the specified CanaryDelivery
      • GET: read the specified CanaryDelivery
      • PATCH: partially update the specified CanaryDelivery
      • PUT: replace the specified CanaryDelivery
    • /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}/status
      • GET: read status of the specified CanaryDelivery
      • PATCH: partially update status of the specified CanaryDelivery
      • PUT: replace status of the specified CanaryDelivery

    /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries

    HTTP method
    DELETE
    Description
    delete collection of CanaryDelivery
    HTTP responses
    HTTP codeResponse body
    200 - OKStatus schema
    401 - UnauthorizedEmpty
    HTTP method
    GET
    Description
    list objects of kind CanaryDelivery
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDeliveryList schema
    401 - UnauthorizedEmpty
    HTTP method
    POST
    Description
    create a new CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyCanaryDelivery schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    201 - CreatedCanaryDelivery schema
    202 - AcceptedCanaryDelivery schema
    401 - UnauthorizedEmpty

    /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}

    HTTP method
    DELETE
    Description
    delete the specified CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    HTTP responses
    HTTP codeResponse body
    200 - OKStatus schema
    202 - AcceptedStatus schema
    401 - UnauthorizedEmpty
    HTTP method
    GET
    Description
    read the specified CanaryDelivery
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    401 - UnauthorizedEmpty
    HTTP method
    PATCH
    Description
    partially update the specified CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    401 - UnauthorizedEmpty
    HTTP method
    PUT
    Description
    replace the specified CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyCanaryDelivery schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    201 - CreatedCanaryDelivery schema
    401 - UnauthorizedEmpty

    /apis/asm.alauda.io/v1alpha1/namespaces/{namespace}/canarydeliveries/{name}/status

    HTTP method
    GET
    Description
    read status of the specified CanaryDelivery
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    401 - UnauthorizedEmpty
    HTTP method
    PATCH
    Description
    partially update status of the specified CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    401 - UnauthorizedEmpty
    HTTP method
    PUT
    Description
    replace status of the specified CanaryDelivery
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyCanaryDelivery schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKCanaryDelivery schema
    201 - CreatedCanaryDelivery schema
    401 - UnauthorizedEmpty