Skip to content

flagger.v1beta1.canary

"Canary is the Schema for the Canary API."

Index

Fields

fn new

new(name)

new returns an instance of Canary

obj metadata

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

fn metadata.withAnnotations

withAnnotations(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

fn metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

Note: This function appends passed data to existing values

fn metadata.withClusterName

withClusterName(clusterName)

"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request."

fn metadata.withCreationTimestamp

withCreationTimestamp(creationTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withDeletionGracePeriodSeconds

withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)

"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only."

fn metadata.withDeletionTimestamp

withDeletionTimestamp(deletionTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withFinalizers

withFinalizers(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

fn metadata.withFinalizersMixin

withFinalizersMixin(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

Note: This function appends passed data to existing values

fn metadata.withGenerateName

withGenerateName(generateName)

"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"

fn metadata.withGeneration

withGeneration(generation)

"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only."

fn metadata.withLabels

withLabels(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

fn metadata.withLabelsMixin

withLabelsMixin(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

Note: This function appends passed data to existing values

fn metadata.withName

withName(name)

"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names"

fn metadata.withNamespace

withNamespace(namespace)

"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"

fn metadata.withOwnerReferences

withOwnerReferences(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

fn metadata.withOwnerReferencesMixin

withOwnerReferencesMixin(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

Note: This function appends passed data to existing values

fn metadata.withResourceVersion

withResourceVersion(resourceVersion)

"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency"

withSelfLink(selfLink)

"SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release."

fn metadata.withUid

withUid(uid)

"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"

obj spec

"CanarySpec defines the desired state of a Canary."

fn spec.withMetricsServer

withMetricsServer(metricsServer)

"Prometheus URL"

fn spec.withProgressDeadlineSeconds

withProgressDeadlineSeconds(progressDeadlineSeconds)

"Deployment progress deadline"

fn spec.withProvider

withProvider(provider)

"Traffic managent provider"

fn spec.withRevertOnDeletion

withRevertOnDeletion(revertOnDeletion)

"Revert mutated resources to original spec on deletion"

fn spec.withSkipAnalysis

withSkipAnalysis(skipAnalysis)

"Skip analysis and promote canary"

fn spec.withSuspend

withSuspend(suspend)

"Suspend Canary disabling/pausing all canary runs"

obj spec.analysis

"Canary analysis for this canary"

fn spec.analysis.withAlerts

withAlerts(alerts)

"Alert list for this canary analysis"

fn spec.analysis.withAlertsMixin

withAlertsMixin(alerts)

"Alert list for this canary analysis"

Note: This function appends passed data to existing values

fn spec.analysis.withCanaryReadyThreshold

withCanaryReadyThreshold(canaryReadyThreshold)

"Percentage of pods that need to be available to consider canary as ready"

fn spec.analysis.withInterval

withInterval(interval)

"Schedule interval for this canary"

fn spec.analysis.withIterations

withIterations(iterations)

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

fn spec.analysis.withMatch

withMatch(match)

"A/B testing match conditions"

fn spec.analysis.withMatchMixin

withMatchMixin(match)

"A/B testing match conditions"

Note: This function appends passed data to existing values

fn spec.analysis.withMaxWeight

withMaxWeight(maxWeight)

"Max traffic weight routed to canary"

fn spec.analysis.withMetrics

withMetrics(metrics)

"Metric check list for this canary"

fn spec.analysis.withMetricsMixin

withMetricsMixin(metrics)

"Metric check list for this canary"

Note: This function appends passed data to existing values

fn spec.analysis.withMirror

withMirror(mirror)

"Mirror traffic to canary"

fn spec.analysis.withMirrorWeight

withMirrorWeight(mirrorWeight)

"Weight of traffic to be mirrored"

fn spec.analysis.withPrimaryReadyThreshold

withPrimaryReadyThreshold(primaryReadyThreshold)

"Percentage of pods that need to be available to consider primary as ready"

fn spec.analysis.withStepWeight

withStepWeight(stepWeight)

"Incremental traffic step weight for the analysis phase"

fn spec.analysis.withStepWeightPromotion

withStepWeightPromotion(stepWeightPromotion)

"Incremental traffic step weight for the promotion phase"

fn spec.analysis.withStepWeights

withStepWeights(stepWeights)

"Incremental traffic step weights for the analysis phase"

fn spec.analysis.withStepWeightsMixin

withStepWeightsMixin(stepWeights)

"Incremental traffic step weights for the analysis phase"

Note: This function appends passed data to existing values

fn spec.analysis.withThreshold

withThreshold(threshold)

"Max number of failed checks before rollback"

fn spec.analysis.withWebhooks

withWebhooks(webhooks)

"Webhook list for this canary"

fn spec.analysis.withWebhooksMixin

withWebhooksMixin(webhooks)

"Webhook list for this canary"

Note: This function appends passed data to existing values

obj spec.analysis.alerts

"Alert list for this canary analysis"

fn spec.analysis.alerts.withName

withName(name)

"Name of the this alert"

fn spec.analysis.alerts.withSeverity

withSeverity(severity)

"Severity level can be info, warn, error (default info)"

obj spec.analysis.alerts.providerRef

"Alert provider reference"

fn spec.analysis.alerts.providerRef.withName

withName(name)

"Name of the alert provider"

fn spec.analysis.alerts.providerRef.withNamespace

withNamespace(namespace)

"Namespace of the alert provider"

obj spec.analysis.match

"A/B testing match conditions"

fn spec.analysis.match.withHeaders

withHeaders(headers)

fn spec.analysis.match.withHeadersMixin

withHeadersMixin(headers)

Note: This function appends passed data to existing values

fn spec.analysis.match.withQueryParams

withQueryParams(queryParams)

"Query parameters for matching."

fn spec.analysis.match.withQueryParamsMixin

withQueryParamsMixin(queryParams)

"Query parameters for matching."

Note: This function appends passed data to existing values

fn spec.analysis.match.withSourceLabels

withSourceLabels(sourceLabels)

"Applicable only when the 'mesh' gateway is included in the service.gateways list"

fn spec.analysis.match.withSourceLabelsMixin

withSourceLabelsMixin(sourceLabels)

"Applicable only when the 'mesh' gateway is included in the service.gateways list"

Note: This function appends passed data to existing values

obj spec.analysis.metrics

"Metric check list for this canary"

fn spec.analysis.metrics.withInterval

withInterval(interval)

"Interval of the query"

fn spec.analysis.metrics.withName

withName(name)

"Name of the metric"

fn spec.analysis.metrics.withQuery

withQuery(query)

"Prometheus query"

fn spec.analysis.metrics.withTemplateVariables

withTemplateVariables(templateVariables)

"Additional variables to be used in the metrics query (key-value pairs)"

fn spec.analysis.metrics.withTemplateVariablesMixin

withTemplateVariablesMixin(templateVariables)

"Additional variables to be used in the metrics query (key-value pairs)"

Note: This function appends passed data to existing values

fn spec.analysis.metrics.withThreshold

withThreshold(threshold)

"Max value accepted for this metric"

obj spec.analysis.metrics.templateRef

"Metric template reference"

fn spec.analysis.metrics.templateRef.withName

withName(name)

"Name of this metric template"

fn spec.analysis.metrics.templateRef.withNamespace

withNamespace(namespace)

"Namespace of this metric template"

obj spec.analysis.metrics.thresholdRange

"Range accepted for this metric"

fn spec.analysis.metrics.thresholdRange.withMax

withMax(max)

"Max value accepted for this metric"

fn spec.analysis.metrics.thresholdRange.withMin

withMin(min)

"Min value accepted for this metric"

obj spec.analysis.sessionAffinity

"SessionAffinity represents the session affinity settings for a canary run."

fn spec.analysis.sessionAffinity.withCookieName

withCookieName(cookieName)

"CookieName is the key that will be used for the session affinity cookie."

fn spec.analysis.sessionAffinity.withMaxAge

withMaxAge(maxAge)

"MaxAge indicates the number of seconds until the session affinity cookie will expire."

fn spec.analysis.sessionAffinity.withPrimaryCookieName

withPrimaryCookieName(primaryCookieName)

"CookieName is the key that will be used for the session affinity cookie."

obj spec.analysis.webhooks

"Webhook list for this canary"

fn spec.analysis.webhooks.withDisableTLS

withDisableTLS(disableTLS)

"Disable TLS verification for this webhook"

fn spec.analysis.webhooks.withMetadata

withMetadata(metadata)

"Metadata (key-value pairs) for this webhook"

fn spec.analysis.webhooks.withMetadataMixin

withMetadataMixin(metadata)

"Metadata (key-value pairs) for this webhook"

Note: This function appends passed data to existing values

fn spec.analysis.webhooks.withMuteAlert

withMuteAlert(muteAlert)

"Mute all alerts for the webhook"

fn spec.analysis.webhooks.withName

withName(name)

"Name of the webhook"

fn spec.analysis.webhooks.withRetries

withRetries(retries)

"Number of retries for this webhook"

fn spec.analysis.webhooks.withTimeout

withTimeout(timeout)

"Request timeout for this webhook"

fn spec.analysis.webhooks.withType

withType(type)

"Type of the webhook pre, post or during rollout"

fn spec.analysis.webhooks.withUrl

withUrl(url)

"URL address of this webhook"

obj spec.autoscalerRef

"Scaler selector"

fn spec.autoscalerRef.withApiVersion

withApiVersion(apiVersion)

fn spec.autoscalerRef.withKind

withKind(kind)

fn spec.autoscalerRef.withName

withName(name)

fn spec.autoscalerRef.withPrimaryScalerQueries

withPrimaryScalerQueries(primaryScalerQueries)

fn spec.autoscalerRef.withPrimaryScalerQueriesMixin

withPrimaryScalerQueriesMixin(primaryScalerQueries)

Note: This function appends passed data to existing values

obj spec.autoscalerRef.primaryScalerReplicas

fn spec.autoscalerRef.primaryScalerReplicas.withMaxReplicas

withMaxReplicas(maxReplicas)

fn spec.autoscalerRef.primaryScalerReplicas.withMinReplicas

withMinReplicas(minReplicas)

obj spec.ingressRef

"Ingress selector"

fn spec.ingressRef.withApiVersion

withApiVersion(apiVersion)

fn spec.ingressRef.withKind

withKind(kind)

fn spec.ingressRef.withName

withName(name)

obj spec.routeRef

"APISIX route selector"

fn spec.routeRef.withApiVersion

withApiVersion(apiVersion)

fn spec.routeRef.withKind

withKind(kind)

fn spec.routeRef.withName

withName(name)

obj spec.service

"Kubernetes Service spec"

fn spec.service.withAppProtocol

withAppProtocol(appProtocol)

"Application protocol of the port"

fn spec.service.withBackends

withBackends(backends)

"AppMesh backend array"

fn spec.service.withBackendsMixin

withBackendsMixin(backends)

"AppMesh backend array"

Note: This function appends passed data to existing values

fn spec.service.withDelegation

withDelegation(delegation)

"enable behaving as a delegate VirtualService"

fn spec.service.withGatewayRefs

withGatewayRefs(gatewayRefs)

"The list of parent Gateways for a HTTPRoute"

fn spec.service.withGatewayRefsMixin

withGatewayRefsMixin(gatewayRefs)

"The list of parent Gateways for a HTTPRoute"

Note: This function appends passed data to existing values

fn spec.service.withGateways

withGateways(gateways)

"The list of Istio gateway for this virtual service"

fn spec.service.withGatewaysMixin

withGatewaysMixin(gateways)

"The list of Istio gateway for this virtual service"

Note: This function appends passed data to existing values

fn spec.service.withHeadless

withHeadless(headless)

"Headless if set to true, generates headless Kubernetes services."

fn spec.service.withHosts

withHosts(hosts)

"The list of host names for this service"

fn spec.service.withHostsMixin

withHostsMixin(hosts)

"The list of host names for this service"

Note: This function appends passed data to existing values

fn spec.service.withMatch

withMatch(match)

"URI match conditions"

fn spec.service.withMatchMixin

withMatchMixin(match)

"URI match conditions"

Note: This function appends passed data to existing values

fn spec.service.withMeshName

withMeshName(meshName)

"AppMesh mesh name"

fn spec.service.withMirror

withMirror(mirror)

"Mirror defines a schema for a filter that mirrors requests."

fn spec.service.withMirrorMixin

withMirrorMixin(mirror)

"Mirror defines a schema for a filter that mirrors requests."

Note: This function appends passed data to existing values

fn spec.service.withName

withName(name)

"Kubernetes service name"

fn spec.service.withPort

withPort(port)

"Container port number"

fn spec.service.withPortDiscovery

withPortDiscovery(portDiscovery)

"Enable port dicovery"

fn spec.service.withPortName

withPortName(portName)

"Container port name"

fn spec.service.withTargetPort

withTargetPort(targetPort)

"Container target port name"

fn spec.service.withTimeout

withTimeout(timeout)

"HTTP or gRPC request timeout"

obj spec.service.apex

"Metadata to add to the apex service"

fn spec.service.apex.withAnnotations

withAnnotations(annotations)

fn spec.service.apex.withAnnotationsMixin

withAnnotationsMixin(annotations)

Note: This function appends passed data to existing values

fn spec.service.apex.withLabels

withLabels(labels)

fn spec.service.apex.withLabelsMixin

withLabelsMixin(labels)

Note: This function appends passed data to existing values

obj spec.service.canary

"Metadata to add to the canary service"

fn spec.service.canary.withAnnotations

withAnnotations(annotations)

fn spec.service.canary.withAnnotationsMixin

withAnnotationsMixin(annotations)

Note: This function appends passed data to existing values

fn spec.service.canary.withLabels

withLabels(labels)

fn spec.service.canary.withLabelsMixin

withLabelsMixin(labels)

Note: This function appends passed data to existing values

obj spec.service.corsPolicy

"Istio Cross-Origin Resource Sharing policy (CORS)"

fn spec.service.corsPolicy.withAllowCredentials

withAllowCredentials(allowCredentials)

fn spec.service.corsPolicy.withAllowHeaders

withAllowHeaders(allowHeaders)

fn spec.service.corsPolicy.withAllowHeadersMixin

withAllowHeadersMixin(allowHeaders)

Note: This function appends passed data to existing values

fn spec.service.corsPolicy.withAllowMethods

withAllowMethods(allowMethods)

"List of HTTP methods allowed to access the resource"

fn spec.service.corsPolicy.withAllowMethodsMixin

withAllowMethodsMixin(allowMethods)

"List of HTTP methods allowed to access the resource"

Note: This function appends passed data to existing values

fn spec.service.corsPolicy.withAllowOrigin

withAllowOrigin(allowOrigin)

"The list of origins that are allowed to perform CORS requests."

fn spec.service.corsPolicy.withAllowOriginMixin

withAllowOriginMixin(allowOrigin)

"The list of origins that are allowed to perform CORS requests."

Note: This function appends passed data to existing values

fn spec.service.corsPolicy.withAllowOrigins

withAllowOrigins(allowOrigins)

"String patterns that match allowed origins"

fn spec.service.corsPolicy.withAllowOriginsMixin

withAllowOriginsMixin(allowOrigins)

"String patterns that match allowed origins"

Note: This function appends passed data to existing values

fn spec.service.corsPolicy.withExposeHeaders

withExposeHeaders(exposeHeaders)

fn spec.service.corsPolicy.withExposeHeadersMixin

withExposeHeadersMixin(exposeHeaders)

Note: This function appends passed data to existing values

fn spec.service.corsPolicy.withMaxAge

withMaxAge(maxAge)

obj spec.service.corsPolicy.allowOrigins

"String patterns that match allowed origins"

fn spec.service.corsPolicy.allowOrigins.withExact

withExact(exact)

fn spec.service.corsPolicy.allowOrigins.withPrefix

withPrefix(prefix)

fn spec.service.corsPolicy.allowOrigins.withRegex

withRegex(regex)

obj spec.service.gatewayRefs

"The list of parent Gateways for a HTTPRoute"

fn spec.service.gatewayRefs.withGroup

withGroup(group)

fn spec.service.gatewayRefs.withKind

withKind(kind)

fn spec.service.gatewayRefs.withName

withName(name)

fn spec.service.gatewayRefs.withNamespace

withNamespace(namespace)

fn spec.service.gatewayRefs.withPort

withPort(port)

fn spec.service.gatewayRefs.withSectionName

withSectionName(sectionName)

obj spec.service.headers

"Headers operations"

obj spec.service.headers.request

fn spec.service.headers.request.withAdd

withAdd(add)

fn spec.service.headers.request.withAddMixin

withAddMixin(add)

Note: This function appends passed data to existing values

fn spec.service.headers.request.withRemove

withRemove(remove)

fn spec.service.headers.request.withRemoveMixin

withRemoveMixin(remove)

Note: This function appends passed data to existing values

fn spec.service.headers.request.withSet

withSet(set)

fn spec.service.headers.request.withSetMixin

withSetMixin(set)

Note: This function appends passed data to existing values

obj spec.service.headers.response

fn spec.service.headers.response.withAdd

withAdd(add)

fn spec.service.headers.response.withAddMixin

withAddMixin(add)

Note: This function appends passed data to existing values

fn spec.service.headers.response.withRemove

withRemove(remove)

fn spec.service.headers.response.withRemoveMixin

withRemoveMixin(remove)

Note: This function appends passed data to existing values

fn spec.service.headers.response.withSet

withSet(set)

fn spec.service.headers.response.withSetMixin

withSetMixin(set)

Note: This function appends passed data to existing values

obj spec.service.match

"URI match conditions"

fn spec.service.match.withGateways

withGateways(gateways)

"Names of gateways where the rule should be applied."

fn spec.service.match.withGatewaysMixin

withGatewaysMixin(gateways)

"Names of gateways where the rule should be applied."

Note: This function appends passed data to existing values

fn spec.service.match.withHeaders

withHeaders(headers)

fn spec.service.match.withHeadersMixin

withHeadersMixin(headers)

Note: This function appends passed data to existing values

fn spec.service.match.withIgnoreUriCase

withIgnoreUriCase(ignoreUriCase)

"Flag to specify whether the URI matching should be case-insensitive."

fn spec.service.match.withName

withName(name)

"The name assigned to a match."

fn spec.service.match.withPort

withPort(port)

"Specifies the ports on the host that is being addressed."

fn spec.service.match.withQueryParams

withQueryParams(queryParams)

"Query parameters for matching."

fn spec.service.match.withQueryParamsMixin

withQueryParamsMixin(queryParams)

"Query parameters for matching."

Note: This function appends passed data to existing values

fn spec.service.match.withSourceLabels

withSourceLabels(sourceLabels)

fn spec.service.match.withSourceLabelsMixin

withSourceLabelsMixin(sourceLabels)

Note: This function appends passed data to existing values

fn spec.service.match.withSourceNamespace

withSourceNamespace(sourceNamespace)

"Source namespace constraining the applicability of a rule to workloads in that namespace."

fn spec.service.match.withWithoutHeaders

withWithoutHeaders(withoutHeaders)

"withoutHeader has the same syntax with the header, but has opposite meaning."

fn spec.service.match.withWithoutHeadersMixin

withWithoutHeadersMixin(withoutHeaders)

"withoutHeader has the same syntax with the header, but has opposite meaning."

Note: This function appends passed data to existing values

obj spec.service.match.authority

fn spec.service.match.authority.withExact

withExact(exact)

fn spec.service.match.authority.withPrefix

withPrefix(prefix)

fn spec.service.match.authority.withRegex

withRegex(regex)

"RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)."

obj spec.service.match.method

fn spec.service.match.method.withExact

withExact(exact)

fn spec.service.match.method.withPrefix

withPrefix(prefix)

fn spec.service.match.method.withRegex

withRegex(regex)

"RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)."

obj spec.service.match.scheme

fn spec.service.match.scheme.withExact

withExact(exact)

fn spec.service.match.scheme.withPrefix

withPrefix(prefix)

fn spec.service.match.scheme.withRegex

withRegex(regex)

"RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)."

obj spec.service.match.uri

fn spec.service.match.uri.withExact

withExact(exact)

fn spec.service.match.uri.withPrefix

withPrefix(prefix)

fn spec.service.match.uri.withRegex

withRegex(regex)

"RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)."

obj spec.service.mirror

"Mirror defines a schema for a filter that mirrors requests."

obj spec.service.mirror.backendRef

fn spec.service.mirror.backendRef.withGroup

withGroup(group)

fn spec.service.mirror.backendRef.withKind

withKind(kind)

fn spec.service.mirror.backendRef.withName

withName(name)

fn spec.service.mirror.backendRef.withNamespace

withNamespace(namespace)

fn spec.service.mirror.backendRef.withPort

withPort(port)

obj spec.service.primary

"Metadata to add to the primary service"

fn spec.service.primary.withAnnotations

withAnnotations(annotations)

fn spec.service.primary.withAnnotationsMixin

withAnnotationsMixin(annotations)

Note: This function appends passed data to existing values

fn spec.service.primary.withLabels

withLabels(labels)

fn spec.service.primary.withLabelsMixin

withLabelsMixin(labels)

Note: This function appends passed data to existing values

obj spec.service.retries

"Retry policy for HTTP requests"

fn spec.service.retries.withAttempts

withAttempts(attempts)

"Number of retries for a given request"

fn spec.service.retries.withPerTryTimeout

withPerTryTimeout(perTryTimeout)

"Timeout per retry attempt for a given request"

fn spec.service.retries.withRetryOn

withRetryOn(retryOn)

"Specifies the conditions under which retry takes place"

obj spec.service.rewrite

"Rewrite HTTP URIs"

fn spec.service.rewrite.withAuthority

withAuthority(authority)

fn spec.service.rewrite.withType

withType(type)

fn spec.service.rewrite.withUri

withUri(uri)

obj spec.service.trafficPolicy

"Istio traffic policy"

obj spec.service.trafficPolicy.connectionPool

obj spec.service.trafficPolicy.connectionPool.http

"HTTP connection pool settings."

fn spec.service.trafficPolicy.connectionPool.http.withH2UpgradePolicy

withH2UpgradePolicy(h2UpgradePolicy)

"Specify if http1.1 connection should be upgraded to http2 for the associated destination."

fn spec.service.trafficPolicy.connectionPool.http.withHttp1MaxPendingRequests

withHttp1MaxPendingRequests(http1MaxPendingRequests)

"Maximum number of pending HTTP requests to a destination."

fn spec.service.trafficPolicy.connectionPool.http.withHttp2MaxRequests

withHttp2MaxRequests(http2MaxRequests)

"Maximum number of requests to a backend."

fn spec.service.trafficPolicy.connectionPool.http.withIdleTimeout

withIdleTimeout(idleTimeout)

"The idle timeout for upstream connection pool connections."

fn spec.service.trafficPolicy.connectionPool.http.withMaxRequestsPerConnection

withMaxRequestsPerConnection(maxRequestsPerConnection)

"Maximum number of requests per connection to a backend."

fn spec.service.trafficPolicy.connectionPool.http.withMaxRetries

withMaxRetries(maxRetries)

obj spec.service.trafficPolicy.loadBalancer

"Settings controlling the load balancer algorithms."

fn spec.service.trafficPolicy.loadBalancer.withSimple

withSimple(simple)

fn spec.service.trafficPolicy.loadBalancer.withWarmupDurationSecs

withWarmupDurationSecs(warmupDurationSecs)

"Represents the warmup duration of Service."

obj spec.service.trafficPolicy.loadBalancer.consistentHash

fn spec.service.trafficPolicy.loadBalancer.consistentHash.withHttpHeaderName

withHttpHeaderName(httpHeaderName)

"Hash based on a specific HTTP header."

fn spec.service.trafficPolicy.loadBalancer.consistentHash.withHttpQueryParameterName

withHttpQueryParameterName(httpQueryParameterName)

"Hash based on a specific HTTP query parameter."

fn spec.service.trafficPolicy.loadBalancer.consistentHash.withMinimumRingSize

withMinimumRingSize(minimumRingSize)

fn spec.service.trafficPolicy.loadBalancer.consistentHash.withUseSourceIp

withUseSourceIp(useSourceIp)

"Hash based on the source IP address."

obj spec.service.trafficPolicy.loadBalancer.consistentHash.httpCookie

"Hash based on HTTP cookie."

fn spec.service.trafficPolicy.loadBalancer.consistentHash.httpCookie.withName

withName(name)

"Name of the cookie."

fn spec.service.trafficPolicy.loadBalancer.consistentHash.httpCookie.withPath

withPath(path)

"Path to set for the cookie."

fn spec.service.trafficPolicy.loadBalancer.consistentHash.httpCookie.withTtl

withTtl(ttl)

"Lifetime of the cookie."

obj spec.service.trafficPolicy.loadBalancer.localityLbSetting

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.withDistribute

withDistribute(distribute)

"Optional: only one of distribute or failover can be set."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.withDistributeMixin

withDistributeMixin(distribute)

"Optional: only one of distribute or failover can be set."

Note: This function appends passed data to existing values

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.withEnabled

withEnabled(enabled)

"enable locality load balancing, this is DestinationRule-level and will override mesh wide settings in entirety."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.withFailover

withFailover(failover)

"Optional: only failover or distribute can be set."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.withFailoverMixin

withFailoverMixin(failover)

"Optional: only failover or distribute can be set."

Note: This function appends passed data to existing values

obj spec.service.trafficPolicy.loadBalancer.localityLbSetting.distribute

"Optional: only one of distribute or failover can be set."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.distribute.withFrom

withFrom(from)

"Originating locality, '/' separated, e.g."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.distribute.withTo

withTo(to)

"Map of upstream localities to traffic distribution weights."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.distribute.withToMixin

withToMixin(to)

"Map of upstream localities to traffic distribution weights."

Note: This function appends passed data to existing values

obj spec.service.trafficPolicy.loadBalancer.localityLbSetting.failover

"Optional: only failover or distribute can be set."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.failover.withFrom

withFrom(from)

"Originating region."

fn spec.service.trafficPolicy.loadBalancer.localityLbSetting.failover.withTo

withTo(to)

obj spec.service.trafficPolicy.outlierDetection

"Settings controlling eviction of unhealthy hosts from the load balancing pool."

fn spec.service.trafficPolicy.outlierDetection.withBaseEjectionTime

withBaseEjectionTime(baseEjectionTime)

"Minimum ejection duration."

fn spec.service.trafficPolicy.outlierDetection.withConsecutive5xxErrors

withConsecutive5xxErrors(consecutive5xxErrors)

"Number of 5xx errors before a host is ejected from the connection pool."

fn spec.service.trafficPolicy.outlierDetection.withConsecutiveErrors

withConsecutiveErrors(consecutiveErrors)

fn spec.service.trafficPolicy.outlierDetection.withConsecutiveGatewayErrors

withConsecutiveGatewayErrors(consecutiveGatewayErrors)

"Number of gateway errors before a host is ejected from the connection pool."

fn spec.service.trafficPolicy.outlierDetection.withInterval

withInterval(interval)

"Time interval between ejection sweep analysis."

fn spec.service.trafficPolicy.outlierDetection.withMaxEjectionPercent

withMaxEjectionPercent(maxEjectionPercent)

fn spec.service.trafficPolicy.outlierDetection.withMinHealthPercent

withMinHealthPercent(minHealthPercent)

obj spec.service.trafficPolicy.tls

"Istio TLS related settings for connections to the upstream service"

fn spec.service.trafficPolicy.tls.withCaCertificates

withCaCertificates(caCertificates)

fn spec.service.trafficPolicy.tls.withClientCertificate

withClientCertificate(clientCertificate)

"REQUIRED if mode is MUTUAL."

fn spec.service.trafficPolicy.tls.withMode

withMode(mode)

fn spec.service.trafficPolicy.tls.withPrivateKey

withPrivateKey(privateKey)

"REQUIRED if mode is MUTUAL."

fn spec.service.trafficPolicy.tls.withSni

withSni(sni)

"SNI string to present to the server during TLS handshake."

fn spec.service.trafficPolicy.tls.withSubjectAltNames

withSubjectAltNames(subjectAltNames)

fn spec.service.trafficPolicy.tls.withSubjectAltNamesMixin

withSubjectAltNamesMixin(subjectAltNames)

Note: This function appends passed data to existing values

obj spec.targetRef

"Target selector"

fn spec.targetRef.withApiVersion

withApiVersion(apiVersion)

fn spec.targetRef.withKind

withKind(kind)

fn spec.targetRef.withName

withName(name)

obj spec.upstreamRef

"Gloo Upstream selector"

fn spec.upstreamRef.withApiVersion

withApiVersion(apiVersion)

fn spec.upstreamRef.withKind

withKind(kind)

fn spec.upstreamRef.withName

withName(name)

fn spec.upstreamRef.withNamespace

withNamespace(namespace)