Helm charts to Install IStio with SDS
[demo.git] / vnfs / DAaaS / 00-init / istio / istio / values.yaml
1 # Top level istio values file has the following sections.
2 #
3 # global: This file is the authoritative and exhaustive source for the global section.
4 #
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.
9
10 #
11 # Gateways Configuration, refer to the charts/gateways/values.yaml
12 # for detailed configuration
13 #
14 gateways:
15   enabled: true
16
17 #
18 # sidecar-injector webhook configuration, refer to the
19 # charts/sidecarInjectorWebhook/values.yaml for detailed configuration
20 #
21 sidecarInjectorWebhook:
22   enabled: true
23
24 #
25 # galley configuration, refer to charts/galley/values.yaml
26 # for detailed configuration
27 #
28 galley:
29   enabled: true
30
31 #
32 # mixer configuration
33 #
34 # @see charts/mixer/values.yaml, it takes precedence
35 mixer:
36   enabled: true
37   policy:
38     # if policy is enabled the global.disablePolicyChecks has affect.
39     enabled: true
40
41   telemetry:
42     enabled: true
43 #
44 # pilot configuration
45 #
46 # @see charts/pilot/values.yaml
47 pilot:
48   enabled: true
49
50 #
51 # security configuration
52 #
53 security:
54   enabled: true
55
56 #
57 # nodeagent configuration
58 #
59 nodeagent:
60   enabled: false
61
62 #
63 # addon grafana configuration
64 #
65 grafana:
66   enabled: false
67
68 #
69 # addon prometheus configuration
70 #
71 prometheus:
72   enabled: true
73
74 #
75 # addon servicegraph configuration
76 #
77 servicegraph:
78   enabled: false
79
80 #
81 # addon jaeger tracing configuration
82 #
83 tracing:
84   enabled: false
85
86 #
87 # addon kiali tracing configuration
88 #
89 kiali:
90   enabled: false
91
92 #
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.
97 #
98 istio_cni:
99   enabled: false
100
101 # addon Istio CoreDNS configuration
102 #
103 istiocoredns:
104   enabled: false
105
106 # Common settings used among istio subcharts.
107 global:
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
111   hub: docker.io/istio
112
113   # Default tag for Istio images.
114   tag: 1.1.6
115
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
119   logging:
120     level: "default:info"
121
122   # monitoring port used by mixer, pilot, galley
123   monitoringPort: 15014
124
125   k8sIngress:
126     enabled: false
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'
130     # flags to true.
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.
136     enableHttps: false
137
138   proxy:
139     image: proxyv2
140
141     # cluster domain. Default value is "cluster.local".
142     clusterDomain: "cluster.local"
143
144     # Resources for the sidecar.
145     resources:
146       requests:
147         cpu: 100m
148         memory: 128Mi
149       limits:
150         cpu: 2000m
151         memory: 128Mi
152
153     # Controls number of Proxy worker threads.
154     # If set to 0 (default), then start worker thread for each CPU thread/core.
155     concurrency: 2
156
157     # Configures the access log for each sidecar.
158     # Options:
159     #   "" - disables access log
160     #   "/dev/stdout" - enables access log
161     accessLogFile: ""
162
163     # Configure how and what fields are displayed in sidecar access log. Setting to
164     # empty string will result in default log format
165     accessLogFormat: ""
166
167     # Configure the access log for sidecar to JSON or TEXT.
168     accessLogEncoding: TEXT
169
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
172     logLevel: ""
173
174     # Configure the DNS refresh rate for Envoy cluster of type STRICT_DNS
175     # 5 seconds is the default refresh rate used by Envoy
176     dnsRefreshRate: 5s
177
178     #If set to true, istio-proxy container will have privileged securityContext
179     privileged: false
180
181     # If set, newly injected sidecars will have core dumps enabled.
182     enableCoreDump: false
183
184     # Default port for Pilot agent health checks. A value of 0 will disable health checking.
185     statusPort: 15020
186
187     # The initial delay for readiness probes in seconds.
188     readinessInitialDelaySeconds: 1
189
190     # The period between readiness probes.
191     readinessPeriodSeconds: 2
192
193     # The number of successive failed probes before indicating readiness failure.
194     readinessFailureThreshold: 30
195
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
201     includeIPRanges: "*"
202     excludeIPRanges: ""
203
204     # pod internal interfaces
205     kubevirtInterfaces: ""
206
207     # istio ingress capture whitelist
208     # examples:
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: ""
214
215     # This controls the 'policy' in the sidecar injector.
216     autoInject: enabled
217
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.
222     envoyStatsd:
223       # If enabled is set to true, host and port must also be provided. Istio no longer provides a statsd collector.
224       enabled: false
225       host: # example: statsd-svc.istio-system
226       port: # example: 9125
227
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.
232     #
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. 
235     #
236     # Disabled by default.
237     envoyMetricsService:
238       enabled: false
239       host: # example: metrics-service.istio-system
240       port: # example: 15000
241
242     # Specify which tracer to use. One of: lightstep, zipkin, datadog
243     tracer: "zipkin"
244
245   proxy_init:
246     # Base name for the proxy_init container, used to configure iptables.
247     image: proxy_init
248
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
253
254   # controlPlaneMtls enabled. Will result in delays starting the pods while secrets are
255   # propagated, not recommended for tests.
256   controlPlaneSecurityEnabled: false
257
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
262
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
266
267   # EnableTracing sets the value with same name in istio config map, requires pilot restart to take effect.
268   enableTracing: true
269
270   # Configuration for each of the supported tracers
271   tracer:
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.
280     #
281     lightstep:
282       address: ""                # example: lightstep-satellite:443
283       accessToken: ""            # example: abcdefg1234567
284       secure: true               # example: true|false
285       cacertPath: ""             # example: /etc/lightstep/cacert.pem
286     zipkin:
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.
289       address: ""
290     datadog:
291       # Host:Port for submitting traces to the Datadog agent.
292       address: "$(HOST_IP):8126"
293
294   # Default mtls policy. If true, mtls between services will be enabled by default.
295   mtls:
296     # Default setting for service-to-service mtls. Can be set explicitly using
297     # destination rules or service annotations.
298     enabled: false
299
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.
305   imagePullSecrets:
306     # - private-registry-key
307
308   # Specify pod scheduling arch(amd64, ppc64le, s390x) and weight as follows:
309   #   0 - Never scheduled
310   #   1 - Least preferred
311   #   2 - No preference
312   #   3 - Most preferred
313   arch:
314     amd64: 2
315     s390x: 2
316     ppc64le: 2
317
318   # Whether to restrict the applications namespace the controller manages;
319   # If not set, controller watches all namespaces
320   oneNamespace: false
321
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: {}
327
328   # Whether to perform server-side validation of configuration.
329   configValidation: true
330
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.
333   # see
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:
340   #- global
341   #- "[[ valueOrDefault .DeploymentMeta.Namespace \"default\" ]].global"
342
343   # If set to true, the pilot and citadel mtls will be exposed on the
344   # ingress gateway
345   meshExpansion:
346     enabled: false
347     # If set to true, the pilot and citadel mtls and the plain text pilot ports
348     # will be exposed on an internal gateway
349     useILB: false
350
351   multiCluster:
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.
356     enabled: false
357
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.
362   defaultResources:
363     requests:
364       cpu: 10m
365     #   memory: 128Mi
366     # limits:
367     #   cpu: 100m
368     #   memory: 128Mi
369
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:
373     enabled: true
374     # The values aren't mutable due to a current PodDisruptionBudget limitation
375     # minAvailable: 1
376
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
381   # for more detail.
382   priorityClassName: ""
383
384   # Use the Mesh Control Protocol (MCP) for configuring Mixer and
385   # Pilot. Requires galley (`--set galley.enabled=true`).
386   useMCP: true
387
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
394   trustDomain: ""
395
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:
405     mode: ALLOW_ANY
406
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
411
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:
418   #- '*'
419
420   sds:
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.
423     enabled: false
424     udsPath: ""
425     useTrustworthyJwt: false
426     useNormalJwt: false
427
428   # Configure the mesh networks to be used by the Split Horizon EDS.
429   #
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
433   # address and port.
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
438   # supported yet).
439   #
440   # meshNetworks:
441   #   network1:
442   #     endpoints:
443   #     - fromCidr: "192.168.0.1/24"
444   #     gateways:
445   #     - address: 1.1.1.1
446   #       port: 80
447   #   network2:
448   #     endpoints:
449   #     - fromRegistry: reg1
450   #     gateways:
451   #     - registryServiceName: istio-ingressgateway
452   #       port: 443
453   #
454   meshNetworks: {}
455
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.
460   #
461   # localityLbSetting:
462   #   distribute:
463   #   - from: "us-central1/*"
464   #     to:
465   #       "us-central1/*": 80
466   #       "us-central2/*": 20
467   #
468   # localityLbSetting:
469   #   failover:
470   #   - from: us-east
471   #     to: eu-west
472   #   - from: us-west
473   #     to: us-east
474   localityLbSetting: {}
475
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