1# "_internal_defaults_do_not_set" is a workaround for Helm limitations. Users should NOT set "._internal_defaults_do_not_set" explicitly, but rather directly set the fields internally.
2# For instance, instead of `--set _internal_defaults_do_not_set.foo=bar``, just set `--set foo=bar`.
3image: cgr.dev/chainguard-private/ztunnel:1.29@sha256:7ebcd78ab0715f5ee007828c1422df4da4cca8aef2e9a4a094d0a4ec92b5fcf2
4_internal_defaults_do_not_set:
5 # Hub to pull from. Image will be `Hub/Image:Tag-Variant`
6 hub: gcr.io/istio-testing
7 # Tag to pull from. Image will be `Hub/Image:Tag-Variant`
9 # Variant to pull. Options are "debug" or "distroless". Unset will use the default for the given version.
11 # Image name to pull from. Image will be `Hub/Image:Tag-Variant`
12 # If Image contains a "/", it will replace the entire `image` in the pod.
14 # Same as `global.network`, but will override it if set.
15 # Network defines the network this cluster belong to. This name
16 # corresponds to the networks in the map of mesh networks.
19 # When enabled, default NetworkPolicy resources will be created
22 # resourceName, if set, will override the naming of resources. If not set, will default to 'ztunnel'.
23 # If you set this, you MUST also set `trustedZtunnelName` in the `istiod` chart.
25 # Labels to apply to all top level resources
27 # Annotations to apply to all top level resources
29 # Additional volumeMounts to the ztunnel container
31 # Additional volumes to the ztunnel pod
33 # Tolerations for the ztunnel pod
37 - key: CriticalAddonsOnly
41 # Annotations added to each pod. The default annotations are required for scraping prometheus (in most environments).
43 prometheus.io/port: "15020"
44 prometheus.io/scrape: "true"
45 # Additional labels to apply on the pod level
47 # Pod resource configuration
51 # Ztunnel memory scales with the size of the cluster and traffic load
52 # While there are many factors, this is enough for ~200k pod cluster or 100k concurrently open connections.
57 # Certificate Revocation List (CRL) support for plugged-in CAs.
58 # When enabled, ztunnel will check certificates against the CRL
61 # List of secret names to add to the service account as image pull secrets
63 # A `key: value` mapping of environment variables to add to the pod
65 # Override for the pod imagePullPolicy
67 # Settings for multicluster
69 # The name of the cluster we are installing in. Note this is a user-defined name, which must be consistent
70 # with Istiod configuration.
72 # meshConfig defines runtime configuration of components.
73 # For ztunnel, only defaultConfig is used, but this is nested under `meshConfig` for consistency with other
75 # TODO: https://github.com/istio/istio/issues/43248
80 # 1. how many seconds kube waits for ztunnel pod to gracefully exit before forcibly terminating it (this value)
81 # 2. how many seconds ztunnel waits to drain its own connections (this value - 1 sec)
82 # Default K8S value is 30 seconds
83 terminationGracePeriodSeconds: 30
84 # Revision is set as 'version' label and part of the resource names when installing multiple control planes.
85 # Used to locate the XDS and CA, if caAddress or xdsAddress are not set explicitly.
87 # The customized CA address to retrieve certificates for the pods in the cluster.
88 # CSR clients such as the Istio Agent and ingress gateways can use this to specify the CA endpoint.
90 # The customized XDS address to retrieve configuration.
91 # This should include the port - 15012 for Istiod. TLS will be used with the certificates in "istiod-ca-cert" secret.
92 # By default, it is istiod.istio-system.svc:15012 if revision is not set, or istiod-<revision>.<istioNamespace>.svc:15012
94 # Used to locate the XDS and CA, if caAddress or xdsAddress are not set.
95 istioNamespace: istio-system
96 # Configuration log level of ztunnel binary, default is info.
97 # Valid values are: trace, debug, info, warn, error
99 # To output all logs in json format
101 # Set to `type: RuntimeDefault` to use the default profile if available.
103 # TODO Ambient inpod - for OpenShift, set to the following to get writable sockets in hostmounts to work, eventually consider CSI driver instead
107 # resourceScope controls what resources will be processed by helm.
108 # This is useful when installing Istio on a cluster where some resources need to be owned by a cluster administrator and some can be owned by the mesh administrator.
110 # - all: all resources are processed
111 # - cluster: only cluster-scoped resources are processed
112 # - namespace: only namespace-scoped resources are processed
114 # K8s DaemonSet update strategy.
115 # https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec).