Service Mesh Operator API
Istio
- Description
- Istio represents an Istio Service Mesh deployment consisting of one or more control plane instances (represented by one or more IstioRevision objects). To deploy an Istio Service Mesh, a user creates an Istio object with the desired Istio version and configuration. The operator then creates an IstioRevision object, which in turn creates the underlying Deployment objects for istiod and other control plane components, similar to how a Deployment object in Kubernetes creates ReplicaSets that create the Pods.
- Type
object
Specification
.spec
- Description
- IstioSpec defines the desired state of Istio
- Type
object- Required
namespaceversion
.spec.updateStrategy
- Description
- Defines the update strategy to use when the version in the Istio CR is updated.
- Type
object
.spec.values
- Description
- Defines the values to be passed to the Helm charts when installing Istio.
- Type
object
.spec.values.base
- Description
- Configuration for the base component.
- Type
object
.spec.values.base.excludedCRDs
- Description
- CRDs to exclude. Requires `enableCRDTemplates`
- Type
array
.spec.values.base.excludedCRDs[]
- Type
string
.spec.values.global
- Description
- Global configuration for Istio components.
- Type
object
.spec.values.global.arch
- Description
- Specifies pod scheduling arch(amd64, ppc64le, s390x, arm64) and weight as follows: 0 - Never scheduled 1 - Least preferred 2 - No preference 3 - Most preferred Deprecated: replaced by the affinity k8s settings which allows architecture nodeAffinity configuration of this behavior. Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.certSigners
- Description
- List of certSigners to allow "approve" action in the ClusterRole
- Type
array
.spec.values.global.certSigners[]
- Type
string
.spec.values.global.defaultNodeSelector
- Description
- Default k8s node selector for all the Istio control plane components See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.defaultPodDisruptionBudget
- Description
- Specifies the default pod disruption budget configuration.
- Type
object
.spec.values.global.defaultResources
- Description
- Default k8s resources settings for all Istio control plane components. See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.defaultResources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.defaultResources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.defaultResources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.defaultResources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.defaultTolerations
- Description
- Default node tolerations to be applied to all deployments so that all pods can be scheduled to nodes with matching taints. Each component can overwrite these default values by adding its tolerations block in the relevant section below and setting the desired values. Configure this field in case that all pods of Istio control plane are expected to be scheduled to particular nodes with specified taints. Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
array
.spec.values.global.defaultTolerations[]
- Description
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- Type
object
.spec.values.global.imagePullSecrets
- Description
- ImagePullSecrets for the control plane ServiceAccount, list of secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. Must be set for any cluster configured with private docker registry.
- Type
array
.spec.values.global.imagePullSecrets[]
- Type
string
.spec.values.global.ipFamilies
- Description
- Defines which IP family to use for single stack or the order of IP families for dual-stack. Valid list items are "IPv4", "IPv6". More info: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
- Type
array
.spec.values.global.ipFamilies[]
- Type
string
.spec.values.global.istiod
- Description
- Specifies the configution of istiod
- Type
object
.spec.values.global.logging
- Description
- Specifies the global logging level settings for the Istio control plane components.
- Type
object
.spec.values.global.meshNetworks
- Description
- Configure the mesh networks to be used by the Split Horizon EDS. The following example defines two networks with different endpoints association methods. For `network1` all endpoints that their IP belongs to the provided CIDR range will be mapped to network1. The gateway for this network example is specified by its public IP address and port. The second network, `network2`, in this example is defined differently with all endpoints retrieved through the specified Multi-Cluster registry being mapped to network2. The gateway is also defined differently with the name of the gateway service on the remote cluster. The public IP for the gateway will be determined from that remote service (only LoadBalancer gateway service type is currently supported, for a NodePort type gateway service, it still need to be configured manually). meshNetworks: network1: endpoints: - fromCidr: "192.168.0.1/24" gateways: - address: 1.1.1.1 port: 80 network2: endpoints: - fromRegistry: reg1 gateways: - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local port: 443
- Type
object
.spec.values.global.multiCluster
- Description
- Specifies the Configuration for Istio mesh across multiple clusters through Istio gateways.
- Type
object
.spec.values.global.networkPolicy
- Description
- Settings related to Kubernetes NetworkPolicy.
- Type
object
.spec.values.global.podDNSSearchNamespaces
- Description
- Custom DNS config for the pod to resolve names of services in other clusters. Use this to add additional search domains, and other settings. see https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config This does not apply to gateway pods as they typically need a different set of DNS settings than the normal application pods (e.g. in multicluster scenarios).
- Type
array
.spec.values.global.podDNSSearchNamespaces[]
- Type
string
.spec.values.global.proxy
- Description
- Specifies how proxies are configured within Istio.
- Type
object
.spec.values.global.proxy.lifecycle
- Description
- The k8s lifecycle hooks definition (pod.spec.containers.lifecycle) for the proxy container. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
- Type
object
.spec.values.global.proxy.lifecycle.postStart
- Description
- PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
- Type
object
.spec.values.global.proxy.lifecycle.postStart.exec
- Description
- Exec specifies a command to execute in the container.
- Type
object
.spec.values.global.proxy.lifecycle.postStart.exec.command
- Description
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- Type
array
.spec.values.global.proxy.lifecycle.postStart.exec.command[]
- Type
string
.spec.values.global.proxy.lifecycle.postStart.httpGet
- Description
- HTTPGet specifies an HTTP GET request to perform.
- Type
object- Required
port
.spec.values.global.proxy.lifecycle.postStart.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
array
.spec.values.global.proxy.lifecycle.postStart.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
object- Required
namevalue
.spec.values.global.proxy.lifecycle.postStart.sleep
- Description
- Sleep represents a duration that the container should sleep.
- Type
object- Required
seconds
.spec.values.global.proxy.lifecycle.postStart.tcpSocket
- Description
- Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for backward compatibility. There is no validation of this field and lifecycle hooks will fail at runtime when it is specified.
- Type
object- Required
port
.spec.values.global.proxy.lifecycle.preStop
- Description
- PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
- Type
object
.spec.values.global.proxy.lifecycle.preStop.exec
- Description
- Exec specifies a command to execute in the container.
- Type
object
.spec.values.global.proxy.lifecycle.preStop.exec.command
- Description
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- Type
array
.spec.values.global.proxy.lifecycle.preStop.exec.command[]
- Type
string
.spec.values.global.proxy.lifecycle.preStop.httpGet
- Description
- HTTPGet specifies an HTTP GET request to perform.
- Type
object- Required
port
.spec.values.global.proxy.lifecycle.preStop.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
array
.spec.values.global.proxy.lifecycle.preStop.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
object- Required
namevalue
.spec.values.global.proxy.lifecycle.preStop.sleep
- Description
- Sleep represents a duration that the container should sleep.
- Type
object- Required
seconds
.spec.values.global.proxy.lifecycle.preStop.tcpSocket
- Description
- Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for backward compatibility. There is no validation of this field and lifecycle hooks will fail at runtime when it is specified.
- Type
object- Required
port
.spec.values.global.proxy.resources
- Description
- K8s resources settings. See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.proxy.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.proxy.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.proxy.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.proxy.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.proxy.startupProbe
- Description
- Configures the startup probe for the istio-proxy container.
- Type
object
.spec.values.global.proxy_init
- Description
- Specifies the Configuration for proxy_init container which sets the pods' networking to intercept the inbound/outbound traffic.
- Type
object
.spec.values.global.proxy_init.resources
- Description
- K8s resources settings. See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.proxy_init.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.proxy_init.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.proxy_init.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.proxy_init.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.sds
- Description
- Specifies the Configuration for the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
- Type
object
.spec.values.global.sds.token
- Description
- Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.sts
- Description
- Specifies the configuration for Security Token Service.
- Type
object
.spec.values.global.tracer
- Description
- Specifies the Configuration for each of the supported tracers.
- Type
object
.spec.values.global.tracer.datadog
- Description
- Configuration for the datadog tracing service.
- Type
object
.spec.values.global.tracer.lightstep
- Description
- Configuration for the lightstep tracing service.
- Type
object
.spec.values.global.tracer.stackdriver
- Description
- Configuration for the stackdriver tracing service.
- Type
object
.spec.values.global.tracer.zipkin
- Description
- Configuration for the zipkin tracing service.
- Type
object
.spec.values.global.waypoint
- Description
- Specifies how waypoints are configured within Istio.
- Type
object
.spec.values.global.waypoint.affinity
- Description
- K8s affinity settings for waypoint pods. See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
- Type
object
.spec.values.global.waypoint.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
object
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
- Type
object- Required
preferenceweight
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
object
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
- Type
object- Required
nodeSelectorTerms
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- Type
object
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.global.waypoint.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.global.waypoint.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.global.waypoint.nodeSelector
- Description
- K8s node labels settings. See https://kubernetes.io/docs/user-guide/node-selection/
- Type
object- Required
nodeSelectorTerms
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[]
- Description
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- Type
object
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.nodeSelector.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.values.global.waypoint.resources
- Description
- K8s resource settings. See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container
- Type
object
.spec.values.global.waypoint.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.waypoint.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.waypoint.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.waypoint.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.waypoint.toleration
- Description
- K8s tolerations settings. See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
- Type
array
.spec.values.global.waypoint.toleration[]
- Description
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- Type
object
.spec.values.global.waypoint.topologySpreadConstraints
- Description
- K8s topology spread constraints settings. See https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
- Type
array
.spec.values.global.waypoint.topologySpreadConstraints[]
- Description
- TopologySpreadConstraint specifies how to spread matching pods among the given topology.
- Type
object- Required
maxSkewtopologyKeywhenUnsatisfiable
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector
- Description
- LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
- Type
object
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.global.waypoint.topologySpreadConstraints[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.global.waypoint.topologySpreadConstraints[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
- Type
array
.spec.values.global.waypoint.topologySpreadConstraints[].matchLabelKeys[]
- Type
string
.spec.values.istiodRemote
- Description
- Configuration for istiod-remote. DEPRECATED - istiod-remote chart is removed and replaced with `istio-discovery --set values.istiodRemote.enabled=true` Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.meshConfig
- Description
- Defines runtime configuration of components, including Istiod and istio-agent behavior. See https://istio.io/docs/reference/config/istio.mesh.v1alpha1/ for all available options.
- Type
object
.spec.values.meshConfig.ca
- Description
- If specified, Istiod will authorize and forward the CSRs from the workloads to the specified external CA using the Istio CA gRPC API.
- Type
object- Required
address
.spec.values.meshConfig.ca.tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. Regarding tlsSettings: - DISABLE MODE is legitimate for the case Istiod is making the request via an Envoy sidecar. DISABLE MODE can also be used for testing - TLS MUTUAL MODE be on by default. If the CA certificates (cert bundle to verify the CA server's certificate) is omitted, Istiod will use the system root certs to verify the CA server's certificate.
- Type
object
.spec.values.meshConfig.ca.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.meshConfig.ca.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.meshConfig.caCertificates
- Description
- The extra root certificates for workload-to-workload communication. The plugin certificates (the 'cacerts' secret) or self-signed certificates (the 'istio-ca-secret' secret) are automatically added by Istiod. The CA certificate that signs the workload certificates is automatically added by Istio Agent.
- Type
array
.spec.values.meshConfig.caCertificates[]
- Type
object
.spec.values.meshConfig.caCertificates[].certSigners
- Description
- when Istiod is acting as RA(registration authority) If set, they are used for these signers. Otherwise, this trustAnchor is used for all signers.
- Type
array
.spec.values.meshConfig.caCertificates[].certSigners[]
- Type
string
.spec.values.meshConfig.caCertificates[].trustDomains
- Description
- Optional. Specify the list of trust domains to which this trustAnchor data belongs. If set, they are used for these trust domains. Otherwise, this trustAnchor is used for default trust domain and its aliases. Note that we can have multiple trustAnchor data for a same trustDomain. In that case, trustAnchors with a same trust domain will be merged and used together to verify peer certificates. If neither certSigners nor trustDomains is set, this trustAnchor is used for all trust domains and all signers. If only trustDomains is set, this trustAnchor is used for these trustDomains and all signers. If only certSigners is set, this trustAnchor is used for these certSigners and all trust domains. If both certSigners and trustDomains is set, this trustAnchor is only used for these signers and trust domains.
- Type
array
.spec.values.meshConfig.caCertificates[].trustDomains[]
- Type
string
.spec.values.meshConfig.certificates
- Description
- Configure the provision of certificates. Note: Deprecated, please refer to Cert-Manager or other cert provisioning solutions to sign DNS certificates. Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
array
.spec.values.meshConfig.certificates[]
- Description
- Certificate configures the provision of a certificate and its key. Example 1: key and cert stored in a secret ``` { secretName: galley-cert secretNamespace: istio-system dnsNames: - galley.istio-system.svc - galley.mydomain.com } ``` Example 2: key and cert stored in a directory ``` { dnsNames: - pilot.istio-system - pilot.istio-system.svc - pilot.mydomain.com } ```
- Type
object
.spec.values.meshConfig.certificates[].dnsNames
- Description
- The DNS names for the certificate. A certificate may contain multiple DNS names.
- Type
array
.spec.values.meshConfig.certificates[].dnsNames[]
- Type
string
.spec.values.meshConfig.configSources
- Description
- ConfigSource describes a source of configuration data for networking rules, and other Istio configuration artifacts. Multiple data sources can be configured for a single control plane.
- Type
array
.spec.values.meshConfig.configSources[]
- Description
- ConfigSource describes information about a configuration store inside a mesh. A single control plane instance can interact with one or more data sources.
- Type
object
.spec.values.meshConfig.configSources[].subscribedResources
- Description
- Describes the source of configuration, if nothing is specified default is MCP
- Type
array
.spec.values.meshConfig.configSources[].subscribedResources[]
- Description
- Resource describes the source of configuration
- Type
string
.spec.values.meshConfig.configSources[].tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. If the MCP server uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.meshConfig.configSources[].tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.meshConfig.configSources[].tlsSettings.subjectAltNames[]
- Type
string
.spec.values.meshConfig.defaultConfig
- Description
- Default proxy config used by gateway and sidecars. In case of Kubernetes, the proxy config is applied once during the injection process, and remain constant for the duration of the pod. The rest of the mesh config can be changed at runtime and config gets distributed dynamically. On Kubernetes, this can be overridden on individual pods with the `proxy.istio.io/config` annotation.
- Type
object
.spec.values.meshConfig.defaultConfig.caCertificatesPem
- Description
- The PEM data of the extra root certificates for workload-to-workload communication. This includes the certificates defined in MeshConfig and any other certificates that Istiod uses as CA. The plugin certificates (the 'cacerts' secret), self-signed certificates (the 'istio-ca-secret' secret) are added automatically by Istiod.
- Type
array
.spec.values.meshConfig.defaultConfig.caCertificatesPem[]
- Type
string
.spec.values.meshConfig.defaultConfig.envoyAccessLogService
- Description
- Address of the service to which access logs from Envoys should be sent. (e.g. `accesslog-service:15000`). See [Access Log Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/accesslog/v2/als.proto) for details about Envoy's gRPC Access Log Service API.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyAccessLogService.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings
- Description
- Use the `tlsSettings` to specify the tls mode to use. If the remote service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.meshConfig.defaultConfig.envoyMetricsService
- Description
- Address of the Envoy Metrics Service implementation (e.g. `metrics-service:15000`). See [Metric Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto) for details about Envoy's Metrics Service API.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyMetricsService.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyMetricsService.tlsSettings
- Description
- Use the `tlsSettings` to specify the tls mode to use. If the remote service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.meshConfig.defaultConfig.envoyMetricsService.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.meshConfig.defaultConfig.envoyMetricsService.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.meshConfig.defaultConfig.extraStatTags
- Description
- An additional list of tags to extract from the in-proxy Istio telemetry. These extra tags can be added by configuring the telemetry extension. Each additional tag needs to be present in this list. Extra tags emitted by the telemetry extensions must be listed here so that they can be processed and exposed as Prometheus metrics. Deprecated: `istio.stats` is a native filter now, this field is no longer needed.
- Type
array
.spec.values.meshConfig.defaultConfig.extraStatTags[]
- Type
string
.spec.values.meshConfig.defaultConfig.gatewayTopology
- Description
- Topology encapsulates the configuration which describes where the proxy is located i.e. behind a (or N) trusted proxy (proxies) or directly exposed to the internet. This configuration only effects gateways and is applied to all the gateways in the cluster unless overridden via annotations of the gateway workloads.
- Type
object
.spec.values.meshConfig.defaultConfig.gatewayTopology.proxyProtocol
- Description
- Enables [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for downstream connections on a gateway.
- Type
object
.spec.values.meshConfig.defaultConfig.image
- Description
- Specifies the details of the proxy image.
- Type
object
.spec.values.meshConfig.defaultConfig.privateKeyProvider
- Description
- Specifies the details of the Private Key Provider configuration for gateway and sidecar proxies.
- Type
object
.spec.values.meshConfig.defaultConfig.privateKeyProvider.cryptomb
- Description
- Use CryptoMb private key provider
- Type
object
.spec.values.meshConfig.defaultConfig.privateKeyProvider.qat
- Description
- Use QAT private key provider
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders
- Description
- Define the set of headers to add/modify for HTTP request/responses. To enable an optional header, simply set the field. If no specific configuration is required, an empty object (`{}`) will enable it. Note: currently all headers are enabled by default. Below shows an example of customizing the `server` header and disabling the `X-Envoy-Attempt-Count` header: ```yaml proxyHeaders: server: value: "my-custom-server" # Explicitly enable Request IDs. # As this is the default, this has no effect. requestId: {} attemptCount: disabled: true ``` # Below shows an example of preserving the header case for HTTP 1.x requests ```yaml proxyHeaders: preserveHttp1HeaderCase: true ``` Some headers are enabled by default, and require explicitly disabling. See below for an example of disabling all default-enabled headers: ```yaml proxyHeaders: forwardedClientCert: SANITIZE server: disabled: true requestId: disabled: true attemptCount: disabled: true envoyDebugHeaders: disabled: true metadataExchangeHeaders: mode: IN_MESH ```
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.attemptCount
- Description
- Controls the `X-Envoy-Attempt-Count` header. If enabled, this header will be added on outbound request headers (including gateways) that have retries configured. If disabled, this header will not be set. If it is already present, it will be preserved. This header is enabled by default if not configured.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.envoyDebugHeaders
- Description
- Controls various `X-Envoy-*` headers, such as `X-Envoy-Overloaded` and `X-Envoy-Upstream-Service-Time`. If enabled, these headers will be included. If disabled, these headers will not be set. If they are already present, they will be preserved. See the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/router/v3/router.proto#envoy-v3-api-field-extensions-filters-http-router-v3-router-suppress-envoy-headers) for more details. These headers are enabled by default if not configured.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.metadataExchangeHeaders
- Description
- Controls Istio metadata exchange headers `X-Envoy-Peer-Metadata` and `X-Envoy-Peer-Metadata-Id`. By default, the behavior is unspecified. If IN_MESH, these headers will not be appended to outbound requests from sidecars to services not in-mesh.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.requestId
- Description
- Controls the `X-Request-Id` header. If enabled, a request ID is generated for each request if one is not already set. This applies to all types of traffic (inbound, outbound, and gateways). If disabled, no request ID will be generate for the request. If it is already present, it will be preserved. Warning: request IDs are a critical component to mesh tracing and logging, so disabling this is not recommended. This header is enabled by default if not configured.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.server
- Description
- Controls the `server` header. If enabled, the `Server: istio-envoy` header is set in response headers for inbound traffic (including gateways). If disabled, the `Server` header is not modified. If it is already present, it will be preserved.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.setCurrentClientCertDetails
- Description
- This field is valid only when forward_client_cert_details is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in the client certificate to be forwarded. Note that `Hash` is always set, and `By` is always set when the client certificate presents the URI type Subject Alternative Name value.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.xForwardedHost
- Description
- Controls the `X-Forwarded-Host` header. If enabled, the `X-Forwarded-Host` header is appended with the original host when it is rewritten. This header is disabled by default.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyHeaders.xForwardedPort
- Description
- Controls the `X-Forwarded-Port` header. If enabled, the `X-Forwarded-Port` header is header with the port value client used to connect to Envoy. It will be ignored if the “x-forwarded-port“ header has been set by any trusted proxy in front of Envoy. This header is disabled by default.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyMetadata
- Description
- Additional environment variables for the proxy. Names starting with `ISTIO_META_` will be included in the generated bootstrap and sent to the XDS server.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher
- Description
- Proxy stats matcher defines configuration for reporting custom Envoy stats. To reduce memory and CPU overhead from Envoy stats system, Istio proxies by default create and expose only a subset of Envoy stats. This option is to control creation of additional Envoy stats with prefix, suffix, and regex expressions match on the name of the stats. This replaces the stats inclusion annotations (`sidecar.istio.io/statsInclusionPrefixes`, `sidecar.istio.io/statsInclusionRegexps`, and `sidecar.istio.io/statsInclusionSuffixes`). For example, to enable stats for circuit breakers, request retries, upstream connections, and request timeouts, you can specify stats matcher as follows: ```yaml proxyStatsMatcher: inclusionRegexps: - .*outlier_detection.* - .*upstream_rq_retry.* - .*upstream_cx_.* inclusionSuffixes: - upstream_rq_timeout ``` Note including more Envoy stats might increase number of time series collected by prometheus significantly. Care needs to be taken on Prometheus resource provision and configuration to reduce cardinality.
- Type
object
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionPrefixes
- Description
- Proxy stats name prefix matcher for inclusion.
- Type
array
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionPrefixes[]
- Type
string
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps
- Description
- Proxy stats name regexps matcher for inclusion.
- Type
array
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[]
- Type
string
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionSuffixes
- Description
- Proxy stats name suffix matcher for inclusion.
- Type
array
.spec.values.meshConfig.defaultConfig.proxyStatsMatcher.inclusionSuffixes[]
- Type
string
.spec.values.meshConfig.defaultConfig.readinessProbe
- Description
- VM Health Checking readiness probe. This health check config exactly mirrors the kubernetes readiness probe configuration both in schema and logic. Only one health check method of 3 can be set at a time.
- Type
object
.spec.values.meshConfig.defaultConfig.readinessProbe.exec
- Description
- Exec specifies a command to execute in the container.
- Type
object
.spec.values.meshConfig.defaultConfig.readinessProbe.exec.command
- Description
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- Type
array
.spec.values.meshConfig.defaultConfig.readinessProbe.exec.command[]
- Type
string
.spec.values.meshConfig.defaultConfig.readinessProbe.grpc
- Description
- GRPC specifies a GRPC HealthCheckRequest.
- Type
object- Required
port
.spec.values.meshConfig.defaultConfig.readinessProbe.httpGet
- Description
- HTTPGet specifies an HTTP GET request to perform.
- Type
object- Required
port
.spec.values.meshConfig.defaultConfig.readinessProbe.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
array
.spec.values.meshConfig.defaultConfig.readinessProbe.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
object- Required
namevalue
.spec.values.meshConfig.defaultConfig.readinessProbe.tcpSocket
- Description
- TCPSocket specifies a connection to a TCP port.
- Type
object- Required
port
.spec.values.meshConfig.defaultConfig.runtimeValues
- Description
- Envoy [runtime configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/runtime) to set during bootstrapping. This enables setting experimental, unsafe, unsupported, and deprecated features that should be used with extreme caution.
- Type
object
.spec.values.meshConfig.defaultConfig.sds
- Description
- Secret Discovery Service(SDS) configuration to be used by the proxy. Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing
- Description
- Tracing configuration to be used by the proxy.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.customTags
- Description
- and gateways). The key represents the name of the tag. Ex: ```yaml custom_tags: new_tag_name: header: name: custom-http-header-name default_value: defaulted-value-from-custom-header ```
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.datadog
- Description
- Use a Datadog tracer.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.lightstep
- Description
- Use a Lightstep tracer. NOTE: For Istio 1.15+, this configuration option will result in using OpenTelemetry-based Lightstep integration.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.openCensusAgent
- Description
- Use an OpenCensus tracer exporting to an OpenCensus agent.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.openCensusAgent.context
- Description
- Specifies the set of context propagation headers used for distributed tracing. Default is `["W3C_TRACE_CONTEXT"]`. If multiple values are specified, the proxy will attempt to read each header for each request and will write all headers.
- Type
array
.spec.values.meshConfig.defaultConfig.tracing.openCensusAgent.context[]
- Description
- TraceContext selects the context propagation headers used for distributed tracing.
- Type
string
.spec.values.meshConfig.defaultConfig.tracing.stackdriver
- Description
- Use a Stackdriver tracer.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. If the remote tracing service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.meshConfig.defaultConfig.tracing.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.meshConfig.defaultConfig.tracing.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.meshConfig.defaultConfig.tracing.zipkin
- Description
- Use a Zipkin tracer.
- Type
object
.spec.values.meshConfig.defaultDestinationRuleExportTo
- Description
- The default value for the `DestinationRule.exportTo` field. Has the same syntax as `defaultServiceExportTo`. If not set the system will use "*" as the default value which implies that destination rules are exported to all namespaces
- Type
array
.spec.values.meshConfig.defaultDestinationRuleExportTo[]
- Type
string
.spec.values.meshConfig.defaultHttpRetryPolicy
- Description
- Configure the default HTTP retry policy. The default number of retry attempts is set at 2 for these errors: "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes". Setting the number of attempts to 0 disables retry policy globally. This setting can be overridden on a per-host basis using the Virtual Service API. All settings in the retry policy except `perTryTimeout` can currently be configured globally via this field.
- Type
object
.spec.values.meshConfig.defaultProviders
- Description
- Specifies extension providers to use by default in Istio configuration resources.
- Type
object
.spec.values.meshConfig.defaultProviders.accessLogging
- Description
- Name of the default provider(s) for access logging.
- Type
array
.spec.values.meshConfig.defaultProviders.accessLogging[]
- Type
string
.spec.values.meshConfig.defaultProviders.metrics
- Description
- Name of the default provider(s) for metrics.
- Type
array
.spec.values.meshConfig.defaultProviders.metrics[]
- Type
string
.spec.values.meshConfig.defaultProviders.tracing
- Description
- Name of the default provider(s) for tracing.
- Type
array
.spec.values.meshConfig.defaultProviders.tracing[]
- Type
string
.spec.values.meshConfig.defaultServiceExportTo
- Description
- The default value for the ServiceEntry.exportTo field and services imported through container registry integrations, e.g. this applies to Kubernetes Service resources. The value is a list of namespace names and reserved namespace aliases. The allowed namespace aliases are: ``` * - All Namespaces . - Current Namespace ~ - No Namespace ``` If not set the system will use "*" as the default value which implies that services are exported to all namespaces. `All namespaces` is a reasonable default for implementations that don't need to restrict access or visibility of services across namespace boundaries. If that requirement is present it is generally good practice to make the default `Current namespace` so that services are only visible within their own namespaces by default. Operators can then expand the visibility of services to other namespaces as needed. Use of `No Namespace` is expected to be rare but can have utility for deployments where dependency management needs to be precise even within the scope of a single namespace. For further discussion see the reference documentation for `ServiceEntry`, `Sidecar`, and `Gateway`.
- Type
array
.spec.values.meshConfig.defaultServiceExportTo[]
- Type
string
.spec.values.meshConfig.defaultVirtualServiceExportTo
- Description
- The default value for the VirtualService.exportTo field. Has the same syntax as `defaultServiceExportTo`. If not set the system will use "*" as the default value which implies that virtual services are exported to all namespaces
- Type
array
.spec.values.meshConfig.defaultVirtualServiceExportTo[]
- Type
string
.spec.values.meshConfig.discoverySelectors
- Description
- A list of Kubernetes selectors that specify the set of namespaces that Istio considers when computing configuration updates for sidecars. This can be used to reduce Istio's computational load by limiting the number of entities (including services, pods, and endpoints) that are watched and processed. If omitted, Istio will use the default behavior of processing all namespaces in the cluster. Elements in the list are disjunctive (OR semantics), i.e. a namespace will be included if it matches any selector. The following example selects any namespace that matches either below: 1. The namespace has both of these labels: `env: prod` and `region: us-east1` 2. The namespace has label `app` equal to `cassandra` or `spark`. ```yaml discoverySelectors: - matchLabels: env: prod region: us-east1 - matchExpressions: - key: app operator: In values: - cassandra - spark ``` Refer to the [Kubernetes selector docs](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors) for additional detail on selector semantics.
- Type
array
.spec.values.meshConfig.discoverySelectors[]
- Description
- A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
- Type
object
.spec.values.meshConfig.discoverySelectors[].matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.meshConfig.discoverySelectors[].matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.meshConfig.discoverySelectors[].matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.meshConfig.discoverySelectors[].matchExpressions[].values[]
- Type
string
.spec.values.meshConfig.discoverySelectors[].matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.meshConfig.extensionProviders
- Description
- Defines a list of extension providers that extend Istio's functionality. For example, the AuthorizationPolicy can be used with an extension provider to delegate the authorization decision to a custom authorization system.
- Type
array
.spec.values.meshConfig.extensionProviders[]
- Type
object- Required
name
.spec.values.meshConfig.extensionProviders[].datadog
- Description
- Configures a Datadog tracing provider.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzGrpc
- Description
- Configures an external authorizer that implements the Envoy ext_authz filter authorization check service using the gRPC API.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzGrpc.includeRequestBodyInCheck
- Description
- If set, the client request body will be included in the authorization request sent to the authorization service.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp
- Description
- Configures an external authorizer that implements the Envoy ext_authz filter authorization check service using the HTTP API.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnAllow
- Description
- List of headers from the authorization service that should be forwarded to downstream when the authorization check result is allowed (HTTP code 200). If not specified, the original response will not be modified and forwarded to downstream as-is. Note, any existing headers will be overridden. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnAllow[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnDeny
- Description
- List of headers from the authorization service that should be forwarded to downstream when the authorization check result is not allowed (HTTP code other than 200). If not specified, all the authorization response headers, except *Authority (Host)* will be in the response to the downstream. When a header is included in this list, *Path*, *Status*, *Content-Length*, *WWWAuthenticate* and *Location* are automatically added. Note, the body from the authorization service is always included in the response to downstream. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnDeny[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToUpstreamOnAllow
- Description
- List of headers from the authorization service that should be added or overridden in the original request and forwarded to the upstream when the authorization check result is allowed (HTTP code 200). If not specified, the original request will not be modified and forwarded to backend as-is. Note, any existing headers will be overridden. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToUpstreamOnAllow[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeAdditionalHeadersInCheck
- Description
- Set of additional fixed headers that should be included in the authorization request sent to the authorization service. Key is the header name and value is the header value. Note that client request of the same key or headers specified in includeRequestHeadersInCheck will be overridden.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeHeadersInCheck
- Description
- DEPRECATED. Use includeRequestHeadersInCheck instead. Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeHeadersInCheck[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestBodyInCheck
- Description
- If set, the client request body will be included in the authorization request sent to the authorization service.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestHeadersInCheck
- Description
- List of client request headers that should be included in the authorization request sent to the authorization service. Note that in addition to the headers specified here following headers are included by default: 1. *Host*, *Method*, *Path* and *Content-Length* are automatically sent. 2. *Content-Length* will be set to 0 and the request will not have a message body. However, the authorization request can include the buffered client request body (controlled by includeRequestBodyInCheck setting), consequently the value of Content-Length of the authorization request reflects the size of its payload size. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestHeadersInCheck[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyFileAccessLog
- Description
- Configures an Envoy File Access Log provider.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyFileAccessLog.logFormat
- Description
- Optional. Allows overriding of the default access log format.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyFileAccessLog.logFormat.labels
- Description
- JSON structured format for the envoy access logs. Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) can be used as values for fields within the Struct. Values are rendered as strings, numbers, or boolean values, as appropriate (see: [format dictionaries](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format-dictionaries)). Nested JSON is supported for some command operators (e.g. `FILTER_STATE` or `DYNAMIC_METADATA`). Use `labels: {}` for default envoy JSON log format. Example: ``` labels: status: "%RESPONSE_CODE%" message: "%LOCAL_REPLY_BODY%" ```
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyHttpAls
- Description
- Configures an Envoy Access Logging Service provider for HTTP traffic.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalRequestHeadersToLog
- Description
- Optional. Additional request headers to log.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalRequestHeadersToLog[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseHeadersToLog
- Description
- Optional. Additional response headers to log.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseHeadersToLog[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseTrailersToLog
- Description
- Optional. Additional response trailers to log.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseTrailersToLog[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.filterStateObjectsToLog
- Description
- Optional. Additional filter state objects to log.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyHttpAls.filterStateObjectsToLog[]
- Type
string
.spec.values.meshConfig.extensionProviders[].envoyOtelAls
- Description
- Configures an Envoy Open Telemetry Access Logging Service provider.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyOtelAls.logFormat
- Description
- Optional. Format for the proxy access log Empty value results in proxy's default access log format, following Envoy access logging formatting.
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyOtelAls.logFormat.labels
- Description
- Optional. Additional attributes that describe the specific event occurrence. Structured format for the envoy access logs. Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) can be used as values for fields within the Struct. Values are rendered as strings, numbers, or boolean values, as appropriate (see: [format dictionaries](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format-dictionaries)). Nested JSON is supported for some command operators (e.g. FILTER_STATE or DYNAMIC_METADATA). Alias to `attributes` field in [Open Telemetry](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/open_telemetry/v3/logs_service.proto) Example: ``` labels: status: "%RESPONSE_CODE%" message: "%LOCAL_REPLY_BODY%" ```
- Type
object
.spec.values.meshConfig.extensionProviders[].envoyTcpAls
- Description
- Configures an Envoy Access Logging Service provider for TCP traffic.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].envoyTcpAls.filterStateObjectsToLog
- Description
- Optional. Additional filter state objects to log.
- Type
array
.spec.values.meshConfig.extensionProviders[].envoyTcpAls.filterStateObjectsToLog[]
- Type
string
.spec.values.meshConfig.extensionProviders[].lightstep
- Description
- Configures a Lightstep tracing provider. Deprecated: For Istio 1.15+, please use an OpenTelemetryTracingProvider instead, more details can be found at https://github.com/istio/istio/issues/40027 Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].opencensus
- Description
- Configures an OpenCensusAgent tracing provider. Deprecated: OpenCensus is deprecated, more details can be found at https://opentelemetry.io/blog/2023/sunsetting-opencensus/ Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].opencensus.context
- Description
- Specifies the set of context propagation headers used for distributed tracing. Default is `["W3C_TRACE_CONTEXT"]`. If multiple values are specified, the proxy will attempt to read each header for each request and will write all headers.
- Type
array
.spec.values.meshConfig.extensionProviders[].opencensus.context[]
- Description
- TraceContext selects the context propagation headers used for distributed tracing.
- Type
string
.spec.values.meshConfig.extensionProviders[].opentelemetry
- Description
- Configures an OpenTelemetry tracing provider.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler
- Description
- The Dynatrace adaptive traffic management (ATM) sampler. Example configuration: ```yaml - name: otel-tracing opentelemetry: port: 443 service: "{your-environment-id}.live.dynatrace.com" http: path: "/api/v2/otlp/v1/traces" timeout: 10s headers: - name: "Authorization" value: "Api-Token dt0c01." resourceDetectors: dynatrace: {} dynatraceSampler: tenant: "{your-environment-id}" clusterId: 1234
- Type
object- Required
clusterIdtenant
.spec.values.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService
- Description
- Optional. Dynatrace HTTP API to obtain sampling configuration. When not provided, the Dynatrace Sampler will re-use the configuration from the OpenTelemetryTracingProvider HTTP Exporter (`service`, `port` and `http`), including the access token.
- Type
object- Required
httpportservice
.spec.values.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http
- Description
- REQUIRED. Specifies sampling configuration URI.
- Type
object- Required
path
.spec.values.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http.headers
- Description
- Optional. Allows specifying custom HTTP headers that will be added to each HTTP request sent.
- Type
array
.spec.values.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http.headers[]
- Type
object- Required
name
.spec.values.meshConfig.extensionProviders[].opentelemetry.grpc
- Description
- Optional. Specifies the configuration for exporting OTLP traces via GRPC. When empty, traces will check whether HTTP is set. If not, traces will use default GRPC configurations. The following example shows how to configure the OpenTelemetry ExtensionProvider to export via GRPC: 1. Add/change the OpenTelemetry extension provider in `MeshConfig` ```yaml - name: opentelemetry opentelemetry: port: 8090 service: tracing.example.com grpc: timeout: 10s initialMetadata: - name: "Authentication" value: "token-xxxxx" ``` 2. Deploy a `ServiceEntry` for the observability back-end ```yaml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: tracing-grpc spec: hosts: - tracing.example.com ports: - number: 8090 name: grpc-port protocol: GRPC resolution: DNS location: MESH_EXTERNAL ```
- Type
object
.spec.values.meshConfig.extensionProviders[].opentelemetry.grpc.initialMetadata
- Description
- Optional. Additional metadata to include in streams initiated to the GrpcService. This can be used for scenarios in which additional ad hoc authorization headers (e.g. "x-foo-bar: baz-key") are to be injected.
- Type
array
.spec.values.meshConfig.extensionProviders[].opentelemetry.grpc.initialMetadata[]
- Type
object- Required
name
.spec.values.meshConfig.extensionProviders[].opentelemetry.http
- Description
- Optional. Specifies the configuration for exporting OTLP traces via HTTP. When empty, traces will be exported via gRPC. The following example shows how to configure the OpenTelemetry ExtensionProvider to export via HTTP: 1. Add/change the OpenTelemetry extension provider in `MeshConfig` ```yaml - name: otel-tracing opentelemetry: port: 443 service: my.olly-backend.com http: path: "/api/otlp/traces" timeout: 10s headers: - name: "my-custom-header" value: "some value" ``` 2. Deploy a `ServiceEntry` for the observability back-end ```yaml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: my-olly-backend spec: hosts: - my.olly-backend.com ports: - number: 443 name: https-port protocol: HTTPS resolution: DNS location: MESH_EXTERNAL --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: my-olly-backend spec: host: my.olly-backend.com trafficPolicy: portLevelSettings: - port: number: 443 tls: mode: SIMPLE ```
- Type
object- Required
path
.spec.values.meshConfig.extensionProviders[].opentelemetry.http.headers
- Description
- Optional. Allows specifying custom HTTP headers that will be added to each HTTP request sent.
- Type
array
.spec.values.meshConfig.extensionProviders[].opentelemetry.http.headers[]
- Type
object- Required
name
.spec.values.meshConfig.extensionProviders[].opentelemetry.resourceDetectors
- Description
- Optional. Specifies [Resource Detectors](https://opentelemetry.io/docs/specs/otel/resource/sdk/) to be used by the OpenTelemetry Tracer. When multiple resources are provided, they are merged according to the OpenTelemetry [Resource specification](https://opentelemetry.io/docs/specs/otel/resource/sdk/#merge). The following example shows how to configure the Environment Resource Detector, that will read the attributes from the environment variable `OTEL_RESOURCE_ATTRIBUTES`: ```yaml - name: otel-tracing opentelemetry: port: 443 service: my.olly-backend.com resourceDetectors: environment: {} ```
- Type
object
.spec.values.meshConfig.extensionProviders[].opentelemetry.resourceDetectors.dynatrace
- Description
- Dynatrace Resource Detector. The resource detector reads from the Dynatrace enrichment files and adds host/process related attributes to the OpenTelemetry resource. See: [Enrich ingested data with Dynatrace-specific dimensions](https://docs.dynatrace.com/docs/shortlink/enrichment-files)
- Type
object
.spec.values.meshConfig.extensionProviders[].opentelemetry.resourceDetectors.environment
- Description
- OpenTelemetry Environment Resource Detector. The resource detector reads attributes from the environment variable `OTEL_RESOURCE_ATTRIBUTES` and adds them to the OpenTelemetry resource. See: [Resource specification](https://opentelemetry.io/docs/specs/otel/resource/sdk/#specifying-resource-information-via-an-environment-variable)
- Type
object
.spec.values.meshConfig.extensionProviders[].prometheus
- Description
- Configures a Prometheus metrics provider.
- Type
object
.spec.values.meshConfig.extensionProviders[].sds
- Description
- Configures an Extension Provider for SDS. This can be used to configure an external SDS service to supply secrets for certain Gateways for example. This is useful for scenarios where the secrets are stored in an external secret store like Vault. The secret should be configured with sds://provider-name format.
- Type
object- Required
nameportservice
.spec.values.meshConfig.extensionProviders[].skywalking
- Description
- Configures a Apache SkyWalking provider.
- Type
object- Required
portservice
.spec.values.meshConfig.extensionProviders[].stackdriver
- Description
- Configures a Stackdriver provider.
- Type
object
.spec.values.meshConfig.extensionProviders[].stackdriver.logging
- Description
- Optional. Controls Stackdriver logging behavior.
- Type
object
.spec.values.meshConfig.extensionProviders[].stackdriver.logging.labels
- Description
- Collection of tag names and tag expressions to include in the log entry. Conflicts are resolved by the tag name by overriding previously supplied values. Example: labels: path: request.url_path foo: request.headers['x-foo']
- Type
object
.spec.values.meshConfig.extensionProviders[].zipkin
- Description
- Configures a tracing provider that uses the Zipkin API.
- Type
object- Required
portservice
.spec.values.meshConfig.inboundTrafficPolicy
- Description
- Set the default behavior of the sidecar for handling inbound traffic to the application. If your application listens on localhost, you will need to set this to `LOCALHOST`.
- Type
object
.spec.values.meshConfig.localityLbSetting
- Description
- Locality based load balancing distribution or failover settings. If unspecified, locality based load balancing will be enabled by default. However, this requires outlierDetection to actually take effect for a particular service, see https://istio.io/latest/docs/tasks/traffic-management/locality-load-balancing/failover/
- Type
object
.spec.values.meshConfig.localityLbSetting.distribute
- Description
- Optional: only one of distribute, failover or failoverPriority can be set. Explicitly specify loadbalancing weight across different zones and geographical locations. Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight) If empty, the locality weight is set according to the endpoints number within it.
- Type
array
.spec.values.meshConfig.localityLbSetting.distribute[]
- Description
- Describes how traffic originating in the 'from' zone or sub-zone is distributed over a set of 'to' zones. Syntax for specifying a zone is {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any segment of the specification. Examples: `*` - matches all localities `us-west/*` - all zones and sub-zones within the us-west region `us-west/zone-1/*` - all sub-zones within us-west/zone-1
- Type
object
.spec.values.meshConfig.localityLbSetting.distribute[].to
- Description
- Map of upstream localities to traffic distribution weights. The sum of all weights should be 100. Any locality not present will receive no traffic.
- Type
object
.spec.values.meshConfig.localityLbSetting.failover
- Description
- Optional: only one of distribute, failover or failoverPriority can be set. Explicitly specify the region traffic will land on when endpoints in local region becomes unhealthy. Should be used together with OutlierDetection to detect unhealthy endpoints. Note: if no OutlierDetection specified, this will not take effect.
- Type
array
.spec.values.meshConfig.localityLbSetting.failover[]
- Description
- Specify the traffic failover policy across regions. Since zone and sub-zone failover is supported by default this only needs to be specified for regions when the operator needs to constrain traffic failover so that the default behavior of failing over to any endpoint globally does not apply. This is useful when failing over traffic across regions would not improve service health or may need to be restricted for other reasons like regulatory controls.
- Type
object
.spec.values.meshConfig.localityLbSetting.failoverPriority
- Description
- failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing. This is to support traffic failover across different groups of endpoints. Two kinds of labels can be specified: - Specify only label keys `[key1, key2, key3]`, istio would compare the label values of client with endpoints. Suppose there are total N label keys `[key1, key2, key3, ...keyN]` specified: 1. Endpoints matching all N labels with the client proxy have priority P(0) i.e. the highest priority. 2. Endpoints matching the first N-1 labels with the client proxy have priority P(1) i.e. second highest priority. 3. By extension of this logic, endpoints matching only the first label with the client proxy has priority P(N-1) i.e. second lowest priority. 4. All the other endpoints have priority P(N) i.e. lowest priority. - Specify labels with key and value `[key1=value1, key2=value2, key3=value3]`, istio would compare the labels with endpoints. Suppose there are total N labels `[key1=value1, key2=value2, key3=value3, ...keyN=valueN]` specified: 1. Endpoints matching all N labels have priority P(0) i.e. the highest priority. 2. Endpoints matching the first N-1 labels have priority P(1) i.e. second highest priority. 3. By extension of this logic, endpoints matching only the first label has priority P(N-1) i.e. second lowest priority. 4. All the other endpoints have priority P(N) i.e. lowest priority. Note: For a label to be considered for match, the previous labels must match, i.e. nth label would be considered matched only if first n-1 labels match. It can be any label specified on both client and server workloads. The following labels which have special semantic meaning are also supported: - `topology.istio.io/network` is used to match the network metadata of an endpoint, which can be specified by pod/namespace label `topology.istio.io/network`, sidecar env `ISTIO_META_NETWORK` or MeshNetworks. - `topology.istio.io/cluster` is used to match the clusterID of an endpoint, which can be specified by pod label `topology.istio.io/cluster` or pod env `ISTIO_META_CLUSTER_ID`. - `topology.kubernetes.io/region` is used to match the region metadata of an endpoint, which maps to Kubernetes node label `topology.kubernetes.io/region` or the deprecated label `failure-domain.beta.kubernetes.io/region`. - `topology.kubernetes.io/zone` is used to match the zone metadata of an endpoint, which maps to Kubernetes node label `topology.kubernetes.io/zone` or the deprecated label `failure-domain.beta.kubernetes.io/zone`. - `topology.istio.io/subzone` is used to match the subzone metadata of an endpoint, which maps to Istio node label `topology.istio.io/subzone`. - `kubernetes.io/hostname` is used to match the current node of an endpoint, which maps to Kubernetes node label `kubernetes.io/hostname`. The below topology config indicates the following priority levels: ```yaml failoverPriority: - "topology.istio.io/network" - "topology.kubernetes.io/region" - "topology.kubernetes.io/zone" - "topology.istio.io/subzone" ``` 1. endpoints match same [network, region, zone, subzone] label with the client proxy have the highest priority. 2. endpoints have same [network, region, zone] label but different [subzone] label with the client proxy have the second highest priority. 3. endpoints have same [network, region] label but different [zone] label with the client proxy have the third highest priority. 4. endpoints have same [network] but different [region] labels with the client proxy have the fourth highest priority. 5. all the other endpoints have the same lowest priority. Suppose a service associated endpoints reside in multi clusters, the below example represents: 1. endpoints in `clusterA` and has `version=v1` label have P(0) priority. 2. endpoints not in `clusterA` but has `version=v1` label have P(1) priority. 2. all the other endpoints have P(2) priority. ```yaml failoverPriority: - "version=v1" - "topology.istio.io/cluster=clusterA" ``` Optional: only one of distribute, failover or failoverPriority can be set. And it should be used together with `OutlierDetection` to detect unhealthy endpoints, otherwise has no effect.
- Type
array
.spec.values.meshConfig.localityLbSetting.failoverPriority[]
- Type
string
.spec.values.meshConfig.meshMTLS
- Description
- The below configuration parameters can be used to specify TLSConfig for mesh traffic. For example, a user could enable min TLS version for ISTIO_MUTUAL traffic and specify a curve for non ISTIO_MUTUAL traffic like below: ```yaml meshConfig: meshMTLS: minProtocolVersion: TLSV1_3 tlsDefaults: Note: applicable only for non ISTIO_MUTUAL scenarios ecdhCurves: - P-256 - P-512 ``` Configuration of mTLS for traffic between workloads with ISTIO_MUTUAL TLS traffic. Note: Mesh mTLS does not respect ECDH curves.
- Type
object
.spec.values.meshConfig.meshMTLS.cipherSuites
- Description
- Optional: If specified, the TLS connection will only support the specified cipher list when negotiating TLS 1.0-1.2. If not specified, the following cipher suites will be used: ``` ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-GCM-SHA256 ```
- Type
array
.spec.values.meshConfig.meshMTLS.cipherSuites[]
- Type
string
.spec.values.meshConfig.meshMTLS.ecdhCurves
- Description
- Optional: If specified, the TLS connection will only support the specified ECDH curves for the DH key exchange. If not specified, the default curves enforced by Envoy will be used. For details about the default curves, refer to [Ecdh Curves](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto).
- Type
array
.spec.values.meshConfig.meshMTLS.ecdhCurves[]
- Type
string
.spec.values.meshConfig.outboundTrafficPolicy
- Description
- Set the default behavior of the sidecar for handling outbound traffic from the application. Can be overridden at a Sidecar level by setting the `OutboundTrafficPolicy` in the [Sidecar API](https://istio.io/docs/reference/config/networking/sidecar/#OutboundTrafficPolicy). Default mode is `ALLOW_ANY`, which means outbound traffic to unknown destinations will be allowed.
- Type
object
.spec.values.meshConfig.pathNormalization
- Description
- ProxyPathNormalization configures how URL paths in incoming and outgoing HTTP requests are normalized by the sidecars and gateways. The normalized paths will be used in all aspects through the requests' lifetime on the sidecars and gateways, which includes routing decisions in outbound direction (client proxy), authorization policy match and enforcement in inbound direction (server proxy), and the URL path proxied to the upstream service. If not set, the NormalizationType.DEFAULT configuration will be used.
- Type
object
.spec.values.meshConfig.serviceScopeConfigs
- Description
- Scope to be applied to select services.
- Type
array
.spec.values.meshConfig.serviceScopeConfigs[]
- Description
- Configuration for ambient mode multicluster service scope. This setting allows mesh administrators to define the criteria by which the cluster's control plane determines which services in other clusters in the mesh are treated as global (accessible across multiple clusters) versus local (restricted to a single cluster). The configuration can be applied to services based on namespace and/or other matching criteria. This is particularly useful in multicluster service mesh deployments to control service visibility and access across clusters. This API is not intended to enforce security policies. Resources like DestinationRules should be used to enforce authorization policies. If a service matches a global service scope selector, the service's endpoints will be globally exposed. If a service is locally scoped, its endpoints will only be exposed to local cluster services. For example, the following configures the scope of all services with the "istio.io/global" label in matching namespaces to be available globally: ```yaml serviceScopeConfigs: - namespacesSelector: matchExpressions: - key: istio.io/global operator: In values: [true] servicesSelector: matchExpressions: - key: istio.io/global operator: Exists scope: GLOBAL ```
- Type
object
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector
- Description
- Match expression for namespaces.
- Type
object
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.meshConfig.serviceScopeConfigs[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector
- Description
- Match expression for serivces.
- Type
object
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[].values[]
- Type
string
.spec.values.meshConfig.serviceScopeConfigs[].servicesSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.meshConfig.serviceSettings
- Description
- Settings to be applied to select services.
- Type
array
.spec.values.meshConfig.serviceSettings[]
- Description
- Settings to be applied to select services. For example, the following configures all services in namespace "foo" as well as the "bar" service in namespace "baz" to be considered cluster-local: ```yaml serviceSettings: - settings: clusterLocal: true hosts: - "*.foo.svc.cluster.local" - "bar.baz.svc.cluster.local" ``` When in ambient mode, if ServiceSettings are defined they will be considered in addition to the ServiceScopeConfigs. If a service is defined by ServiceSetting to be cluster local and matches a global service scope selector, the service will be considered cluster local. If a service is considered global by ServiceSettings and does not match a global service scope selector the serive will be considered local. Local scope takes precedence over global scope. Since ServiceScopeConfigs is local by default, all services are considered local unless it is considered global by ServiceSettings AND ServiceScopeConfigs.
- Type
object
.spec.values.meshConfig.serviceSettings[].hosts
- Description
- The services to which the Settings should be applied. Services are selected using the hostname matching rules used by DestinationRule. For example: foo.bar.svc.cluster.local, *.baz.svc.cluster.local
- Type
array
.spec.values.meshConfig.serviceSettings[].hosts[]
- Type
string
.spec.values.meshConfig.serviceSettings[].settings
- Description
- The settings to apply to the selected services.
- Type
object
.spec.values.meshConfig.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.meshConfig.tlsDefaults
- Description
- Configuration of TLS for all traffic except for ISTIO_MUTUAL mode. Currently, this supports configuration of ecdhCurves and cipherSuites only. For ISTIO_MUTUAL TLS settings, use meshMTLS configuration.
- Type
object
.spec.values.meshConfig.tlsDefaults.cipherSuites
- Description
- Optional: If specified, the TLS connection will only support the specified cipher list when negotiating TLS 1.0-1.2. If not specified, the following cipher suites will be used: ``` ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-GCM-SHA256 ```
- Type
array
.spec.values.meshConfig.tlsDefaults.cipherSuites[]
- Type
string
.spec.values.meshConfig.tlsDefaults.ecdhCurves
- Description
- Optional: If specified, the TLS connection will only support the specified ECDH curves for the DH key exchange. If not specified, the default curves enforced by Envoy will be used. For details about the default curves, refer to [Ecdh Curves](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto).
- Type
array
.spec.values.meshConfig.tlsDefaults.ecdhCurves[]
- Type
string
.spec.values.meshConfig.trustDomainAliases
- Description
- The trust domain aliases represent the aliases of `trustDomain`. For example, if we have ```yaml trustDomain: td1 trustDomainAliases: ["td2", "td3"] ``` Any service with the identity `td1/ns/foo/sa/a-service-account`, `td2/ns/foo/sa/a-service-account`, or `td3/ns/foo/sa/a-service-account` will be treated the same in the Istio mesh.
- Type
array
.spec.values.meshConfig.trustDomainAliases[]
- Type
string
.spec.values.pilot
- Description
- Configuration for the Pilot component.
- Type
object
.spec.values.pilot.affinity
- Description
- K8s affinity to set on the Pilot Pods.
- Type
object
.spec.values.pilot.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
object
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
- Type
object- Required
preferenceweight
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
object
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
- Type
object- Required
nodeSelectorTerms
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- Type
object
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.values.pilot.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.pilot.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.pilot.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.pilot.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.pilot.autoscaleBehavior
- Description
- See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#configurable-scaling-behavior
- Type
object
.spec.values.pilot.autoscaleBehavior.scaleDown
- Description
- scaleDown is scaling policy for scaling Down. If not set, the default value is to allow to scale down to minReplicas pods, with a 300 second stabilization window (i.e., the highest recommendation for the last 300sec is used).
- Type
object
.spec.values.pilot.autoscaleBehavior.scaleDown.policies
- Description
- policies is a list of potential scaling polices which can be used during scaling. If not set, use the default values: - For scale up: allow doubling the number of pods, or an absolute change of 4 pods in a 15s window. - For scale down: allow all pods to be removed in a 15s window.
- Type
array
.spec.values.pilot.autoscaleBehavior.scaleDown.policies[]
- Description
- HPAScalingPolicy is a single policy which must hold true for a specified past interval.
- Type
object- Required
periodSecondstypevalue
.spec.values.pilot.autoscaleBehavior.scaleUp
- Description
- scaleUp is scaling policy for scaling Up. If not set, the default value is the higher of: * increase no more than 4 pods per 60 seconds * double the number of pods per 60 seconds No stabilization is used.
- Type
object
.spec.values.pilot.autoscaleBehavior.scaleUp.policies
- Description
- policies is a list of potential scaling polices which can be used during scaling. If not set, use the default values: - For scale up: allow doubling the number of pods, or an absolute change of 4 pods in a 15s window. - For scale down: allow all pods to be removed in a 15s window.
- Type
array
.spec.values.pilot.autoscaleBehavior.scaleUp.policies[]
- Description
- HPAScalingPolicy is a single policy which must hold true for a specified past interval.
- Type
object- Required
periodSecondstypevalue
.spec.values.pilot.cni
- Description
- Configures whether to use an existing CNI installation for workloads
- Type
object
.spec.values.pilot.cpu
- Description
- Target CPU utilization used in HorizontalPodAutoscaler. See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.pilot.deploymentLabels
- Description
- Labels that are added to Pilot deployment. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- Type
object
.spec.values.pilot.env
- Description
- Environment variables passed to the Pilot container. Examples: env: ENV_VAR_1: value1 ENV_VAR_2: value2
- Type
object
.spec.values.pilot.envVarFrom
- Description
- Configuration for the istio-discovery chart
- Type
array
.spec.values.pilot.envVarFrom[]
- Description
- EnvFromSource represents the source of a set of ConfigMaps or Secrets
- Type
object
.spec.values.pilot.envVarFrom[].configMapRef
- Description
- The ConfigMap to select from
- Type
object
.spec.values.pilot.envVarFrom[].secretRef
- Description
- The Secret to select from
- Type
object
.spec.values.pilot.extraContainerArgs
- Description
- Additional container arguments for the Pilot container.
- Type
array
.spec.values.pilot.extraContainerArgs[]
- Type
string
.spec.values.pilot.ipFamilies
- Description
- Defines which IP family to use for single stack or the order of IP families for dual-stack. Valid list items are "IPv4", "IPv6". More info: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
- Type
array
.spec.values.pilot.ipFamilies[]
- Type
string
.spec.values.pilot.istiodRemote
- Description
- Configuration for the istio-discovery chart when istiod is running in a remote cluster (e.g. "remote control plane").
- Type
object
.spec.values.pilot.memory
- Description
- Target memory utilization used in HorizontalPodAutoscaler. See https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.pilot.nodeSelector
- Description
- K8s node selector. See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.pilot.podAnnotations
- Description
- K8s annotations for pods. See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.pilot.podLabels
- Description
- Labels that are added to Pilot pods. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
- Type
object
.spec.values.pilot.resources
- Description
- K8s resources settings. See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.pilot.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.pilot.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.pilot.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.pilot.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.pilot.seccompProfile
- Description
- The seccompProfile for the Pilot container. See: https://kubernetes.io/docs/tutorials/security/seccomp/
- Type
object- Required
type
.spec.values.pilot.serviceAccountAnnotations
- Description
- K8s annotations for the service account
- Type
object
.spec.values.pilot.serviceAnnotations
- Description
- K8s annotations for the Service. See: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
- Type
object
.spec.values.pilot.taint
- Type
object
.spec.values.pilot.tolerations
- Description
- The node tolerations to be applied to the Pilot deployment so that it can be scheduled to particular nodes with matching taints. More info: https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
array
.spec.values.pilot.tolerations[]
- Description
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- Type
object
.spec.values.pilot.topologySpreadConstraints
- Description
- The k8s topologySpreadConstraints for the Pilot pods.
- Type
array
.spec.values.pilot.topologySpreadConstraints[]
- Description
- TopologySpreadConstraint specifies how to spread matching pods among the given topology.
- Type
object- Required
maxSkewtopologyKeywhenUnsatisfiable
.spec.values.pilot.topologySpreadConstraints[].labelSelector
- Description
- LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
- Type
object
.spec.values.pilot.topologySpreadConstraints[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.topologySpreadConstraints[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.topologySpreadConstraints[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.topologySpreadConstraints[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.topologySpreadConstraints[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
- Type
array
.spec.values.pilot.topologySpreadConstraints[].matchLabelKeys[]
- Type
string
.spec.values.pilot.volumeMounts
- Description
- Additional volumeMounts to add to the Pilot container.
- Type
array
.spec.values.pilot.volumeMounts[]
- Description
- VolumeMount describes a mounting of a Volume within a container.
- Type
object- Required
mountPathname
.spec.values.pilot.volumes
- Description
- Additional volumes to add to the Pilot Pod.
- Type
array
.spec.values.pilot.volumes[]
- Description
- Volume represents a named volume in a pod that may be accessed by any container in the pod.
- Type
object- Required
name
.spec.values.pilot.volumes[].awsElasticBlockStore
- Description
- awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
- Type
object- Required
volumeID
.spec.values.pilot.volumes[].azureDisk
- Description
- azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.
- Type
object- Required
diskNamediskURI
.spec.values.pilot.volumes[].azureFile
- Description
- azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.
- Type
object- Required
secretNameshareName
.spec.values.pilot.volumes[].cephfs
- Description
- cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
- Type
object- Required
monitors
.spec.values.pilot.volumes[].cephfs.monitors
- Description
- monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
- Type
array
.spec.values.pilot.volumes[].cephfs.monitors[]
- Type
string
.spec.values.pilot.volumes[].cephfs.secretRef
- Description
- secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
- Type
object
.spec.values.pilot.volumes[].cinder
- Description
- cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
- Type
object- Required
volumeID
.spec.values.pilot.volumes[].cinder.secretRef
- Description
- secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.
- Type
object
.spec.values.pilot.volumes[].configMap
- Description
- configMap represents a configMap that should populate this volume
- Type
object
.spec.values.pilot.volumes[].configMap.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.pilot.volumes[].configMap.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.pilot.volumes[].csi
- Description
- csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
- Type
object- Required
driver
.spec.values.pilot.volumes[].csi.nodePublishSecretRef
- Description
- nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.
- Type
object
.spec.values.pilot.volumes[].csi.volumeAttributes
- Description
- volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.
- Type
object
.spec.values.pilot.volumes[].downwardAPI
- Description
- downwardAPI represents downward API about the pod that should populate this volume
- Type
object
.spec.values.pilot.volumes[].downwardAPI.items
- Description
- Items is a list of downward API volume file
- Type
array
.spec.values.pilot.volumes[].downwardAPI.items[]
- Description
- DownwardAPIVolumeFile represents information to create the file containing the pod field
- Type
object- Required
path
.spec.values.pilot.volumes[].downwardAPI.items[].fieldRef
- Description
- Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- Type
object- Required
fieldPath
.spec.values.pilot.volumes[].downwardAPI.items[].resourceFieldRef
- Description
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- Type
object- Required
resource
.spec.values.pilot.volumes[].emptyDir
- Description
- emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
- Type
object
.spec.values.pilot.volumes[].ephemeral
- Description
- ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time.
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate
- Description
- Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `<pod name>-<volume name>` where `<volume name>` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil.
- Type
object- Required
spec
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec
- Description
- The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.accessModes[]
- Type
string
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.resources
- Description
- resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.volumes[].fc
- Description
- fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
- Type
object
.spec.values.pilot.volumes[].fc.targetWWNs
- Description
- targetWWNs is Optional: FC target worldwide names (WWNs)
- Type
array
.spec.values.pilot.volumes[].fc.targetWWNs[]
- Type
string
.spec.values.pilot.volumes[].fc.wwids
- Description
- wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
- Type
array
.spec.values.pilot.volumes[].fc.wwids[]
- Type
string
.spec.values.pilot.volumes[].flexVolume
- Description
- flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
- Type
object- Required
driver
.spec.values.pilot.volumes[].flexVolume.options
- Description
- options is Optional: this field holds extra command options if any.
- Type
object
.spec.values.pilot.volumes[].flexVolume.secretRef
- Description
- secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
- Type
object
.spec.values.pilot.volumes[].flocker
- Description
- flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
- Type
object
.spec.values.pilot.volumes[].gcePersistentDisk
- Description
- gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
- Type
object- Required
pdName
.spec.values.pilot.volumes[].gitRepo
- Description
- gitRepo represents a git repository at a particular revision. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
- Type
object- Required
repository
.spec.values.pilot.volumes[].glusterfs
- Description
- glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md
- Type
object- Required
endpointspath
.spec.values.pilot.volumes[].hostPath
- Description
- hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
- Type
object- Required
path
.spec.values.pilot.volumes[].image
- Description
- image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided: - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
- Type
object
.spec.values.pilot.volumes[].iscsi
- Description
- iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md
- Type
object- Required
iqnluntargetPortal
.spec.values.pilot.volumes[].iscsi.portals
- Description
- portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
- Type
array
.spec.values.pilot.volumes[].iscsi.portals[]
- Type
string
.spec.values.pilot.volumes[].iscsi.secretRef
- Description
- secretRef is the CHAP Secret for iSCSI target and initiator authentication
- Type
object
.spec.values.pilot.volumes[].nfs
- Description
- nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
- Type
object- Required
pathserver
.spec.values.pilot.volumes[].persistentVolumeClaim
- Description
- persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object- Required
claimName
.spec.values.pilot.volumes[].photonPersistentDisk
- Description
- photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
- Type
object- Required
pdID
.spec.values.pilot.volumes[].portworxVolume
- Description
- portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.
- Type
object- Required
volumeID
.spec.values.pilot.volumes[].projected
- Description
- projected items for all in one resources secrets, configmaps, and downward API
- Type
object
.spec.values.pilot.volumes[].projected.sources
- Description
- sources is the list of volume projections. Each entry in this list handles one source.
- Type
array
.spec.values.pilot.volumes[].projected.sources[]
- Description
- Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
- Type
object
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle
- Description
- ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. Alpha, gated by the ClusterTrustBundleProjection feature gate. ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.
- Type
object- Required
path
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector
- Description
- Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything".
- Type
object
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.pilot.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.pilot.volumes[].projected.sources[].configMap
- Description
- configMap information about the configMap data to project
- Type
object
.spec.values.pilot.volumes[].projected.sources[].configMap.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.pilot.volumes[].projected.sources[].configMap.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.pilot.volumes[].projected.sources[].downwardAPI
- Description
- downwardAPI information about the downwardAPI data to project
- Type
object
.spec.values.pilot.volumes[].projected.sources[].downwardAPI.items
- Description
- Items is a list of DownwardAPIVolume file
- Type
array
.spec.values.pilot.volumes[].projected.sources[].downwardAPI.items[]
- Description
- DownwardAPIVolumeFile represents information to create the file containing the pod field
- Type
object- Required
path
.spec.values.pilot.volumes[].projected.sources[].downwardAPI.items[].fieldRef
- Description
- Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- Type
object- Required
fieldPath
.spec.values.pilot.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
- Description
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- Type
object- Required
resource
.spec.values.pilot.volumes[].projected.sources[].secret
- Description
- secret information about the secret data to project
- Type
object
.spec.values.pilot.volumes[].projected.sources[].secret.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.pilot.volumes[].projected.sources[].secret.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.pilot.volumes[].projected.sources[].serviceAccountToken
- Description
- serviceAccountToken is information about the serviceAccountToken data to project
- Type
object- Required
path
.spec.values.pilot.volumes[].quobyte
- Description
- quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
- Type
object- Required
registryvolume
.spec.values.pilot.volumes[].rbd
- Description
- rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md
- Type
object- Required
imagemonitors
.spec.values.pilot.volumes[].rbd.monitors
- Description
- monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- Type
array
.spec.values.pilot.volumes[].rbd.monitors[]
- Type
string
.spec.values.pilot.volumes[].rbd.secretRef
- Description
- secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- Type
object
.spec.values.pilot.volumes[].scaleIO
- Description
- scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
- Type
object- Required
gatewaysecretRefsystem
.spec.values.pilot.volumes[].scaleIO.secretRef
- Description
- secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.
- Type
object
.spec.values.pilot.volumes[].secret
- Description
- secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
- Type
object
.spec.values.pilot.volumes[].secret.items
- Description
- items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.pilot.volumes[].secret.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.pilot.volumes[].storageos
- Description
- storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
- Type
object
.spec.values.pilot.volumes[].storageos.secretRef
- Description
- secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.
- Type
object
.spec.values.pilot.volumes[].vsphereVolume
- Description
- vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.
- Type
object- Required
volumePath
.spec.values.sidecarInjectorWebhook
- Description
- Configuration for the sidecar injector webhook.
- Type
object
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector
- Description
- See NeverInjectSelector.
- Type
array
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[]
- Description
- A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
- Type
object
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[].matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[].matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[].matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[].matchExpressions[].values[]
- Type
string
.spec.values.sidecarInjectorWebhook.alwaysInjectSelector[].matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.sidecarInjectorWebhook.defaultTemplates
- Description
- defaultTemplates: ["sidecar", "hello"]
- Type
array
.spec.values.sidecarInjectorWebhook.defaultTemplates[]
- Type
string
.spec.values.sidecarInjectorWebhook.injectedAnnotations
- Description
- injectedAnnotations are additional annotations that will be added to the pod spec after injection This is primarily to support PSP annotations.
- Type
object
.spec.values.sidecarInjectorWebhook.neverInjectSelector
- Description
- Instructs Istio to not inject the sidecar on those pods, based on labels that are present in those pods. Annotations in the pods have higher precedence than the label selectors. Order of evaluation: Pod Annotations → NeverInjectSelector → AlwaysInjectSelector → Default Policy. See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/#more-control-adding-exceptions
- Type
array
.spec.values.sidecarInjectorWebhook.neverInjectSelector[]
- Description
- A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
- Type
object
.spec.values.sidecarInjectorWebhook.neverInjectSelector[].matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.sidecarInjectorWebhook.neverInjectSelector[].matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.sidecarInjectorWebhook.neverInjectSelector[].matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.sidecarInjectorWebhook.neverInjectSelector[].matchExpressions[].values[]
- Type
string
.spec.values.sidecarInjectorWebhook.neverInjectSelector[].matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.sidecarInjectorWebhook.templates
- Description
- Templates defines a set of custom injection templates that can be used. For example, defining: templates: hello: | metadata: labels: hello: world Then starting a pod with the `inject.istio.io/templates: hello` annotation, will result in the pod being injected with the hello=world labels. This is intended for advanced configuration only; most users should use the built in template
- Type
object
.spec.values.telemetry
- Description
- Controls whether telemetry is exported for Pilot.
- Type
object
.spec.values.telemetry.v2
- Description
- Configuration for Telemetry v2.
- Type
object
.spec.values.telemetry.v2.prometheus
- Description
- Telemetry v2 settings for prometheus.
- Type
object
.spec.values.telemetry.v2.stackdriver
- Description
- Telemetry v2 settings for stackdriver.
- Type
object
.status
- Description
- IstioStatus defines the observed state of Istio
- Type
object
.status.conditions
- Description
- Represents the latest available observations of the object's current state.
- Type
array
.status.conditions[]
- Description
- IstioCondition represents a specific observation of the IstioCondition object's state.
- Type
object
.status.revisions
- Description
- Reports information about the underlying IstioRevisions.
- Type
object- Required
inUsereadytotal
API Endpoints
The following API endpoints are available:
/apis/sailoperator.io/v1/namespaces/{namespace}/istiosDELETE: delete collection of IstioGET: list objects of kind IstioPOST: create a new Istio
/apis/sailoperator.io/v1/namespaces/{namespace}/istios/{name}DELETE: delete the specified IstioGET: read the specified IstioPATCH: partially update the specified IstioPUT: replace the specified Istio
/apis/sailoperator.io/v1/namespaces/{namespace}/istios/{name}/statusGET: read status of the specified IstioPATCH: partially update status of the specified IstioPUT: replace status of the specified Istio
/apis/sailoperator.io/v1/namespaces/{namespace}/istios
- HTTP method
DELETE- Description
- delete collection of Istio
- HTTP responses
- HTTP method
GET- Description
- list objects of kind Istio
- HTTP responses
- HTTP method
POST- Description
- create a new Istio
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istios/{name}
- HTTP method
DELETE- Description
- delete the specified Istio
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified Istio
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified Istio
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified Istio
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istios/{name}/status
- HTTP method
GET- Description
- read status of the specified Istio
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified Istio
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified Istio
- Query parameters
- Body parameters
- HTTP responses
IstioCNI
- Description
- IstioCNI represents a deployment of the Istio CNI component.
- Type
object
Specification
.spec
- Description
- IstioCNISpec defines the desired state of IstioCNI
- Type
object- Required
namespaceversion
.spec.values
- Description
- Defines the values to be passed to the Helm charts when installing Istio CNI.
- Type
object
.spec.values.cni
- Description
- Configuration for the Istio CNI plugin.
- Type
object
.spec.values.cni.affinity
- Description
- K8s affinity to set on the istio-cni Pods. Can be used to exclude istio-cni from being scheduled on specified nodes.
- Type
object
.spec.values.cni.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
object
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
- Type
object- Required
preferenceweight
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
object
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
- Type
object- Required
nodeSelectorTerms
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- Type
object
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Description
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.values.cni.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.cni.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.cni.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.cni.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- Type
object- Required
topologyKey
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- Type
array
.spec.values.cni.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.values.cni.ambient
- Description
- Configuration for Istio Ambient.
- Type
object
.spec.values.cni.daemonSetLabels
- Description
- Additional labels to apply to the istio-cni DaemonSet.
- Type
object
.spec.values.cni.env
- Description
- Environment variables passed to the CNI container. Examples: env: ENV_VAR_1: value1 ENV_VAR_2: value2
- Type
object
.spec.values.cni.excludeNamespaces
- Description
- List of namespaces that should be ignored by the CNI plugin.
- Type
array
.spec.values.cni.excludeNamespaces[]
- Type
string
.spec.values.cni.logging
- Description
- Same as `global.logging.level`, but will override it if set
- Type
object
.spec.values.cni.podAnnotations
- Description
- Additional annotations to apply to the istio-cni Pods. Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.cni.podLabels
- Description
- Additional labels to apply to the istio-cni Pods.
- Type
object
.spec.values.cni.repair
- Description
- Configuration for the CNI Repair controller.
- Type
object
.spec.values.cni.resource_quotas
- Description
- The resource quotas configration for the CNI DaemonSet.
- Type
object
.spec.values.cni.resources
- Description
- The k8s resource requests and limits for the istio-cni Pods.
- Type
object
.spec.values.cni.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.cni.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.cni.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.cni.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.cni.seccompProfile
- Description
- The Container seccompProfile See: https://kubernetes.io/docs/tutorials/security/seccomp/
- Type
object- Required
type
.spec.values.global
- Description
- Part of the global configuration applicable to the Istio CNI component.
- Type
object
.spec.values.global.defaultResources
- Description
- See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.defaultResources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.defaultResources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.defaultResources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.defaultResources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.imagePullSecrets
- Description
- ImagePullSecrets for the control plane ServiceAccount, list of secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. Must be set for any cluster configured with private docker registry.
- Type
array
.spec.values.global.imagePullSecrets[]
- Type
string
.spec.values.global.logging
- Description
- Specifies the global logging level settings for the Istio control plane components.
- Type
object
.status
- Description
- IstioCNIStatus defines the observed state of IstioCNI
- Type
object
.status.conditions
- Description
- Represents the latest available observations of the object's current state.
- Type
array
.status.conditions[]
- Description
- IstioCNICondition represents a specific observation of the IstioCNI object's state.
- Type
object
API Endpoints
The following API endpoints are available:
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnisDELETE: delete collection of IstioCNIGET: list objects of kind IstioCNIPOST: create a new IstioCNI
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnis/{name}DELETE: delete the specified IstioCNIGET: read the specified IstioCNIPATCH: partially update the specified IstioCNIPUT: replace the specified IstioCNI
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnis/{name}/statusGET: read status of the specified IstioCNIPATCH: partially update status of the specified IstioCNIPUT: replace status of the specified IstioCNI
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnis
- HTTP method
DELETE- Description
- delete collection of IstioCNI
- HTTP responses
- HTTP method
GET- Description
- list objects of kind IstioCNI
- HTTP responses
- HTTP method
POST- Description
- create a new IstioCNI
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnis/{name}
- HTTP method
DELETE- Description
- delete the specified IstioCNI
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified IstioCNI
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified IstioCNI
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified IstioCNI
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istiocnis/{name}/status
- HTTP method
GET- Description
- read status of the specified IstioCNI
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified IstioCNI
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified IstioCNI
- Query parameters
- Body parameters
- HTTP responses
IstioRevisionTag
- Description
- IstioRevisionTag references an Istio or IstioRevision object and serves as an alias for sidecar injection. It can be used to manage stable revision tags without having to use istioctl or helm directly. See https://istio.io/latest/docs/setup/upgrade/canary/#stable-revision-labels for more information on the concept.
- Type
object
Specification
.spec
- Description
- IstioRevisionTagSpec defines the desired state of IstioRevisionTag
- Type
object- Required
targetRef
.spec.targetRef
- Description
- IstioRevisionTagTargetReference can reference either Istio or IstioRevision objects in the cluster. In the case of referencing an Istio object, the Sail Operator will automatically update the reference to the Istio object's Active Revision.
- Type
object- Required
kindname
.status
- Description
- IstioRevisionStatus defines the observed state of IstioRevision
- Type
object- Required
istioRevisionistiodNamespace
.status.conditions
- Description
- Represents the latest available observations of the object's current state.
- Type
array
.status.conditions[]
- Description
- IstioRevisionCondition represents a specific observation of the IstioRevision object's state.
- Type
object
API Endpoints
The following API endpoints are available:
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontagsDELETE: delete collection of IstioRevisionTagGET: list objects of kind IstioRevisionTagPOST: create a new IstioRevisionTag
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontags/{name}DELETE: delete the specified IstioRevisionTagGET: read the specified IstioRevisionTagPATCH: partially update the specified IstioRevisionTagPUT: replace the specified IstioRevisionTag
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontags/{name}/statusGET: read status of the specified IstioRevisionTagPATCH: partially update status of the specified IstioRevisionTagPUT: replace status of the specified IstioRevisionTag
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontags
- HTTP method
DELETE- Description
- delete collection of IstioRevisionTag
- HTTP responses
- HTTP method
GET- Description
- list objects of kind IstioRevisionTag
- HTTP responses
- HTTP method
POST- Description
- create a new IstioRevisionTag
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontags/{name}
- HTTP method
DELETE- Description
- delete the specified IstioRevisionTag
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified IstioRevisionTag
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified IstioRevisionTag
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified IstioRevisionTag
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1/namespaces/{namespace}/istiorevisiontags/{name}/status
- HTTP method
GET- Description
- read status of the specified IstioRevisionTag
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified IstioRevisionTag
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified IstioRevisionTag
- Query parameters
- Body parameters
- HTTP responses
ZTunnel
- Description
- ZTunnel represents a deployment of the Istio ztunnel component.
- Type
object
Specification
.spec
- Description
- ZTunnelSpec defines the desired state of ZTunnel
- Type
object- Required
namespaceversion
.spec.values
- Description
- Defines the values to be passed to the Helm charts when installing Istio ztunnel.
- Type
object
.spec.values.global
- Description
- Part of the global configuration applicable to the Istio ztunnel component.
- Type
object
.spec.values.global.defaultResources
- Description
- See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container Deprecated: Marked as deprecated in pkg/apis/values_types.proto.
- Type
object
.spec.values.global.defaultResources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.global.defaultResources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.global.defaultResources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.defaultResources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.global.imagePullSecrets
- Description
- ImagePullSecrets for the control plane ServiceAccount, list of secrets in the same namespace to use for pulling any images in pods that reference this ServiceAccount. Must be set for any cluster configured with private docker registry.
- Type
array
.spec.values.global.imagePullSecrets[]
- Type
string
.spec.values.global.logging
- Description
- Specifies the global logging level settings for the Istio control plane components.
- Type
object
.spec.values.ztunnel
- Description
- Configuration for the Istio ztunnel plugin.
- Type
object
.spec.values.ztunnel.Annotations
- Description
- Annotations to apply to all top level resources
- Type
object
.spec.values.ztunnel.Labels
- Description
- Labels to apply to all top level resources
- Type
object
.spec.values.ztunnel.env
- Description
- A `key: value` mapping of environment variables to add to the pod
- Type
object
.spec.values.ztunnel.imagePullSecrets
- Description
- List of secret names to add to the service account as image pull secrets to use for pulling any images in pods that reference this ServiceAccount. Must be set for any cluster configured with private docker registry.
- Type
array
.spec.values.ztunnel.imagePullSecrets[]
- Type
string
.spec.values.ztunnel.meshConfig
- Description
- meshConfig defines runtime configuration of components. For ztunnel, only defaultConfig is used, but this is nested under `meshConfig` for consistency with other components.
- Type
object
.spec.values.ztunnel.meshConfig.ca
- Description
- If specified, Istiod will authorize and forward the CSRs from the workloads to the specified external CA using the Istio CA gRPC API.
- Type
object- Required
address
.spec.values.ztunnel.meshConfig.ca.tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. Regarding tlsSettings: - DISABLE MODE is legitimate for the case Istiod is making the request via an Envoy sidecar. DISABLE MODE can also be used for testing - TLS MUTUAL MODE be on by default. If the CA certificates (cert bundle to verify the CA server's certificate) is omitted, Istiod will use the system root certs to verify the CA server's certificate.
- Type
object
.spec.values.ztunnel.meshConfig.ca.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.ztunnel.meshConfig.ca.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.ztunnel.meshConfig.caCertificates
- Description
- The extra root certificates for workload-to-workload communication. The plugin certificates (the 'cacerts' secret) or self-signed certificates (the 'istio-ca-secret' secret) are automatically added by Istiod. The CA certificate that signs the workload certificates is automatically added by Istio Agent.
- Type
array
.spec.values.ztunnel.meshConfig.caCertificates[]
- Type
object
.spec.values.ztunnel.meshConfig.caCertificates[].certSigners
- Description
- when Istiod is acting as RA(registration authority) If set, they are used for these signers. Otherwise, this trustAnchor is used for all signers.
- Type
array
.spec.values.ztunnel.meshConfig.caCertificates[].certSigners[]
- Type
string
.spec.values.ztunnel.meshConfig.caCertificates[].trustDomains
- Description
- Optional. Specify the list of trust domains to which this trustAnchor data belongs. If set, they are used for these trust domains. Otherwise, this trustAnchor is used for default trust domain and its aliases. Note that we can have multiple trustAnchor data for a same trustDomain. In that case, trustAnchors with a same trust domain will be merged and used together to verify peer certificates. If neither certSigners nor trustDomains is set, this trustAnchor is used for all trust domains and all signers. If only trustDomains is set, this trustAnchor is used for these trustDomains and all signers. If only certSigners is set, this trustAnchor is used for these certSigners and all trust domains. If both certSigners and trustDomains is set, this trustAnchor is only used for these signers and trust domains.
- Type
array
.spec.values.ztunnel.meshConfig.caCertificates[].trustDomains[]
- Type
string
.spec.values.ztunnel.meshConfig.certificates
- Description
- Configure the provision of certificates. Note: Deprecated, please refer to Cert-Manager or other cert provisioning solutions to sign DNS certificates. Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
array
.spec.values.ztunnel.meshConfig.certificates[]
- Description
- Certificate configures the provision of a certificate and its key. Example 1: key and cert stored in a secret ``` { secretName: galley-cert secretNamespace: istio-system dnsNames: - galley.istio-system.svc - galley.mydomain.com } ``` Example 2: key and cert stored in a directory ``` { dnsNames: - pilot.istio-system - pilot.istio-system.svc - pilot.mydomain.com } ```
- Type
object
.spec.values.ztunnel.meshConfig.certificates[].dnsNames
- Description
- The DNS names for the certificate. A certificate may contain multiple DNS names.
- Type
array
.spec.values.ztunnel.meshConfig.certificates[].dnsNames[]
- Type
string
.spec.values.ztunnel.meshConfig.configSources
- Description
- ConfigSource describes a source of configuration data for networking rules, and other Istio configuration artifacts. Multiple data sources can be configured for a single control plane.
- Type
array
.spec.values.ztunnel.meshConfig.configSources[]
- Description
- ConfigSource describes information about a configuration store inside a mesh. A single control plane instance can interact with one or more data sources.
- Type
object
.spec.values.ztunnel.meshConfig.configSources[].subscribedResources
- Description
- Describes the source of configuration, if nothing is specified default is MCP
- Type
array
.spec.values.ztunnel.meshConfig.configSources[].subscribedResources[]
- Description
- Resource describes the source of configuration
- Type
string
.spec.values.ztunnel.meshConfig.configSources[].tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. If the MCP server uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.ztunnel.meshConfig.configSources[].tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.ztunnel.meshConfig.configSources[].tlsSettings.subjectAltNames[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig
- Description
- Default proxy config used by gateway and sidecars. In case of Kubernetes, the proxy config is applied once during the injection process, and remain constant for the duration of the pod. The rest of the mesh config can be changed at runtime and config gets distributed dynamically. On Kubernetes, this can be overridden on individual pods with the `proxy.istio.io/config` annotation.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.caCertificatesPem
- Description
- The PEM data of the extra root certificates for workload-to-workload communication. This includes the certificates defined in MeshConfig and any other certificates that Istiod uses as CA. The plugin certificates (the 'cacerts' secret), self-signed certificates (the 'istio-ca-secret' secret) are added automatically by Istiod.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.caCertificatesPem[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.envoyAccessLogService
- Description
- Address of the service to which access logs from Envoys should be sent. (e.g. `accesslog-service:15000`). See [Access Log Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/accesslog/v2/als.proto) for details about Envoy's gRPC Access Log Service API.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyAccessLogService.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings
- Description
- Use the `tlsSettings` to specify the tls mode to use. If the remote service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.envoyAccessLogService.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.envoyMetricsService
- Description
- Address of the Envoy Metrics Service implementation (e.g. `metrics-service:15000`). See [Metric Service](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto) for details about Envoy's Metrics Service API.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyMetricsService.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyMetricsService.tlsSettings
- Description
- Use the `tlsSettings` to specify the tls mode to use. If the remote service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.envoyMetricsService.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.envoyMetricsService.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.extraStatTags
- Description
- An additional list of tags to extract from the in-proxy Istio telemetry. These extra tags can be added by configuring the telemetry extension. Each additional tag needs to be present in this list. Extra tags emitted by the telemetry extensions must be listed here so that they can be processed and exposed as Prometheus metrics. Deprecated: `istio.stats` is a native filter now, this field is no longer needed.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.extraStatTags[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.gatewayTopology
- Description
- Topology encapsulates the configuration which describes where the proxy is located i.e. behind a (or N) trusted proxy (proxies) or directly exposed to the internet. This configuration only effects gateways and is applied to all the gateways in the cluster unless overridden via annotations of the gateway workloads.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.gatewayTopology.proxyProtocol
- Description
- Enables [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for downstream connections on a gateway.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.image
- Description
- Specifies the details of the proxy image.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.privateKeyProvider
- Description
- Specifies the details of the Private Key Provider configuration for gateway and sidecar proxies.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.privateKeyProvider.cryptomb
- Description
- Use CryptoMb private key provider
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.privateKeyProvider.qat
- Description
- Use QAT private key provider
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders
- Description
- Define the set of headers to add/modify for HTTP request/responses. To enable an optional header, simply set the field. If no specific configuration is required, an empty object (`{}`) will enable it. Note: currently all headers are enabled by default. Below shows an example of customizing the `server` header and disabling the `X-Envoy-Attempt-Count` header: ```yaml proxyHeaders: server: value: "my-custom-server" # Explicitly enable Request IDs. # As this is the default, this has no effect. requestId: {} attemptCount: disabled: true ``` # Below shows an example of preserving the header case for HTTP 1.x requests ```yaml proxyHeaders: preserveHttp1HeaderCase: true ``` Some headers are enabled by default, and require explicitly disabling. See below for an example of disabling all default-enabled headers: ```yaml proxyHeaders: forwardedClientCert: SANITIZE server: disabled: true requestId: disabled: true attemptCount: disabled: true envoyDebugHeaders: disabled: true metadataExchangeHeaders: mode: IN_MESH ```
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.attemptCount
- Description
- Controls the `X-Envoy-Attempt-Count` header. If enabled, this header will be added on outbound request headers (including gateways) that have retries configured. If disabled, this header will not be set. If it is already present, it will be preserved. This header is enabled by default if not configured.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.envoyDebugHeaders
- Description
- Controls various `X-Envoy-*` headers, such as `X-Envoy-Overloaded` and `X-Envoy-Upstream-Service-Time`. If enabled, these headers will be included. If disabled, these headers will not be set. If they are already present, they will be preserved. See the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/router/v3/router.proto#envoy-v3-api-field-extensions-filters-http-router-v3-router-suppress-envoy-headers) for more details. These headers are enabled by default if not configured.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.metadataExchangeHeaders
- Description
- Controls Istio metadata exchange headers `X-Envoy-Peer-Metadata` and `X-Envoy-Peer-Metadata-Id`. By default, the behavior is unspecified. If IN_MESH, these headers will not be appended to outbound requests from sidecars to services not in-mesh.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.requestId
- Description
- Controls the `X-Request-Id` header. If enabled, a request ID is generated for each request if one is not already set. This applies to all types of traffic (inbound, outbound, and gateways). If disabled, no request ID will be generate for the request. If it is already present, it will be preserved. Warning: request IDs are a critical component to mesh tracing and logging, so disabling this is not recommended. This header is enabled by default if not configured.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.server
- Description
- Controls the `server` header. If enabled, the `Server: istio-envoy` header is set in response headers for inbound traffic (including gateways). If disabled, the `Server` header is not modified. If it is already present, it will be preserved.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.setCurrentClientCertDetails
- Description
- This field is valid only when forward_client_cert_details is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in the client certificate to be forwarded. Note that `Hash` is always set, and `By` is always set when the client certificate presents the URI type Subject Alternative Name value.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.xForwardedHost
- Description
- Controls the `X-Forwarded-Host` header. If enabled, the `X-Forwarded-Host` header is appended with the original host when it is rewritten. This header is disabled by default.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyHeaders.xForwardedPort
- Description
- Controls the `X-Forwarded-Port` header. If enabled, the `X-Forwarded-Port` header is header with the port value client used to connect to Envoy. It will be ignored if the “x-forwarded-port“ header has been set by any trusted proxy in front of Envoy. This header is disabled by default.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyMetadata
- Description
- Additional environment variables for the proxy. Names starting with `ISTIO_META_` will be included in the generated bootstrap and sent to the XDS server.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher
- Description
- Proxy stats matcher defines configuration for reporting custom Envoy stats. To reduce memory and CPU overhead from Envoy stats system, Istio proxies by default create and expose only a subset of Envoy stats. This option is to control creation of additional Envoy stats with prefix, suffix, and regex expressions match on the name of the stats. This replaces the stats inclusion annotations (`sidecar.istio.io/statsInclusionPrefixes`, `sidecar.istio.io/statsInclusionRegexps`, and `sidecar.istio.io/statsInclusionSuffixes`). For example, to enable stats for circuit breakers, request retries, upstream connections, and request timeouts, you can specify stats matcher as follows: ```yaml proxyStatsMatcher: inclusionRegexps: - .*outlier_detection.* - .*upstream_rq_retry.* - .*upstream_cx_.* inclusionSuffixes: - upstream_rq_timeout ``` Note including more Envoy stats might increase number of time series collected by prometheus significantly. Care needs to be taken on Prometheus resource provision and configuration to reduce cardinality.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionPrefixes
- Description
- Proxy stats name prefix matcher for inclusion.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionPrefixes[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps
- Description
- Proxy stats name regexps matcher for inclusion.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionSuffixes
- Description
- Proxy stats name suffix matcher for inclusion.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.proxyStatsMatcher.inclusionSuffixes[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe
- Description
- VM Health Checking readiness probe. This health check config exactly mirrors the kubernetes readiness probe configuration both in schema and logic. Only one health check method of 3 can be set at a time.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.exec
- Description
- Exec specifies a command to execute in the container.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.exec.command
- Description
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.exec.command[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.grpc
- Description
- GRPC specifies a GRPC HealthCheckRequest.
- Type
object- Required
port
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.httpGet
- Description
- HTTPGet specifies an HTTP GET request to perform.
- Type
object- Required
port
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.httpGet.httpHeaders
- Description
- Custom headers to set in the request. HTTP allows repeated headers.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.httpGet.httpHeaders[]
- Description
- HTTPHeader describes a custom header to be used in HTTP probes
- Type
object- Required
namevalue
.spec.values.ztunnel.meshConfig.defaultConfig.readinessProbe.tcpSocket
- Description
- TCPSocket specifies a connection to a TCP port.
- Type
object- Required
port
.spec.values.ztunnel.meshConfig.defaultConfig.runtimeValues
- Description
- Envoy [runtime configuration](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/runtime) to set during bootstrapping. This enables setting experimental, unsafe, unsupported, and deprecated features that should be used with extreme caution.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.sds
- Description
- Secret Discovery Service(SDS) configuration to be used by the proxy. Deprecated: Marked as deprecated in mesh/v1alpha1/proxy.proto.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing
- Description
- Tracing configuration to be used by the proxy.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.customTags
- Description
- and gateways). The key represents the name of the tag. Ex: ```yaml custom_tags: new_tag_name: header: name: custom-http-header-name default_value: defaulted-value-from-custom-header ```
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.datadog
- Description
- Use a Datadog tracer.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.lightstep
- Description
- Use a Lightstep tracer. NOTE: For Istio 1.15+, this configuration option will result in using OpenTelemetry-based Lightstep integration.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.openCensusAgent
- Description
- Use an OpenCensus tracer exporting to an OpenCensus agent.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.openCensusAgent.context
- Description
- Specifies the set of context propagation headers used for distributed tracing. Default is `["W3C_TRACE_CONTEXT"]`. If multiple values are specified, the proxy will attempt to read each header for each request and will write all headers.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.openCensusAgent.context[]
- Description
- TraceContext selects the context propagation headers used for distributed tracing.
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.stackdriver
- Description
- Use a Stackdriver tracer.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.tlsSettings
- Description
- Use the tlsSettings to specify the tls mode to use. If the remote tracing service uses Istio mutual TLS and shares the root CA with istiod, specify the TLS mode as `ISTIO_MUTUAL`.
- Type
object
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.tlsSettings.subjectAltNames
- Description
- A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. If specified, this list overrides the value of `subjectAltNames` from the `ServiceEntry`. If unspecified, automatic validation of upstream presented certificate for new upstream connections will be done based on the downstream HTTP host/authority header.
- Type
array
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.tlsSettings.subjectAltNames[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultConfig.tracing.zipkin
- Description
- Use a Zipkin tracer.
- Type
object
.spec.values.ztunnel.meshConfig.defaultDestinationRuleExportTo
- Description
- The default value for the `DestinationRule.exportTo` field. Has the same syntax as `defaultServiceExportTo`. If not set the system will use "*" as the default value which implies that destination rules are exported to all namespaces
- Type
array
.spec.values.ztunnel.meshConfig.defaultDestinationRuleExportTo[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultHttpRetryPolicy
- Description
- Configure the default HTTP retry policy. The default number of retry attempts is set at 2 for these errors: "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes". Setting the number of attempts to 0 disables retry policy globally. This setting can be overridden on a per-host basis using the Virtual Service API. All settings in the retry policy except `perTryTimeout` can currently be configured globally via this field.
- Type
object
.spec.values.ztunnel.meshConfig.defaultProviders
- Description
- Specifies extension providers to use by default in Istio configuration resources.
- Type
object
.spec.values.ztunnel.meshConfig.defaultProviders.accessLogging
- Description
- Name of the default provider(s) for access logging.
- Type
array
.spec.values.ztunnel.meshConfig.defaultProviders.accessLogging[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultProviders.metrics
- Description
- Name of the default provider(s) for metrics.
- Type
array
.spec.values.ztunnel.meshConfig.defaultProviders.metrics[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultProviders.tracing
- Description
- Name of the default provider(s) for tracing.
- Type
array
.spec.values.ztunnel.meshConfig.defaultProviders.tracing[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultServiceExportTo
- Description
- The default value for the ServiceEntry.exportTo field and services imported through container registry integrations, e.g. this applies to Kubernetes Service resources. The value is a list of namespace names and reserved namespace aliases. The allowed namespace aliases are: ``` * - All Namespaces . - Current Namespace ~ - No Namespace ``` If not set the system will use "*" as the default value which implies that services are exported to all namespaces. `All namespaces` is a reasonable default for implementations that don't need to restrict access or visibility of services across namespace boundaries. If that requirement is present it is generally good practice to make the default `Current namespace` so that services are only visible within their own namespaces by default. Operators can then expand the visibility of services to other namespaces as needed. Use of `No Namespace` is expected to be rare but can have utility for deployments where dependency management needs to be precise even within the scope of a single namespace. For further discussion see the reference documentation for `ServiceEntry`, `Sidecar`, and `Gateway`.
- Type
array
.spec.values.ztunnel.meshConfig.defaultServiceExportTo[]
- Type
string
.spec.values.ztunnel.meshConfig.defaultVirtualServiceExportTo
- Description
- The default value for the VirtualService.exportTo field. Has the same syntax as `defaultServiceExportTo`. If not set the system will use "*" as the default value which implies that virtual services are exported to all namespaces
- Type
array
.spec.values.ztunnel.meshConfig.defaultVirtualServiceExportTo[]
- Type
string
.spec.values.ztunnel.meshConfig.discoverySelectors
- Description
- A list of Kubernetes selectors that specify the set of namespaces that Istio considers when computing configuration updates for sidecars. This can be used to reduce Istio's computational load by limiting the number of entities (including services, pods, and endpoints) that are watched and processed. If omitted, Istio will use the default behavior of processing all namespaces in the cluster. Elements in the list are disjunctive (OR semantics), i.e. a namespace will be included if it matches any selector. The following example selects any namespace that matches either below: 1. The namespace has both of these labels: `env: prod` and `region: us-east1` 2. The namespace has label `app` equal to `cassandra` or `spark`. ```yaml discoverySelectors: - matchLabels: env: prod region: us-east1 - matchExpressions: - key: app operator: In values: - cassandra - spark ``` Refer to the [Kubernetes selector docs](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors) for additional detail on selector semantics.
- Type
array
.spec.values.ztunnel.meshConfig.discoverySelectors[]
- Description
- A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.
- Type
object
.spec.values.ztunnel.meshConfig.discoverySelectors[].matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.ztunnel.meshConfig.discoverySelectors[].matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.ztunnel.meshConfig.discoverySelectors[].matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.ztunnel.meshConfig.discoverySelectors[].matchExpressions[].values[]
- Type
string
.spec.values.ztunnel.meshConfig.discoverySelectors[].matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders
- Description
- Defines a list of extension providers that extend Istio's functionality. For example, the AuthorizationPolicy can be used with an extension provider to delegate the authorization decision to a custom authorization system.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[]
- Type
object- Required
name
.spec.values.ztunnel.meshConfig.extensionProviders[].datadog
- Description
- Configures a Datadog tracing provider.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzGrpc
- Description
- Configures an external authorizer that implements the Envoy ext_authz filter authorization check service using the gRPC API.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzGrpc.includeRequestBodyInCheck
- Description
- If set, the client request body will be included in the authorization request sent to the authorization service.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp
- Description
- Configures an external authorizer that implements the Envoy ext_authz filter authorization check service using the HTTP API.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnAllow
- Description
- List of headers from the authorization service that should be forwarded to downstream when the authorization check result is allowed (HTTP code 200). If not specified, the original response will not be modified and forwarded to downstream as-is. Note, any existing headers will be overridden. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnAllow[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnDeny
- Description
- List of headers from the authorization service that should be forwarded to downstream when the authorization check result is not allowed (HTTP code other than 200). If not specified, all the authorization response headers, except *Authority (Host)* will be in the response to the downstream. When a header is included in this list, *Path*, *Status*, *Content-Length*, *WWWAuthenticate* and *Location* are automatically added. Note, the body from the authorization service is always included in the response to downstream. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToDownstreamOnDeny[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToUpstreamOnAllow
- Description
- List of headers from the authorization service that should be added or overridden in the original request and forwarded to the upstream when the authorization check result is allowed (HTTP code 200). If not specified, the original request will not be modified and forwarded to backend as-is. Note, any existing headers will be overridden. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.headersToUpstreamOnAllow[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeAdditionalHeadersInCheck
- Description
- Set of additional fixed headers that should be included in the authorization request sent to the authorization service. Key is the header name and value is the header value. Note that client request of the same key or headers specified in includeRequestHeadersInCheck will be overridden.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeHeadersInCheck
- Description
- DEPRECATED. Use includeRequestHeadersInCheck instead. Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeHeadersInCheck[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestBodyInCheck
- Description
- If set, the client request body will be included in the authorization request sent to the authorization service.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestHeadersInCheck
- Description
- List of client request headers that should be included in the authorization request sent to the authorization service. Note that in addition to the headers specified here following headers are included by default: 1. *Host*, *Method*, *Path* and *Content-Length* are automatically sent. 2. *Content-Length* will be set to 0 and the request will not have a message body. However, the authorization request can include the buffered client request body (controlled by includeRequestBodyInCheck setting), consequently the value of Content-Length of the authorization request reflects the size of its payload size. Exact, prefix and suffix matches are supported (similar to the [authorization policy rule syntax](https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule) except the presence match): - Exact match: "abc" will match on value "abc". - Prefix match: "abc*" will match on value "abc" and "abcd". - Suffix match: "*abc" will match on value "abc" and "xabc".
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyExtAuthzHttp.includeRequestHeadersInCheck[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyFileAccessLog
- Description
- Configures an Envoy File Access Log provider.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyFileAccessLog.logFormat
- Description
- Optional. Allows overriding of the default access log format.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyFileAccessLog.logFormat.labels
- Description
- JSON structured format for the envoy access logs. Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) can be used as values for fields within the Struct. Values are rendered as strings, numbers, or boolean values, as appropriate (see: [format dictionaries](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format-dictionaries)). Nested JSON is supported for some command operators (e.g. `FILTER_STATE` or `DYNAMIC_METADATA`). Use `labels: {}` for default envoy JSON log format. Example: ``` labels: status: "%RESPONSE_CODE%" message: "%LOCAL_REPLY_BODY%" ```
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls
- Description
- Configures an Envoy Access Logging Service provider for HTTP traffic.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalRequestHeadersToLog
- Description
- Optional. Additional request headers to log.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalRequestHeadersToLog[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseHeadersToLog
- Description
- Optional. Additional response headers to log.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseHeadersToLog[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseTrailersToLog
- Description
- Optional. Additional response trailers to log.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.additionalResponseTrailersToLog[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.filterStateObjectsToLog
- Description
- Optional. Additional filter state objects to log.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyHttpAls.filterStateObjectsToLog[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyOtelAls
- Description
- Configures an Envoy Open Telemetry Access Logging Service provider.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyOtelAls.logFormat
- Description
- Optional. Format for the proxy access log Empty value results in proxy's default access log format, following Envoy access logging formatting.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyOtelAls.logFormat.labels
- Description
- Optional. Additional attributes that describe the specific event occurrence. Structured format for the envoy access logs. Envoy [command operators](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators) can be used as values for fields within the Struct. Values are rendered as strings, numbers, or boolean values, as appropriate (see: [format dictionaries](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access-log-format-dictionaries)). Nested JSON is supported for some command operators (e.g. FILTER_STATE or DYNAMIC_METADATA). Alias to `attributes` field in [Open Telemetry](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/open_telemetry/v3/logs_service.proto) Example: ``` labels: status: "%RESPONSE_CODE%" message: "%LOCAL_REPLY_BODY%" ```
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyTcpAls
- Description
- Configures an Envoy Access Logging Service provider for TCP traffic.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyTcpAls.filterStateObjectsToLog
- Description
- Optional. Additional filter state objects to log.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].envoyTcpAls.filterStateObjectsToLog[]
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].lightstep
- Description
- Configures a Lightstep tracing provider. Deprecated: For Istio 1.15+, please use an OpenTelemetryTracingProvider instead, more details can be found at https://github.com/istio/istio/issues/40027 Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].opencensus
- Description
- Configures an OpenCensusAgent tracing provider. Deprecated: OpenCensus is deprecated, more details can be found at https://opentelemetry.io/blog/2023/sunsetting-opencensus/ Deprecated: Marked as deprecated in mesh/v1alpha1/config.proto.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].opencensus.context
- Description
- Specifies the set of context propagation headers used for distributed tracing. Default is `["W3C_TRACE_CONTEXT"]`. If multiple values are specified, the proxy will attempt to read each header for each request and will write all headers.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].opencensus.context[]
- Description
- TraceContext selects the context propagation headers used for distributed tracing.
- Type
string
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry
- Description
- Configures an OpenTelemetry tracing provider.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler
- Description
- The Dynatrace adaptive traffic management (ATM) sampler. Example configuration: ```yaml - name: otel-tracing opentelemetry: port: 443 service: "{your-environment-id}.live.dynatrace.com" http: path: "/api/v2/otlp/v1/traces" timeout: 10s headers: - name: "Authorization" value: "Api-Token dt0c01." resourceDetectors: dynatrace: {} dynatraceSampler: tenant: "{your-environment-id}" clusterId: 1234
- Type
object- Required
clusterIdtenant
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService
- Description
- Optional. Dynatrace HTTP API to obtain sampling configuration. When not provided, the Dynatrace Sampler will re-use the configuration from the OpenTelemetryTracingProvider HTTP Exporter (`service`, `port` and `http`), including the access token.
- Type
object- Required
httpportservice
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http
- Description
- REQUIRED. Specifies sampling configuration URI.
- Type
object- Required
path
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http.headers
- Description
- Optional. Allows specifying custom HTTP headers that will be added to each HTTP request sent.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.dynatraceSampler.httpService.http.headers[]
- Type
object- Required
name
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.grpc
- Description
- Optional. Specifies the configuration for exporting OTLP traces via GRPC. When empty, traces will check whether HTTP is set. If not, traces will use default GRPC configurations. The following example shows how to configure the OpenTelemetry ExtensionProvider to export via GRPC: 1. Add/change the OpenTelemetry extension provider in `MeshConfig` ```yaml - name: opentelemetry opentelemetry: port: 8090 service: tracing.example.com grpc: timeout: 10s initialMetadata: - name: "Authentication" value: "token-xxxxx" ``` 2. Deploy a `ServiceEntry` for the observability back-end ```yaml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: tracing-grpc spec: hosts: - tracing.example.com ports: - number: 8090 name: grpc-port protocol: GRPC resolution: DNS location: MESH_EXTERNAL ```
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.grpc.initialMetadata
- Description
- Optional. Additional metadata to include in streams initiated to the GrpcService. This can be used for scenarios in which additional ad hoc authorization headers (e.g. "x-foo-bar: baz-key") are to be injected.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.grpc.initialMetadata[]
- Type
object- Required
name
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.http
- Description
- Optional. Specifies the configuration for exporting OTLP traces via HTTP. When empty, traces will be exported via gRPC. The following example shows how to configure the OpenTelemetry ExtensionProvider to export via HTTP: 1. Add/change the OpenTelemetry extension provider in `MeshConfig` ```yaml - name: otel-tracing opentelemetry: port: 443 service: my.olly-backend.com http: path: "/api/otlp/traces" timeout: 10s headers: - name: "my-custom-header" value: "some value" ``` 2. Deploy a `ServiceEntry` for the observability back-end ```yaml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: my-olly-backend spec: hosts: - my.olly-backend.com ports: - number: 443 name: https-port protocol: HTTPS resolution: DNS location: MESH_EXTERNAL --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: my-olly-backend spec: host: my.olly-backend.com trafficPolicy: portLevelSettings: - port: number: 443 tls: mode: SIMPLE ```
- Type
object- Required
path
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.http.headers
- Description
- Optional. Allows specifying custom HTTP headers that will be added to each HTTP request sent.
- Type
array
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.http.headers[]
- Type
object- Required
name
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.resourceDetectors
- Description
- Optional. Specifies [Resource Detectors](https://opentelemetry.io/docs/specs/otel/resource/sdk/) to be used by the OpenTelemetry Tracer. When multiple resources are provided, they are merged according to the OpenTelemetry [Resource specification](https://opentelemetry.io/docs/specs/otel/resource/sdk/#merge). The following example shows how to configure the Environment Resource Detector, that will read the attributes from the environment variable `OTEL_RESOURCE_ATTRIBUTES`: ```yaml - name: otel-tracing opentelemetry: port: 443 service: my.olly-backend.com resourceDetectors: environment: {} ```
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.resourceDetectors.dynatrace
- Description
- Dynatrace Resource Detector. The resource detector reads from the Dynatrace enrichment files and adds host/process related attributes to the OpenTelemetry resource. See: [Enrich ingested data with Dynatrace-specific dimensions](https://docs.dynatrace.com/docs/shortlink/enrichment-files)
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].opentelemetry.resourceDetectors.environment
- Description
- OpenTelemetry Environment Resource Detector. The resource detector reads attributes from the environment variable `OTEL_RESOURCE_ATTRIBUTES` and adds them to the OpenTelemetry resource. See: [Resource specification](https://opentelemetry.io/docs/specs/otel/resource/sdk/#specifying-resource-information-via-an-environment-variable)
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].prometheus
- Description
- Configures a Prometheus metrics provider.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].sds
- Description
- Configures an Extension Provider for SDS. This can be used to configure an external SDS service to supply secrets for certain Gateways for example. This is useful for scenarios where the secrets are stored in an external secret store like Vault. The secret should be configured with sds://provider-name format.
- Type
object- Required
nameportservice
.spec.values.ztunnel.meshConfig.extensionProviders[].skywalking
- Description
- Configures a Apache SkyWalking provider.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.extensionProviders[].stackdriver
- Description
- Configures a Stackdriver provider.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].stackdriver.logging
- Description
- Optional. Controls Stackdriver logging behavior.
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].stackdriver.logging.labels
- Description
- Collection of tag names and tag expressions to include in the log entry. Conflicts are resolved by the tag name by overriding previously supplied values. Example: labels: path: request.url_path foo: request.headers['x-foo']
- Type
object
.spec.values.ztunnel.meshConfig.extensionProviders[].zipkin
- Description
- Configures a tracing provider that uses the Zipkin API.
- Type
object- Required
portservice
.spec.values.ztunnel.meshConfig.inboundTrafficPolicy
- Description
- Set the default behavior of the sidecar for handling inbound traffic to the application. If your application listens on localhost, you will need to set this to `LOCALHOST`.
- Type
object
.spec.values.ztunnel.meshConfig.localityLbSetting
- Description
- Locality based load balancing distribution or failover settings. If unspecified, locality based load balancing will be enabled by default. However, this requires outlierDetection to actually take effect for a particular service, see https://istio.io/latest/docs/tasks/traffic-management/locality-load-balancing/failover/
- Type
object
.spec.values.ztunnel.meshConfig.localityLbSetting.distribute
- Description
- Optional: only one of distribute, failover or failoverPriority can be set. Explicitly specify loadbalancing weight across different zones and geographical locations. Refer to [Locality weighted load balancing](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight) If empty, the locality weight is set according to the endpoints number within it.
- Type
array
.spec.values.ztunnel.meshConfig.localityLbSetting.distribute[]
- Description
- Describes how traffic originating in the 'from' zone or sub-zone is distributed over a set of 'to' zones. Syntax for specifying a zone is {region}/{zone}/{sub-zone} and terminal wildcards are allowed on any segment of the specification. Examples: `*` - matches all localities `us-west/*` - all zones and sub-zones within the us-west region `us-west/zone-1/*` - all sub-zones within us-west/zone-1
- Type
object
.spec.values.ztunnel.meshConfig.localityLbSetting.distribute[].to
- Description
- Map of upstream localities to traffic distribution weights. The sum of all weights should be 100. Any locality not present will receive no traffic.
- Type
object
.spec.values.ztunnel.meshConfig.localityLbSetting.failover
- Description
- Optional: only one of distribute, failover or failoverPriority can be set. Explicitly specify the region traffic will land on when endpoints in local region becomes unhealthy. Should be used together with OutlierDetection to detect unhealthy endpoints. Note: if no OutlierDetection specified, this will not take effect.
- Type
array
.spec.values.ztunnel.meshConfig.localityLbSetting.failover[]
- Description
- Specify the traffic failover policy across regions. Since zone and sub-zone failover is supported by default this only needs to be specified for regions when the operator needs to constrain traffic failover so that the default behavior of failing over to any endpoint globally does not apply. This is useful when failing over traffic across regions would not improve service health or may need to be restricted for other reasons like regulatory controls.
- Type
object
.spec.values.ztunnel.meshConfig.localityLbSetting.failoverPriority
- Description
- failoverPriority is an ordered list of labels used to sort endpoints to do priority based load balancing. This is to support traffic failover across different groups of endpoints. Two kinds of labels can be specified: - Specify only label keys `[key1, key2, key3]`, istio would compare the label values of client with endpoints. Suppose there are total N label keys `[key1, key2, key3, ...keyN]` specified: 1. Endpoints matching all N labels with the client proxy have priority P(0) i.e. the highest priority. 2. Endpoints matching the first N-1 labels with the client proxy have priority P(1) i.e. second highest priority. 3. By extension of this logic, endpoints matching only the first label with the client proxy has priority P(N-1) i.e. second lowest priority. 4. All the other endpoints have priority P(N) i.e. lowest priority. - Specify labels with key and value `[key1=value1, key2=value2, key3=value3]`, istio would compare the labels with endpoints. Suppose there are total N labels `[key1=value1, key2=value2, key3=value3, ...keyN=valueN]` specified: 1. Endpoints matching all N labels have priority P(0) i.e. the highest priority. 2. Endpoints matching the first N-1 labels have priority P(1) i.e. second highest priority. 3. By extension of this logic, endpoints matching only the first label has priority P(N-1) i.e. second lowest priority. 4. All the other endpoints have priority P(N) i.e. lowest priority. Note: For a label to be considered for match, the previous labels must match, i.e. nth label would be considered matched only if first n-1 labels match. It can be any label specified on both client and server workloads. The following labels which have special semantic meaning are also supported: - `topology.istio.io/network` is used to match the network metadata of an endpoint, which can be specified by pod/namespace label `topology.istio.io/network`, sidecar env `ISTIO_META_NETWORK` or MeshNetworks. - `topology.istio.io/cluster` is used to match the clusterID of an endpoint, which can be specified by pod label `topology.istio.io/cluster` or pod env `ISTIO_META_CLUSTER_ID`. - `topology.kubernetes.io/region` is used to match the region metadata of an endpoint, which maps to Kubernetes node label `topology.kubernetes.io/region` or the deprecated label `failure-domain.beta.kubernetes.io/region`. - `topology.kubernetes.io/zone` is used to match the zone metadata of an endpoint, which maps to Kubernetes node label `topology.kubernetes.io/zone` or the deprecated label `failure-domain.beta.kubernetes.io/zone`. - `topology.istio.io/subzone` is used to match the subzone metadata of an endpoint, which maps to Istio node label `topology.istio.io/subzone`. - `kubernetes.io/hostname` is used to match the current node of an endpoint, which maps to Kubernetes node label `kubernetes.io/hostname`. The below topology config indicates the following priority levels: ```yaml failoverPriority: - "topology.istio.io/network" - "topology.kubernetes.io/region" - "topology.kubernetes.io/zone" - "topology.istio.io/subzone" ``` 1. endpoints match same [network, region, zone, subzone] label with the client proxy have the highest priority. 2. endpoints have same [network, region, zone] label but different [subzone] label with the client proxy have the second highest priority. 3. endpoints have same [network, region] label but different [zone] label with the client proxy have the third highest priority. 4. endpoints have same [network] but different [region] labels with the client proxy have the fourth highest priority. 5. all the other endpoints have the same lowest priority. Suppose a service associated endpoints reside in multi clusters, the below example represents: 1. endpoints in `clusterA` and has `version=v1` label have P(0) priority. 2. endpoints not in `clusterA` but has `version=v1` label have P(1) priority. 2. all the other endpoints have P(2) priority. ```yaml failoverPriority: - "version=v1" - "topology.istio.io/cluster=clusterA" ``` Optional: only one of distribute, failover or failoverPriority can be set. And it should be used together with `OutlierDetection` to detect unhealthy endpoints, otherwise has no effect.
- Type
array
.spec.values.ztunnel.meshConfig.localityLbSetting.failoverPriority[]
- Type
string
.spec.values.ztunnel.meshConfig.meshMTLS
- Description
- The below configuration parameters can be used to specify TLSConfig for mesh traffic. For example, a user could enable min TLS version for ISTIO_MUTUAL traffic and specify a curve for non ISTIO_MUTUAL traffic like below: ```yaml meshConfig: meshMTLS: minProtocolVersion: TLSV1_3 tlsDefaults: Note: applicable only for non ISTIO_MUTUAL scenarios ecdhCurves: - P-256 - P-512 ``` Configuration of mTLS for traffic between workloads with ISTIO_MUTUAL TLS traffic. Note: Mesh mTLS does not respect ECDH curves.
- Type
object
.spec.values.ztunnel.meshConfig.meshMTLS.cipherSuites
- Description
- Optional: If specified, the TLS connection will only support the specified cipher list when negotiating TLS 1.0-1.2. If not specified, the following cipher suites will be used: ``` ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-GCM-SHA256 ```
- Type
array
.spec.values.ztunnel.meshConfig.meshMTLS.cipherSuites[]
- Type
string
.spec.values.ztunnel.meshConfig.meshMTLS.ecdhCurves
- Description
- Optional: If specified, the TLS connection will only support the specified ECDH curves for the DH key exchange. If not specified, the default curves enforced by Envoy will be used. For details about the default curves, refer to [Ecdh Curves](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto).
- Type
array
.spec.values.ztunnel.meshConfig.meshMTLS.ecdhCurves[]
- Type
string
.spec.values.ztunnel.meshConfig.outboundTrafficPolicy
- Description
- Set the default behavior of the sidecar for handling outbound traffic from the application. Can be overridden at a Sidecar level by setting the `OutboundTrafficPolicy` in the [Sidecar API](https://istio.io/docs/reference/config/networking/sidecar/#OutboundTrafficPolicy). Default mode is `ALLOW_ANY`, which means outbound traffic to unknown destinations will be allowed.
- Type
object
.spec.values.ztunnel.meshConfig.pathNormalization
- Description
- ProxyPathNormalization configures how URL paths in incoming and outgoing HTTP requests are normalized by the sidecars and gateways. The normalized paths will be used in all aspects through the requests' lifetime on the sidecars and gateways, which includes routing decisions in outbound direction (client proxy), authorization policy match and enforcement in inbound direction (server proxy), and the URL path proxied to the upstream service. If not set, the NormalizationType.DEFAULT configuration will be used.
- Type
object
.spec.values.ztunnel.meshConfig.serviceScopeConfigs
- Description
- Scope to be applied to select services.
- Type
array
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[]
- Description
- Configuration for ambient mode multicluster service scope. This setting allows mesh administrators to define the criteria by which the cluster's control plane determines which services in other clusters in the mesh are treated as global (accessible across multiple clusters) versus local (restricted to a single cluster). The configuration can be applied to services based on namespace and/or other matching criteria. This is particularly useful in multicluster service mesh deployments to control service visibility and access across clusters. This API is not intended to enforce security policies. Resources like DestinationRules should be used to enforce authorization policies. If a service matches a global service scope selector, the service's endpoints will be globally exposed. If a service is locally scoped, its endpoints will only be exposed to local cluster services. For example, the following configures the scope of all services with the "istio.io/global" label in matching namespaces to be available globally: ```yaml serviceScopeConfigs: - namespacesSelector: matchExpressions: - key: istio.io/global operator: In values: [true] servicesSelector: matchExpressions: - key: istio.io/global operator: Exists scope: GLOBAL ```
- Type
object
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector
- Description
- Match expression for namespaces.
- Type
object
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].namespaceSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector
- Description
- Match expression for serivces.
- Type
object
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector.matchExpressions[].values[]
- Type
string
.spec.values.ztunnel.meshConfig.serviceScopeConfigs[].servicesSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.ztunnel.meshConfig.serviceSettings
- Description
- Settings to be applied to select services.
- Type
array
.spec.values.ztunnel.meshConfig.serviceSettings[]
- Description
- Settings to be applied to select services. For example, the following configures all services in namespace "foo" as well as the "bar" service in namespace "baz" to be considered cluster-local: ```yaml serviceSettings: - settings: clusterLocal: true hosts: - "*.foo.svc.cluster.local" - "bar.baz.svc.cluster.local" ``` When in ambient mode, if ServiceSettings are defined they will be considered in addition to the ServiceScopeConfigs. If a service is defined by ServiceSetting to be cluster local and matches a global service scope selector, the service will be considered cluster local. If a service is considered global by ServiceSettings and does not match a global service scope selector the serive will be considered local. Local scope takes precedence over global scope. Since ServiceScopeConfigs is local by default, all services are considered local unless it is considered global by ServiceSettings AND ServiceScopeConfigs.
- Type
object
.spec.values.ztunnel.meshConfig.serviceSettings[].hosts
- Description
- The services to which the Settings should be applied. Services are selected using the hostname matching rules used by DestinationRule. For example: foo.bar.svc.cluster.local, *.baz.svc.cluster.local
- Type
array
.spec.values.ztunnel.meshConfig.serviceSettings[].hosts[]
- Type
string
.spec.values.ztunnel.meshConfig.serviceSettings[].settings
- Description
- The settings to apply to the selected services.
- Type
object
.spec.values.ztunnel.meshConfig.tcpKeepalive
- Description
- If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.
- Type
object
.spec.values.ztunnel.meshConfig.tlsDefaults
- Description
- Configuration of TLS for all traffic except for ISTIO_MUTUAL mode. Currently, this supports configuration of ecdhCurves and cipherSuites only. For ISTIO_MUTUAL TLS settings, use meshMTLS configuration.
- Type
object
.spec.values.ztunnel.meshConfig.tlsDefaults.cipherSuites
- Description
- Optional: If specified, the TLS connection will only support the specified cipher list when negotiating TLS 1.0-1.2. If not specified, the following cipher suites will be used: ``` ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-GCM-SHA256 ```
- Type
array
.spec.values.ztunnel.meshConfig.tlsDefaults.cipherSuites[]
- Type
string
.spec.values.ztunnel.meshConfig.tlsDefaults.ecdhCurves
- Description
- Optional: If specified, the TLS connection will only support the specified ECDH curves for the DH key exchange. If not specified, the default curves enforced by Envoy will be used. For details about the default curves, refer to [Ecdh Curves](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto).
- Type
array
.spec.values.ztunnel.meshConfig.tlsDefaults.ecdhCurves[]
- Type
string
.spec.values.ztunnel.meshConfig.trustDomainAliases
- Description
- The trust domain aliases represent the aliases of `trustDomain`. For example, if we have ```yaml trustDomain: td1 trustDomainAliases: ["td2", "td3"] ``` Any service with the identity `td1/ns/foo/sa/a-service-account`, `td2/ns/foo/sa/a-service-account`, or `td3/ns/foo/sa/a-service-account` will be treated the same in the Istio mesh.
- Type
array
.spec.values.ztunnel.meshConfig.trustDomainAliases[]
- Type
string
.spec.values.ztunnel.multiCluster
- Description
- Settings for multicluster. The name of the cluster we are installing in. Note this is a user-defined name, which must be consistent with Istiod configuration.
- Type
object
.spec.values.ztunnel.podAnnotations
- Description
- Annotations added to each pod. The default annotations are required for scraping prometheus (in most environments).
- Type
object
.spec.values.ztunnel.podLabels
- Description
- Additional labels to apply on the pod level.
- Type
object
.spec.values.ztunnel.resources
- Description
- The k8s resource requests and limits for the ztunnel Pods.
- Type
object
.spec.values.ztunnel.resources.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.values.ztunnel.resources.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.values.ztunnel.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.ztunnel.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.ztunnel.volumeMounts
- Description
- Additional volumeMounts to the ztunnel container
- Type
array
.spec.values.ztunnel.volumeMounts[]
- Description
- VolumeMount describes a mounting of a Volume within a container.
- Type
object- Required
mountPathname
.spec.values.ztunnel.volumes
- Description
- Additional volumes to add to the ztunnel Pod.
- Type
array
.spec.values.ztunnel.volumes[]
- Description
- Volume represents a named volume in a pod that may be accessed by any container in the pod.
- Type
object- Required
name
.spec.values.ztunnel.volumes[].awsElasticBlockStore
- Description
- awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
- Type
object- Required
volumeID
.spec.values.ztunnel.volumes[].azureDisk
- Description
- azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.
- Type
object- Required
diskNamediskURI
.spec.values.ztunnel.volumes[].azureFile
- Description
- azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.
- Type
object- Required
secretNameshareName
.spec.values.ztunnel.volumes[].cephfs
- Description
- cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
- Type
object- Required
monitors
.spec.values.ztunnel.volumes[].cephfs.monitors
- Description
- monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
- Type
array
.spec.values.ztunnel.volumes[].cephfs.monitors[]
- Type
string
.spec.values.ztunnel.volumes[].cephfs.secretRef
- Description
- secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
- Type
object
.spec.values.ztunnel.volumes[].cinder
- Description
- cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
- Type
object- Required
volumeID
.spec.values.ztunnel.volumes[].cinder.secretRef
- Description
- secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.
- Type
object
.spec.values.ztunnel.volumes[].configMap
- Description
- configMap represents a configMap that should populate this volume
- Type
object
.spec.values.ztunnel.volumes[].configMap.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.ztunnel.volumes[].configMap.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.ztunnel.volumes[].csi
- Description
- csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.
- Type
object- Required
driver
.spec.values.ztunnel.volumes[].csi.nodePublishSecretRef
- Description
- nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.
- Type
object
.spec.values.ztunnel.volumes[].csi.volumeAttributes
- Description
- volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.
- Type
object
.spec.values.ztunnel.volumes[].downwardAPI
- Description
- downwardAPI represents downward API about the pod that should populate this volume
- Type
object
.spec.values.ztunnel.volumes[].downwardAPI.items
- Description
- Items is a list of downward API volume file
- Type
array
.spec.values.ztunnel.volumes[].downwardAPI.items[]
- Description
- DownwardAPIVolumeFile represents information to create the file containing the pod field
- Type
object- Required
path
.spec.values.ztunnel.volumes[].downwardAPI.items[].fieldRef
- Description
- Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- Type
object- Required
fieldPath
.spec.values.ztunnel.volumes[].downwardAPI.items[].resourceFieldRef
- Description
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- Type
object- Required
resource
.spec.values.ztunnel.volumes[].emptyDir
- Description
- emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
- Type
object
.spec.values.ztunnel.volumes[].ephemeral
- Description
- ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time.
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate
- Description
- Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `<pod name>-<volume name>` where `<volume name>` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil.
- Type
object- Required
spec
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec
- Description
- The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.accessModes[]
- Type
string
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.dataSource
- Description
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- Type
object- Required
kindname
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
- Description
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- Type
object- Required
kindname
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.resources
- Description
- resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.resources.requests
- Description
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].values[]
- Type
string
.spec.values.ztunnel.volumes[].ephemeral.volumeClaimTemplate.spec.selector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.ztunnel.volumes[].fc
- Description
- fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
- Type
object
.spec.values.ztunnel.volumes[].fc.targetWWNs
- Description
- targetWWNs is Optional: FC target worldwide names (WWNs)
- Type
array
.spec.values.ztunnel.volumes[].fc.targetWWNs[]
- Type
string
.spec.values.ztunnel.volumes[].fc.wwids
- Description
- wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
- Type
array
.spec.values.ztunnel.volumes[].fc.wwids[]
- Type
string
.spec.values.ztunnel.volumes[].flexVolume
- Description
- flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
- Type
object- Required
driver
.spec.values.ztunnel.volumes[].flexVolume.options
- Description
- options is Optional: this field holds extra command options if any.
- Type
object
.spec.values.ztunnel.volumes[].flexVolume.secretRef
- Description
- secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.
- Type
object
.spec.values.ztunnel.volumes[].flocker
- Description
- flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
- Type
object
.spec.values.ztunnel.volumes[].gcePersistentDisk
- Description
- gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
- Type
object- Required
pdName
.spec.values.ztunnel.volumes[].gitRepo
- Description
- gitRepo represents a git repository at a particular revision. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
- Type
object- Required
repository
.spec.values.ztunnel.volumes[].glusterfs
- Description
- glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md
- Type
object- Required
endpointspath
.spec.values.ztunnel.volumes[].hostPath
- Description
- hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
- Type
object- Required
path
.spec.values.ztunnel.volumes[].image
- Description
- image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided: - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
- Type
object
.spec.values.ztunnel.volumes[].iscsi
- Description
- iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md
- Type
object- Required
iqnluntargetPortal
.spec.values.ztunnel.volumes[].iscsi.portals
- Description
- portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
- Type
array
.spec.values.ztunnel.volumes[].iscsi.portals[]
- Type
string
.spec.values.ztunnel.volumes[].iscsi.secretRef
- Description
- secretRef is the CHAP Secret for iSCSI target and initiator authentication
- Type
object
.spec.values.ztunnel.volumes[].nfs
- Description
- nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
- Type
object- Required
pathserver
.spec.values.ztunnel.volumes[].persistentVolumeClaim
- Description
- persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- Type
object- Required
claimName
.spec.values.ztunnel.volumes[].photonPersistentDisk
- Description
- photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
- Type
object- Required
pdID
.spec.values.ztunnel.volumes[].portworxVolume
- Description
- portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.
- Type
object- Required
volumeID
.spec.values.ztunnel.volumes[].projected
- Description
- projected items for all in one resources secrets, configmaps, and downward API
- Type
object
.spec.values.ztunnel.volumes[].projected.sources
- Description
- sources is the list of volume projections. Each entry in this list handles one source.
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[]
- Description
- Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle
- Description
- ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. Alpha, gated by the ClusterTrustBundleProjection feature gate. ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.
- Type
object- Required
path
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector
- Description
- Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything".
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[].values
- Description
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions[].values[]
- Type
string
.spec.values.ztunnel.volumes[].projected.sources[].clusterTrustBundle.labelSelector.matchLabels
- Description
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].configMap
- Description
- configMap information about the configMap data to project
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].configMap.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[].configMap.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.ztunnel.volumes[].projected.sources[].downwardAPI
- Description
- downwardAPI information about the downwardAPI data to project
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].downwardAPI.items
- Description
- Items is a list of DownwardAPIVolume file
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[].downwardAPI.items[]
- Description
- DownwardAPIVolumeFile represents information to create the file containing the pod field
- Type
object- Required
path
.spec.values.ztunnel.volumes[].projected.sources[].downwardAPI.items[].fieldRef
- Description
- Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- Type
object- Required
fieldPath
.spec.values.ztunnel.volumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
- Description
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- Type
object- Required
resource
.spec.values.ztunnel.volumes[].projected.sources[].secret
- Description
- secret information about the secret data to project
- Type
object
.spec.values.ztunnel.volumes[].projected.sources[].secret.items
- Description
- items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.ztunnel.volumes[].projected.sources[].secret.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.ztunnel.volumes[].projected.sources[].serviceAccountToken
- Description
- serviceAccountToken is information about the serviceAccountToken data to project
- Type
object- Required
path
.spec.values.ztunnel.volumes[].quobyte
- Description
- quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
- Type
object- Required
registryvolume
.spec.values.ztunnel.volumes[].rbd
- Description
- rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md
- Type
object- Required
imagemonitors
.spec.values.ztunnel.volumes[].rbd.monitors
- Description
- monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- Type
array
.spec.values.ztunnel.volumes[].rbd.monitors[]
- Type
string
.spec.values.ztunnel.volumes[].rbd.secretRef
- Description
- secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- Type
object
.spec.values.ztunnel.volumes[].scaleIO
- Description
- scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
- Type
object- Required
gatewaysecretRefsystem
.spec.values.ztunnel.volumes[].scaleIO.secretRef
- Description
- secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.
- Type
object
.spec.values.ztunnel.volumes[].secret
- Description
- secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
- Type
object
.spec.values.ztunnel.volumes[].secret.items
- Description
- items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
- Type
array
.spec.values.ztunnel.volumes[].secret.items[]
- Description
- Maps a string key to a path within a volume.
- Type
object- Required
keypath
.spec.values.ztunnel.volumes[].storageos
- Description
- storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
- Type
object
.spec.values.ztunnel.volumes[].storageos.secretRef
- Description
- secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.
- Type
object
.spec.values.ztunnel.volumes[].vsphereVolume
- Description
- vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.
- Type
object- Required
volumePath
.status
- Description
- ZTunnelStatus defines the observed state of ZTunnel
- Type
object
.status.conditions
- Description
- Represents the latest available observations of the object's current state.
- Type
array
.status.conditions[]
- Description
- ZTunnelCondition represents a specific observation of the ZTunnel object's state.
- Type
object
API Endpoints
The following API endpoints are available:
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnelsDELETE: delete collection of ZTunnelGET: list objects of kind ZTunnelPOST: create a new ZTunnel
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnels/{name}DELETE: delete the specified ZTunnelGET: read the specified ZTunnelPATCH: partially update the specified ZTunnelPUT: replace the specified ZTunnel
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnels/{name}/statusGET: read status of the specified ZTunnelPATCH: partially update status of the specified ZTunnelPUT: replace status of the specified ZTunnel
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnels
- HTTP method
DELETE- Description
- delete collection of ZTunnel
- HTTP responses
- HTTP method
GET- Description
- list objects of kind ZTunnel
- HTTP responses
- HTTP method
POST- Description
- create a new ZTunnel
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnels/{name}
- HTTP method
DELETE- Description
- delete the specified ZTunnel
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified ZTunnel
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified ZTunnel
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified ZTunnel
- Query parameters
- Body parameters
- HTTP responses
/apis/sailoperator.io/v1alpha1/namespaces/{namespace}/ztunnels/{name}/status
- HTTP method
GET- Description
- read status of the specified ZTunnel
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified ZTunnel
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified ZTunnel
- Query parameters
- Body parameters
- HTTP responses