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