istio.io/istio@v0.0.0-20240520182934-d79c90f27776/manifests/charts/istio-control/istio-discovery/values.yaml (about) 1 defaults: 2 #.Values.pilot for discovery and mesh wide config 3 4 ## Discovery Settings 5 pilot: 6 autoscaleEnabled: true 7 autoscaleMin: 1 8 autoscaleMax: 5 9 autoscaleBehavior: {} 10 replicaCount: 1 11 rollingMaxSurge: 100% 12 rollingMaxUnavailable: 25% 13 14 hub: "" 15 tag: "" 16 variant: "" 17 18 # Can be a full hub/image:tag 19 image: pilot 20 traceSampling: 1.0 21 22 # Resources for a small pilot install 23 resources: 24 requests: 25 cpu: 500m 26 memory: 2048Mi 27 28 # Set to `type: RuntimeDefault` to use the default profile if available. 29 seccompProfile: {} 30 31 # Whether to use an existing CNI installation 32 cni: 33 enabled: false 34 provider: default 35 36 # Additional container arguments 37 extraContainerArgs: [] 38 39 env: {} 40 41 # Settings related to the untaint controller 42 # This controller will remove `cni.istio.io/not-ready` from nodes when the istio-cni pod becomes ready 43 # It should be noted that cluster operator/owner is responsible for having the taint set by their infrastructure provider when new nodes are added to the cluster; the untaint controller does not taint nodes 44 taint: 45 # Controls whether or not the untaint controller is active 46 enabled: false 47 # What namespace the untaint controller should watch for istio-cni pods. This is only required when istio-cni is running in a different namespace than istiod 48 namespace: "" 49 50 affinity: {} 51 52 tolerations: [] 53 54 cpu: 55 targetAverageUtilization: 80 56 memory: {} 57 # targetAverageUtilization: 80 58 59 # Additional volumeMounts to the istiod container 60 volumeMounts: [] 61 62 # Additional volumes to the istiod pod 63 volumes: [] 64 65 nodeSelector: {} 66 podAnnotations: {} 67 serviceAnnotations: {} 68 serviceAccountAnnotations: {} 69 70 topologySpreadConstraints: [] 71 72 # You can use jwksResolverExtraRootCA to provide a root certificate 73 # in PEM format. This will then be trusted by pilot when resolving 74 # JWKS URIs. 75 jwksResolverExtraRootCA: "" 76 77 # This is used to set the source of configuration for 78 # the associated address in configSource, if nothing is specified 79 # the default MCP is assumed. 80 configSource: 81 subscribedResources: [] 82 83 # The following is used to limit how long a sidecar can be connected 84 # to a pilot. It balances out load across pilot instances at the cost of 85 # increasing system churn. 86 keepaliveMaxServerConnectionAge: 30m 87 88 # Additional labels to apply to the deployment. 89 deploymentLabels: {} 90 91 ## Mesh config settings 92 93 # Install the mesh config map, generated from values.yaml. 94 # If false, pilot wil use default values (by default) or user-supplied values. 95 configMap: true 96 97 # Additional labels to apply on the pod level for monitoring and logging configuration. 98 podLabels: {} 99 100 # Setup how istiod Service is configured. See https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services 101 ipFamilyPolicy: "" 102 ipFamilies: [] 103 104 sidecarInjectorWebhook: 105 # You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or 106 # always skip the injection on pods that match that label selector, regardless of the global policy. 107 # See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/#more-control-adding-exceptions 108 neverInjectSelector: [] 109 alwaysInjectSelector: [] 110 111 # injectedAnnotations are additional annotations that will be added to the pod spec after injection 112 # This is primarily to support PSP annotations. For example, if you defined a PSP with the annotations: 113 # 114 # annotations: 115 # apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default 116 # apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default 117 # 118 # The PSP controller would add corresponding annotations to the pod spec for each container. However, this happens before 119 # the inject adds additional containers, so we must specify them explicitly here. With the above example, we could specify: 120 # injectedAnnotations: 121 # container.apparmor.security.beta.kubernetes.io/istio-init: runtime/default 122 # container.apparmor.security.beta.kubernetes.io/istio-proxy: runtime/default 123 injectedAnnotations: {} 124 125 # This enables injection of sidecar in all namespaces, 126 # with the exception of namespaces with "istio-injection:disabled" annotation 127 # Only one environment should have this enabled. 128 enableNamespacesByDefault: false 129 130 # Mutations that occur after the sidecar injector are not handled by default, as the Istio sidecar injector is only run 131 # once. For example, an OPA sidecar injected after the Istio sidecar will not have it's liveness/readiness probes rewritten. 132 # Setting this to `IfNeeded` will result in the sidecar injector being run again if additional mutations occur. 133 reinvocationPolicy: Never 134 135 rewriteAppHTTPProbe: true 136 137 # Templates defines a set of custom injection templates that can be used. For example, defining: 138 # 139 # templates: 140 # hello: | 141 # metadata: 142 # labels: 143 # hello: world 144 # 145 # Then starting a pod with the `inject.istio.io/templates: hello` annotation, will result in the pod 146 # being injected with the hello=world labels. 147 # This is intended for advanced configuration only; most users should use the built in template 148 templates: {} 149 150 # Default templates specifies a set of default templates that are used in sidecar injection. 151 # By default, a template `sidecar` is always provided, which contains the template of default sidecar. 152 # To inject other additional templates, define it using the `templates` option, and add it to 153 # the default templates list. 154 # For example: 155 # 156 # templates: 157 # hello: | 158 # metadata: 159 # labels: 160 # hello: world 161 # 162 # defaultTemplates: ["sidecar", "hello"] 163 defaultTemplates: [] 164 istiodRemote: 165 # Sidecar injector mutating webhook configuration clientConfig.url value. 166 # For example: https://$remotePilotAddress:15017/inject 167 # The host should not refer to a service running in the cluster; use a service reference by specifying 168 # the clientConfig.service field instead. 169 injectionURL: "" 170 171 # Sidecar injector mutating webhook configuration path value for the clientConfig.service field. 172 # Override to pass env variables, for example: /inject/cluster/remote/net/network2 173 injectionPath: "/inject" 174 175 injectionCABundle: "" 176 telemetry: 177 enabled: true 178 v2: 179 # For Null VM case now. 180 # This also enables metadata exchange. 181 enabled: true 182 # Indicate if prometheus stats filter is enabled or not 183 prometheus: 184 enabled: true 185 # stackdriver filter settings. 186 stackdriver: 187 enabled: false 188 # Revision is set as 'version' label and part of the resource names when installing multiple control planes. 189 revision: "" 190 191 # Revision tags are aliases to Istio control plane revisions 192 revisionTags: [] 193 194 # For Helm compatibility. 195 ownerName: "" 196 197 # meshConfig defines runtime configuration of components, including Istiod and istio-agent behavior 198 # See https://istio.io/docs/reference/config/istio.mesh.v1alpha1/ for all available options 199 meshConfig: 200 enablePrometheusMerge: true 201 202 experimental: 203 stableValidationPolicy: false 204 205 global: 206 # Used to locate istiod. 207 istioNamespace: istio-system 208 # List of cert-signers to allow "approve" action in the istio cluster role 209 # 210 # certSigners: 211 # - clusterissuers.cert-manager.io/istio-ca 212 certSigners: [] 213 # enable pod disruption budget for the control plane, which is used to 214 # ensure Istio control plane components are gradually upgraded or recovered. 215 defaultPodDisruptionBudget: 216 enabled: true 217 # The values aren't mutable due to a current PodDisruptionBudget limitation 218 # minAvailable: 1 219 220 # A minimal set of requested resources to applied to all deployments so that 221 # Horizontal Pod Autoscaler will be able to function (if set). 222 # Each component can overwrite these default values by adding its own resources 223 # block in the relevant section below and setting the desired resources values. 224 defaultResources: 225 requests: 226 cpu: 10m 227 # memory: 128Mi 228 # limits: 229 # cpu: 100m 230 # memory: 128Mi 231 232 # Default hub for Istio images. 233 # Releases are published to docker hub under 'istio' project. 234 # Dev builds from prow are on gcr.io 235 hub: gcr.io/istio-testing 236 # Default tag for Istio images. 237 tag: latest 238 # Variant of the image to use. 239 # Currently supported are: [debug, distroless] 240 variant: "" 241 242 # Specify image pull policy if default behavior isn't desired. 243 # Default behavior: latest images will be Always else IfNotPresent. 244 imagePullPolicy: "" 245 246 # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace 247 # to use for pulling any images in pods that reference this ServiceAccount. 248 # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing) 249 # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects. 250 # Must be set for any cluster configured with private docker registry. 251 imagePullSecrets: [] 252 # - private-registry-key 253 254 # Enabled by default in master for maximising testing. 255 istiod: 256 enableAnalysis: false 257 258 # To output all istio components logs in json format by adding --log_as_json argument to each container argument 259 logAsJson: false 260 261 # Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level> 262 # The control plane has different scopes depending on component, but can configure default log level across all components 263 # If empty, default scope and level will be used as configured in code 264 logging: 265 level: "default:info" 266 267 omitSidecarInjectorConfigMap: false 268 269 # Configure whether Operator manages webhook configurations. The current behavior 270 # of Istiod is to manage its own webhook configurations. 271 # When this option is set as true, Istio Operator, instead of webhooks, manages the 272 # webhook configurations. When this option is set as false, webhooks manage their 273 # own webhook configurations. 274 operatorManageWebhooks: false 275 276 # Custom DNS config for the pod to resolve names of services in other 277 # clusters. Use this to add additional search domains, and other settings. 278 # see 279 # https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config 280 # This does not apply to gateway pods as they typically need a different 281 # set of DNS settings than the normal application pods (e.g., in 282 # multicluster scenarios). 283 # NOTE: If using templates, follow the pattern in the commented example below. 284 #podDNSSearchNamespaces: 285 #- global 286 #- "{{ valueOrDefault .DeploymentMeta.Namespace \"default\" }}.global" 287 288 # Kubernetes >=v1.11.0 will create two PriorityClass, including system-cluster-critical and 289 # system-node-critical, it is better to configure this in order to make sure your Istio pods 290 # will not be killed because of low priority class. 291 # Refer to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass 292 # for more detail. 293 priorityClassName: "" 294 295 proxy: 296 image: proxyv2 297 298 # This controls the 'policy' in the sidecar injector. 299 autoInject: enabled 300 301 # CAUTION: It is important to ensure that all Istio helm charts specify the same clusterDomain value 302 # cluster domain. Default value is "cluster.local". 303 clusterDomain: "cluster.local" 304 305 # Per Component log level for proxy, applies to gateways and sidecars. If a component level is 306 # not set, then the global "logLevel" will be used. 307 componentLogLevel: "misc:error" 308 309 # If set, newly injected sidecars will have core dumps enabled. 310 enableCoreDump: false 311 312 # istio ingress capture allowlist 313 # examples: 314 # Redirect only selected ports: --includeInboundPorts="80,8080" 315 excludeInboundPorts: "" 316 includeInboundPorts: "*" 317 318 # istio egress capture allowlist 319 # https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly 320 # example: includeIPRanges: "172.30.0.0/16,172.20.0.0/16" 321 # would only capture egress traffic on those two IP Ranges, all other outbound traffic would 322 # be allowed by the sidecar 323 includeIPRanges: "*" 324 excludeIPRanges: "" 325 includeOutboundPorts: "" 326 excludeOutboundPorts: "" 327 328 # Log level for proxy, applies to gateways and sidecars. 329 # Expected values are: trace|debug|info|warning|error|critical|off 330 logLevel: warning 331 332 # Specify the path to the outlier event log. 333 # Example: /dev/stdout 334 outlierLogPath: "" 335 336 #If set to true, istio-proxy container will have privileged securityContext 337 privileged: false 338 339 # The number of successive failed probes before indicating readiness failure. 340 readinessFailureThreshold: 4 341 342 # The initial delay for readiness probes in seconds. 343 readinessInitialDelaySeconds: 0 344 345 # The period between readiness probes. 346 readinessPeriodSeconds: 15 347 348 # Enables or disables a startup probe. 349 # For optimal startup times, changing this should be tied to the readiness probe values. 350 # 351 # If the probe is enabled, it is recommended to have delay=0s,period=15s,failureThreshold=4. 352 # This ensures the pod is marked ready immediately after the startup probe passes (which has a 1s poll interval), 353 # and doesn't spam the readiness endpoint too much 354 # 355 # If the probe is disabled, it is recommended to have delay=1s,period=2s,failureThreshold=30. 356 # This ensures the startup is reasonable fast (polling every 2s). 1s delay is used since the startup is not often ready instantly. 357 startupProbe: 358 enabled: true 359 failureThreshold: 600 # 10 minutes 360 361 # Resources for the sidecar. 362 resources: 363 requests: 364 cpu: 100m 365 memory: 128Mi 366 limits: 367 cpu: 2000m 368 memory: 1024Mi 369 370 # Default port for Pilot agent health checks. A value of 0 will disable health checking. 371 statusPort: 15020 372 373 # Specify which tracer to use. One of: zipkin, lightstep, datadog, stackdriver, none. 374 # If using stackdriver tracer outside GCP, set env GOOGLE_APPLICATION_CREDENTIALS to the GCP credential file. 375 tracer: "none" 376 377 proxy_init: 378 # Base name for the proxy_init container, used to configure iptables. 379 image: proxyv2 380 381 # configure remote pilot and istiod service and endpoint 382 remotePilotAddress: "" 383 384 ############################################################################################## 385 # The following values are found in other charts. To effectively modify these values, make # 386 # make sure they are consistent across your Istio helm charts # 387 ############################################################################################## 388 389 # The customized CA address to retrieve certificates for the pods in the cluster. 390 # CSR clients such as the Istio Agent and ingress gateways can use this to specify the CA endpoint. 391 # If not set explicitly, default to the Istio discovery address. 392 caAddress: "" 393 394 # Configure a remote cluster data plane controlled by an external istiod. 395 # When set to true, istiod is not deployed locally and only a subset of the other 396 # discovery charts are enabled. 397 externalIstiod: false 398 399 # Configure a remote cluster as the config cluster for an external istiod. 400 configCluster: false 401 402 # configValidation enables the validation webhook for Istio configuration. 403 configValidation: true 404 405 # Mesh ID means Mesh Identifier. It should be unique within the scope where 406 # meshes will interact with each other, but it is not required to be 407 # globally/universally unique. For example, if any of the following are true, 408 # then two meshes must have different Mesh IDs: 409 # - Meshes will have their telemetry aggregated in one place 410 # - Meshes will be federated together 411 # - Policy will be written referencing one mesh from the other 412 # 413 # If an administrator expects that any of these conditions may become true in 414 # the future, they should ensure their meshes have different Mesh IDs 415 # assigned. 416 # 417 # Within a multicluster mesh, each cluster must be (manually or auto) 418 # configured to have the same Mesh ID value. If an existing cluster 'joins' a 419 # multicluster mesh, it will need to be migrated to the new mesh ID. Details 420 # of migration TBD, and it may be a disruptive operation to change the Mesh 421 # ID post-install. 422 # 423 # If the mesh admin does not specify a value, Istio will use the value of the 424 # mesh's Trust Domain. The best practice is to select a proper Trust Domain 425 # value. 426 meshID: "" 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 (only 438 # LoadBalancer gateway service type is currently supported, for a NodePort type gateway service, 439 # it still need to be configured manually). 440 # 441 # meshNetworks: 442 # network1: 443 # endpoints: 444 # - fromCidr: "192.168.0.1/24" 445 # gateways: 446 # - address: 1.1.1.1 447 # port: 80 448 # network2: 449 # endpoints: 450 # - fromRegistry: reg1 451 # gateways: 452 # - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local 453 # port: 443 454 # 455 meshNetworks: {} 456 457 # Use the user-specified, secret volume mounted key and certs for Pilot and workloads. 458 mountMtlsCerts: false 459 460 multiCluster: 461 # Set to true to connect two kubernetes clusters via their respective 462 # ingressgateway services when pods in each cluster cannot directly 463 # talk to one another. All clusters should be using Istio mTLS and must 464 # have a shared root CA for this model to work. 465 enabled: false 466 # Should be set to the name of the cluster this installation will run in. This is required for sidecar injection 467 # to properly label proxies 468 clusterName: "" 469 470 # Network defines the network this cluster belong to. This name 471 # corresponds to the networks in the map of mesh networks. 472 network: "" 473 474 # Configure the certificate provider for control plane communication. 475 # Currently, two providers are supported: "kubernetes" and "istiod". 476 # As some platforms may not have kubernetes signing APIs, 477 # Istiod is the default 478 pilotCertProvider: istiod 479 480 sds: 481 # The JWT token for SDS and the aud field of such JWT. See RFC 7519, section 4.1.3. 482 # When a CSR is sent from Istio Agent to the CA (e.g. Istiod), this aud is to make sure the 483 # JWT is intended for the CA. 484 token: 485 aud: istio-ca 486 487 sts: 488 # The service port used by Security Token Service (STS) server to handle token exchange requests. 489 # Setting this port to a non-zero value enables STS server. 490 servicePort: 0 491 492 # The name of the CA for workload certificates. 493 # For example, when caName=GkeWorkloadCertificate, GKE workload certificates 494 # will be used as the certificates for workloads. 495 # The default value is "" and when caName="", the CA will be configured by other 496 # mechanisms (e.g., environmental variable CA_PROVIDER). 497 caName: "" 498 499 # whether to use autoscaling/v2 template for HPA settings 500 # for internal usage only, not to be configured by users. 501 autoscalingv2API: true 502 503 base: 504 # For istioctl usage to disable istio config crds in base 505 enableIstioConfigCRDs: true 506 507 # `istio_cni` has been deprecated and will be removed in a future release. use `pilot.cni` instead 508 istio_cni: 509 # `chained` has been deprecated and will be removed in a future release. use `provider` instead 510 chained: true 511 provider: default