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: istio-install-cni
5 hub: cgr.dev/chainguard-private
6 tag: 1.28@sha256:6592fedd3bb24af06b72c4497572aa2139b42fb83cdfc13a7594454b63e5f855
8_internal_defaults_do_not_set:
14 # Same as `global.logging.level`, but will override it if set
17 # Configuration file to insert istio-cni plugin configuration
18 # by default this will be the first file found in the cni-conf-dir
20 # cniConfFileName: 10-calico.conflist
22 # CNI-and-platform specific path defaults.
23 # These may need to be set to platform-specific values, consult
24 # overrides for your platform in `manifests/helm-profiles/platform-*.yaml`
25 cniBinDir: /opt/cni/bin
26 cniConfDir: /etc/cni/net.d
28 cniNetnsDir: "/var/run/netns"
29 # If Istio owned CNI config is enabled, defaults to 02-istio-cni.conflist
30 istioOwnedCNIConfigFileName: ""
31 istioOwnedCNIConfig: false
34 # Allows user to set custom affinity for the DaemonSet
36 # Additional labels to apply on the daemonset level
38 # Custom annotations on pod level, if you need them
40 # Additional labels to apply on the pod level
42 # Deploy the config files as plugin chain (value "true") or as standalone files in the conf dir (value "false")?
43 # Some k8s flavors (e.g. OpenShift) do not support the chain approach, set to false if this is the case
45 # Custom configuration happens based on the CNI provider.
46 # Possible values: "default", "multus"
48 # Configure ambient settings
50 # If enabled, ambient redirection will be enabled
52 # If ambient is enabled, this selector will be used to identify the ambient-enabled pods
55 matchLabels: {istio.io/dataplane-mode: ambient}
58 - {key: istio.io/dataplane-mode, operator: NotIn, values: [none]}
60 matchLabels: {istio.io/dataplane-mode: ambient}
61 # Set ambient config dir path: defaults to /etc/ambient-config
63 # If enabled, and ambient is enabled, DNS redirection will be enabled
65 # If enabled, and ambient is enabled, enables ipv6 support
67 # If enabled, and ambient is enabled, the CNI agent will reconcile incompatible iptables rules and chains at startup.
68 # This will eventually be enabled by default
69 reconcileIptablesOnStartup: false
70 # If enabled, and ambient is enabled, the CNI agent will always share the network namespace of the host node it is running on
71 shareHostNetworkNamespace: false
72 # If enabled, the CNI agent will retry checking if a pod is ambient enabled when there are errors
73 enableAmbientDetectionRetry: false
78 # Repair controller has 3 modes. Pick which one meets your use cases. Note only one may be used.
79 # This defines the action the controller will take when a pod is detected as broken.
81 # labelPods will label all pods with <brokenPodLabelKey>=<brokenPodLabelValue>.
82 # This is only capable of identifying broken pods; the user is responsible for fixing them (generally, by deleting them).
83 # Note this gives the DaemonSet a relatively high privilege, as modifying pod metadata/status can have wider impacts.
85 # deletePods will delete any broken pod. These will then be rescheduled, hopefully onto a node that is fully ready.
86 # Note this gives the DaemonSet a relatively high privilege, as it can delete any Pod.
88 # repairPods will dynamically repair any broken pod by setting up the pod networking configuration even after it has started.
89 # Note the pod will be crashlooping, so this may take a few minutes to become fully functional based on when the retry occurs.
90 # This requires no RBAC privilege, but does require `securityContext.privileged/CAP_SYS_ADMIN`.
92 initContainerName: "istio-validation"
93 brokenPodLabelKey: "cni.istio.io/uninitialized"
94 brokenPodLabelValue: "true"
95 # Set to `type: RuntimeDefault` to use the default profile if available.
97 # SELinux options to set in the istio-cni-node pods. You may need to set this to `type: spc_t` for some platforms.
107 # Make sure istio-cni-node gets scheduled on all nodes.
110 # Mark the pod as a critical add-on for rescheduling.
111 - key: CriticalAddonsOnly
115 # K8s DaemonSet update strategy.
116 # https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec).
121 # Revision is set as 'version' label and part of the resource names when installing multiple control planes.
123 # For Helm compatibility.
126 # Default hub for Istio images.
127 # Releases are published to docker hub under 'istio' project.
128 # Dev builds from prow are on gcr.io
129 hub: gcr.io/istio-testing
130 # Default tag for Istio images.
132 # Variant of the image to use.
133 # Currently supported are: [debug, distroless]
135 # Specify image pull policy if default behavior isn't desired.
136 # Default behavior: latest images will be Always else IfNotPresent.
138 # change cni scope level to control logging out of istio-cni-node DaemonSet
142 # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace
143 # to use for pulling any images in pods that reference this ServiceAccount.
144 # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)
145 # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.
146 # Must be set for any cluster configured with private docker registry.
148 # - private-registry-key
150 # Default resources allocated
155 # In order to use native nftable rules instead of iptable rules, set this flag to true.
156 nativeNftables: false
157 # resourceScope controls what resources will be processed by helm.
158 # 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.
160 # - all: all resources are processed
161 # - cluster: only cluster-scoped resources are processed
162 # - namespace: only namespace-scoped resources are processed
164 # A `key: value` mapping of environment variables to add to the pod