flagger.v1beta1.canary
"Canary is the Schema for the Canary API."
Index
fn new(name)
obj metadata
fn withAnnotations(annotations)
fn withAnnotationsMixin(annotations)
fn withClusterName(clusterName)
fn withCreationTimestamp(creationTimestamp)
fn withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)
fn withDeletionTimestamp(deletionTimestamp)
fn withFinalizers(finalizers)
fn withFinalizersMixin(finalizers)
fn withGenerateName(generateName)
fn withGeneration(generation)
fn withLabels(labels)
fn withLabelsMixin(labels)
fn withName(name)
fn withNamespace(namespace)
fn withOwnerReferences(ownerReferences)
fn withOwnerReferencesMixin(ownerReferences)
fn withResourceVersion(resourceVersion)
fn withSelfLink(selfLink)
fn withUid(uid)
obj spec
fn withMetricsServer(metricsServer)
fn withProgressDeadlineSeconds(progressDeadlineSeconds)
fn withProvider(provider)
fn withRevertOnDeletion(revertOnDeletion)
fn withSkipAnalysis(skipAnalysis)
fn withSuspend(suspend)
obj spec.analysis
fn withAlerts(alerts)
fn withAlertsMixin(alerts)
fn withCanaryReadyThreshold(canaryReadyThreshold)
fn withInterval(interval)
fn withIterations(iterations)
fn withMatch(match)
fn withMatchMixin(match)
fn withMaxWeight(maxWeight)
fn withMetrics(metrics)
fn withMetricsMixin(metrics)
fn withMirror(mirror)
fn withMirrorWeight(mirrorWeight)
fn withPrimaryReadyThreshold(primaryReadyThreshold)
fn withStepWeight(stepWeight)
fn withStepWeightPromotion(stepWeightPromotion)
fn withStepWeights(stepWeights)
fn withStepWeightsMixin(stepWeights)
fn withThreshold(threshold)
fn withWebhooks(webhooks)
fn withWebhooksMixin(webhooks)
obj spec.analysis.alerts
obj spec.analysis.match
obj spec.analysis.metrics
obj spec.analysis.sessionAffinity
obj spec.analysis.webhooks
obj spec.autoscalerRef
obj spec.ingressRef
obj spec.routeRef
obj spec.service
fn withAppProtocol(appProtocol)
fn withBackends(backends)
fn withBackendsMixin(backends)
fn withDelegation(delegation)
fn withGatewayRefs(gatewayRefs)
fn withGatewayRefsMixin(gatewayRefs)
fn withGateways(gateways)
fn withGatewaysMixin(gateways)
fn withHosts(hosts)
fn withHostsMixin(hosts)
fn withMatch(match)
fn withMatchMixin(match)
fn withMeshName(meshName)
fn withMirror(mirror)
fn withMirrorMixin(mirror)
fn withName(name)
fn withPort(port)
fn withPortDiscovery(portDiscovery)
fn withPortName(portName)
fn withTargetPort(targetPort)
fn withTimeout(timeout)
obj spec.service.apex
obj spec.service.canary
obj spec.service.corsPolicy
fn withAllowCredentials(allowCredentials)
fn withAllowHeaders(allowHeaders)
fn withAllowHeadersMixin(allowHeaders)
fn withAllowMethods(allowMethods)
fn withAllowMethodsMixin(allowMethods)
fn withAllowOrigin(allowOrigin)
fn withAllowOriginMixin(allowOrigin)
fn withAllowOrigins(allowOrigins)
fn withAllowOriginsMixin(allowOrigins)
fn withExposeHeaders(exposeHeaders)
fn withExposeHeadersMixin(exposeHeaders)
fn withMaxAge(maxAge)
obj spec.service.corsPolicy.allowOrigins
obj spec.service.gatewayRefs
obj spec.service.headers
obj spec.service.match
fn withGateways(gateways)
fn withGatewaysMixin(gateways)
fn withHeaders(headers)
fn withHeadersMixin(headers)
fn withIgnoreUriCase(ignoreUriCase)
fn withName(name)
fn withPort(port)
fn withQueryParams(queryParams)
fn withQueryParamsMixin(queryParams)
fn withSourceLabels(sourceLabels)
fn withSourceLabelsMixin(sourceLabels)
fn withSourceNamespace(sourceNamespace)
fn withWithoutHeaders(withoutHeaders)
fn withWithoutHeadersMixin(withoutHeaders)
obj spec.service.match.authority
obj spec.service.match.method
obj spec.service.match.scheme
obj spec.service.match.uri
obj spec.service.mirror
obj spec.service.primary
obj spec.service.retries
obj spec.service.rewrite
obj spec.service.trafficPolicy
obj spec.service.trafficPolicy.connectionPool
obj spec.service.trafficPolicy.loadBalancer
fn withSimple(simple)
fn withWarmupDurationSecs(warmupDurationSecs)
obj spec.service.trafficPolicy.loadBalancer.consistentHash
obj spec.service.trafficPolicy.loadBalancer.localityLbSetting
obj spec.service.trafficPolicy.outlierDetection
fn withBaseEjectionTime(baseEjectionTime)
fn withConsecutive5xxErrors(consecutive5xxErrors)
fn withConsecutiveErrors(consecutiveErrors)
fn withConsecutiveGatewayErrors(consecutiveGatewayErrors)
fn withInterval(interval)
fn withMaxEjectionPercent(maxEjectionPercent)
fn withMinHealthPercent(minHealthPercent)
obj spec.service.trafficPolicy.tls
obj spec.targetRef
obj spec.upstreamRef
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"
fn metadata.withSelfLink
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."
obj spec.analysis.webhooks
"Webhook list for this canary"
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.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)