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