1 # Top level istio values file has the following sections.
3 # global: This file is the authoritative and exhaustive source for the global section.
5 # chart sections: Every subdirectory inside the charts/ directory has a top level
6 # configuration key in this file. This file overrides the values specified
7 # by the charts/${chartname}/values.yaml.
8 # Check the chart level values file for exhaustive list of configuration options.
11 # Gateways Configuration, refer to the charts/gateways/values.yaml
12 # for detailed configuration
18 # sidecar-injector webhook configuration, refer to the
19 # charts/sidecarInjectorWebhook/values.yaml for detailed configuration
21 sidecarInjectorWebhook:
25 # galley configuration, refer to charts/galley/values.yaml
26 # for detailed configuration
34 # @see charts/mixer/values.yaml, it takes precedence
38 # if policy is enabled the global.disablePolicyChecks has affect.
46 # @see charts/pilot/values.yaml
51 # security configuration
57 # nodeagent configuration
63 # addon grafana configuration
69 # addon prometheus configuration
75 # addon servicegraph configuration
81 # addon jaeger tracing configuration
87 # addon kiali tracing configuration
93 # Istio CNI plugin enabled
94 # This must be enabled to use the CNI plugin in Istio. The CNI plugin is installed separately.
95 # If true, the privileged initContainer istio-init is not needed to perform the traffic redirect
96 # settings for the istio-proxy.
101 # addon Istio CoreDNS configuration
106 # Common settings used among istio subcharts.
108 # Default hub for Istio images.
109 # Releases are published to docker hub under 'istio' project.
110 # Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly
113 # Default tag for Istio images.
116 # Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
117 # The control plane has different scopes depending on component, but can configure default log level across all components
118 # If empty, default scope and level will be used as configured in code
120 level: "default:info"
122 # monitoring port used by mixer, pilot, galley
123 monitoringPort: 15014
127 # Gateway used for k8s Ingress resources. By default it is
128 # using 'istio:ingressgateway' that will be installed by setting
129 # 'gateways.enabled' and 'gateways.istio-ingressgateway.enabled'
131 gatewayName: ingressgateway
132 # enableHttps will add port 443 on the ingress.
133 # It REQUIRES that the certificates are installed in the
134 # expected secrets - enabling this option without certificates
135 # will result in LDS rejection and the ingress will not work.
141 # cluster domain. Default value is "cluster.local".
142 clusterDomain: "cluster.local"
144 # Resources for the sidecar.
153 # Controls number of Proxy worker threads.
154 # If set to 0 (default), then start worker thread for each CPU thread/core.
157 # Configures the access log for each sidecar.
159 # "" - disables access log
160 # "/dev/stdout" - enables access log
163 # Configure how and what fields are displayed in sidecar access log. Setting to
164 # empty string will result in default log format
167 # Configure the access log for sidecar to JSON or TEXT.
168 accessLogEncoding: TEXT
170 # Log level for proxy, applies to gateways and sidecars. If left empty, "warning" is used.
171 # Expected values are: trace|debug|info|warning|error|critical|off
174 # Configure the DNS refresh rate for Envoy cluster of type STRICT_DNS
175 # 5 seconds is the default refresh rate used by Envoy
178 #If set to true, istio-proxy container will have privileged securityContext
181 # If set, newly injected sidecars will have core dumps enabled.
182 enableCoreDump: false
184 # Default port for Pilot agent health checks. A value of 0 will disable health checking.
187 # The initial delay for readiness probes in seconds.
188 readinessInitialDelaySeconds: 1
190 # The period between readiness probes.
191 readinessPeriodSeconds: 2
193 # The number of successive failed probes before indicating readiness failure.
194 readinessFailureThreshold: 30
196 # istio egress capture whitelist
197 # https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly
198 # example: includeIPRanges: "172.30.0.0/16,172.20.0.0/16"
199 # would only capture egress traffic on those two IP Ranges, all other outbound traffic would
200 # be allowed by the sidecar
204 # pod internal interfaces
205 kubevirtInterfaces: ""
207 # istio ingress capture whitelist
209 # Redirect no inbound traffic to Envoy: --includeInboundPorts=""
210 # Redirect all inbound traffic to Envoy: --includeInboundPorts="*"
211 # Redirect only selected ports: --includeInboundPorts="80,8080"
212 includeInboundPorts: "*"
213 excludeInboundPorts: ""
215 # This controls the 'policy' in the sidecar injector.
218 # Sets the destination Statsd in envoy (the value of the "--statsdUdpAddress" proxy argument
219 # would be <host>:<port>).
220 # Disabled by default.
221 # The istio-statsd-prom-bridge is deprecated and should not be used moving forward.
223 # If enabled is set to true, host and port must also be provided. Istio no longer provides a statsd collector.
225 host: # example: statsd-svc.istio-system
226 port: # example: 9125
228 # Sets the Envoy Metrics Service address, used to push Envoy metrics to an external collector
229 # via the Metrics Service gRPC API. This contains detailed stats information emitted directly
230 # by Envoy and should not be confused with the the Istio telemetry. The Envoy stats are also
231 # available to scrape via the Envoy admin port at either /stats or /stats/prometheus.
233 # See https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/metrics/v2/metrics_service.proto
234 # for details about Envoy's Metrics Service API.
236 # Disabled by default.
239 host: # example: metrics-service.istio-system
240 port: # example: 15000
242 # Specify which tracer to use. One of: lightstep, zipkin, datadog
246 # Base name for the proxy_init container, used to configure iptables.
249 # imagePullPolicy is applied to istio control plane components.
250 # local tests require IfNotPresent, to avoid uploading to dockerhub.
251 # TODO: Switch to Always as default, and override in the local tests.
252 imagePullPolicy: IfNotPresent
254 # controlPlaneMtls enabled. Will result in delays starting the pods while secrets are
255 # propagated, not recommended for tests.
256 controlPlaneSecurityEnabled: false
258 # disablePolicyChecks disables mixer policy checks.
259 # if mixer.policy.enabled==true then disablePolicyChecks has affect.
260 # Will set the value with same name in istio config map - pilot needs to be restarted to take effect.
261 disablePolicyChecks: true
263 # policyCheckFailOpen allows traffic in cases when the mixer policy service cannot be reached.
264 # Default is false which means the traffic is denied when the client is unable to connect to Mixer.
265 policyCheckFailOpen: false
267 # EnableTracing sets the value with same name in istio config map, requires pilot restart to take effect.
270 # Configuration for each of the supported tracers
272 # Configuration for envoy to send trace data to LightStep.
273 # Disabled by default.
274 # address: the <host>:<port> of the satellite pool
275 # accessToken: required for sending data to the pool
276 # secure: specifies whether data should be sent with TLS
277 # cacertPath: the path to the file containing the cacert to use when verifying TLS. If secure is true, this is
278 # required. If a value is specified then a secret called "lightstep.cacert" must be created in the destination
279 # namespace with the key matching the base of the provided cacertPath and the value being the cacert itself.
282 address: "" # example: lightstep-satellite:443
283 accessToken: "" # example: abcdefg1234567
284 secure: true # example: true|false
285 cacertPath: "" # example: /etc/lightstep/cacert.pem
287 # Host:Port for reporting trace data in zipkin format. If not specified, will default to
288 # zipkin service (port 9411) in the same namespace as the other istio components.
291 # Host:Port for submitting traces to the Datadog agent.
292 address: "$(HOST_IP):8126"
294 # Default mtls policy. If true, mtls between services will be enabled by default.
296 # Default setting for service-to-service mtls. Can be set explicitly using
297 # destination rules or service annotations.
300 # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace
301 # to use for pulling any images in pods that reference this ServiceAccount.
302 # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)
303 # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.
304 # Must be set for any clustser configured with private docker registry.
306 # - private-registry-key
308 # Specify pod scheduling arch(amd64, ppc64le, s390x) and weight as follows:
309 # 0 - Never scheduled
310 # 1 - Least preferred
318 # Whether to restrict the applications namespace the controller manages;
319 # If not set, controller watches all namespaces
322 # Default node selector to be applied to all deployments so that all pods can be
323 # constrained to run a particular nodes. Each component can overwrite these default
324 # values by adding its node selector block in the relevant section below and setting
325 # the desired values.
326 defaultNodeSelector: {}
328 # Whether to perform server-side validation of configuration.
329 configValidation: true
331 # Custom DNS config for the pod to resolve names of services in other
332 # clusters. Use this to add additional search domains, and other settings.
334 # https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
335 # This does not apply to gateway pods as they typically need a different
336 # set of DNS settings than the normal application pods (e.g., in
337 # multicluster scenarios).
338 # NOTE: If using templates, follow the pattern in the commented example below.
339 #podDNSSearchNamespaces:
341 #- "[[ valueOrDefault .DeploymentMeta.Namespace \"default\" ]].global"
343 # If set to true, the pilot and citadel mtls will be exposed on the
347 # If set to true, the pilot and citadel mtls and the plain text pilot ports
348 # will be exposed on an internal gateway
352 # Set to true to connect two kubernetes clusters via their respective
353 # ingressgateway services when pods in each cluster cannot directly
354 # talk to one another. All clusters should be using Istio mTLS and must
355 # have a shared root CA for this model to work.
358 # A minimal set of requested resources to applied to all deployments so that
359 # Horizontal Pod Autoscaler will be able to function (if set).
360 # Each component can overwrite these default values by adding its own resources
361 # block in the relevant section below and setting the desired resources values.
370 # enable pod distruption budget for the control plane, which is used to
371 # ensure Istio control plane components are gradually upgraded or recovered.
372 defaultPodDisruptionBudget:
374 # The values aren't mutable due to a current PodDisruptionBudget limitation
377 # Kubernetes >=v1.11.0 will create two PriorityClass, including system-cluster-critical and
378 # system-node-critical, it is better to configure this in order to make sure your Istio pods
379 # will not be killed because of low priority class.
380 # Refer to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
382 priorityClassName: ""
384 # Use the Mesh Control Protocol (MCP) for configuring Mixer and
385 # Pilot. Requires galley (`--set galley.enabled=true`).
388 # The trust domain corresponds to the trust root of a system
389 # Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
390 # Indicate the domain used in SPIFFE identity URL
391 # The default depends on the environment.
392 # kubernetes: cluster.local
393 # else: default dns domain
396 # Set the default behavior of the sidecar for handling outbound traffic from the application:
397 # ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no
398 # services or ServiceEntries for the destination port
399 # REGISTRY_ONLY - restrict outbound traffic to services defined in the service registry as well
400 # as those defined through ServiceEntries
401 # ALLOW_ANY is the default in 1.1. This means each pod will be able to make outbound requests
402 # to services outside of the mesh without any ServiceEntry.
403 # REGISTRY_ONLY was the default in 1.0. If this behavior is desired, set the value below to REGISTRY_ONLY.
404 outboundTrafficPolicy:
407 # The namespace where globally shared configurations should be present.
408 # DestinationRules that apply to the entire mesh (e.g., enabling mTLS),
409 # default Sidecar configs, etc. should be added to this namespace.
410 # configRootNamespace: istio-config
412 # set the default set of namespaces to which services, service entries, virtual services, destination
413 # rules should be exported to. Currently only one value can be provided in this list. This value
414 # should be one of the following two options:
415 # * implies these objects are visible to all namespaces, enabling any sidecar to talk to any other sidecar.
416 # . implies these objects are visible to only to sidecars in the same namespace, or if imported as a Sidecar.egress.host
417 #defaultConfigVisibilitySettings:
421 # SDS enabled. IF set to true, mTLS certificates for the sidecars will be
422 # distributed through the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
425 useTrustworthyJwt: false
428 # Configure the mesh networks to be used by the Split Horizon EDS.
430 # The following example defines two networks with different endpoints association methods.
431 # For `network1` all endpoints that their IP belongs to the provided CIDR range will be
432 # mapped to network1. The gateway for this network example is specified by its public IP
434 # The second network, `network2`, in this example is defined differently with all endpoints
435 # retrieved through the specified Multi-Cluster registry being mapped to network2. The
436 # gateway is also defined differently with the name of the gateway service on the remote
437 # cluster. The public IP for the gateway will be determined from that remote service (not
443 # - fromCidr: "192.168.0.1/24"
449 # - fromRegistry: reg1
451 # - registryServiceName: istio-ingressgateway
456 # Specifies the global locality load balancing settings.
457 # Locality-weighted load balancing allows administrators to control the distribution of traffic to
458 # endpoints based on the localities of where the traffic originates and where it will terminate.
459 # Please set either failover or distribute configuration but not both.
463 # - from: "us-central1/*"
465 # "us-central1/*": 80
466 # "us-central2/*": 20
474 localityLbSetting: {}
476 # Specifies whether helm test is enabled or not.
477 # This field is set to false by default, so 'helm template ...'
478 # will ignore the helm test yaml files when generating the template
479 enableHelmTest: false