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/istio-install-cni:1.29@sha256:09914e307bc619cdbd4aeb06372a586e9dbe6234b38908a742df263adca99148
4_internal_defaults_do_not_set:
10 # Same as `global.logging.level`, but will override it if set
13 # Configuration file to insert istio-cni plugin configuration
14 # by default this will be the first file found in the cni-conf-dir
16 # cniConfFileName: 10-calico.conflist
18 # CNI-and-platform specific path defaults.
19 # These may need to be set to platform-specific values, consult
20 # overrides for your platform in `manifests/helm-profiles/platform-*.yaml`
21 cniBinDir: /opt/cni/bin
22 cniConfDir: /etc/cni/net.d
24 cniNetnsDir: "/var/run/netns"
25 # If Istio owned CNI config is enabled, defaults to 02-istio-cni.conflist
26 istioOwnedCNIConfigFileName: ""
27 istioOwnedCNIConfig: false
30 # Allows user to set custom affinity for the DaemonSet
32 # Additional labels to apply on the daemonset level
34 # Custom annotations on pod level, if you need them
36 # Additional labels to apply on the pod level
38 # Deploy the config files as plugin chain (value "true") or as standalone files in the conf dir (value "false")?
39 # Some k8s flavors (e.g. OpenShift) do not support the chain approach, set to false if this is the case
41 # Custom configuration happens based on the CNI provider.
42 # Possible values: "default", "multus"
44 # Configure ambient settings
46 # If enabled, ambient redirection will be enabled
48 # If ambient is enabled, this selector will be used to identify the ambient-enabled pods
51 matchLabels: {istio.io/dataplane-mode: ambient}
54 - {key: istio.io/dataplane-mode, operator: NotIn, values: [none]}
56 matchLabels: {istio.io/dataplane-mode: ambient}
57 # Set ambient config dir path: defaults to /etc/ambient-config
59 # If enabled, and ambient is enabled, DNS redirection will be enabled
61 # If enabled, and ambient is enabled, enables ipv6 support
63 # If enabled, and ambient is enabled, the CNI agent will reconcile incompatible iptables rules and chains at startup.
64 # This is enabled by default
65 reconcileIptablesOnStartup: true
66 # If enabled, and ambient is enabled, the CNI agent will always share the network namespace of the host node it is running on
67 shareHostNetworkNamespace: false
68 # If enabled, the CNI agent will retry checking if a pod is ambient enabled when there are errors
69 enableAmbientDetectionRetry: false
74 # Repair controller has 3 modes. Pick which one meets your use cases. Note only one may be used.
75 # This defines the action the controller will take when a pod is detected as broken.
77 # labelPods will label all pods with <brokenPodLabelKey>=<brokenPodLabelValue>.
78 # This is only capable of identifying broken pods; the user is responsible for fixing them (generally, by deleting them).
79 # Note this gives the DaemonSet a relatively high privilege, as modifying pod metadata/status can have wider impacts.
81 # deletePods will delete any broken pod. These will then be rescheduled, hopefully onto a node that is fully ready.
82 # Note this gives the DaemonSet a relatively high privilege, as it can delete any Pod.
84 # repairPods will dynamically repair any broken pod by setting up the pod networking configuration even after it has started.
85 # Note the pod will be crashlooping, so this may take a few minutes to become fully functional based on when the retry occurs.
86 # This requires no RBAC privilege, but does require `securityContext.privileged/CAP_SYS_ADMIN`.
88 initContainerName: "istio-validation"
89 brokenPodLabelKey: "cni.istio.io/uninitialized"
90 brokenPodLabelValue: "true"
91 # Set to `type: RuntimeDefault` to use the default profile if available.
93 # SELinux options to set in the istio-cni-node pods. You may need to set this to `type: spc_t` for some platforms.
103 # Make sure istio-cni-node gets scheduled on all nodes.
106 # Mark the pod as a critical add-on for rescheduling.
107 - key: CriticalAddonsOnly
111 # K8s DaemonSet update strategy.
112 # https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec).
117 # Sets the per-pod terminationGracePeriodSeconds setting.
118 # A higher value gives more time for CNI cleanup during rolling updates,
119 # preventing "failed to find plugin istio-cni" errors.
120 # Default K8s value is 30 seconds.
121 terminationGracePeriodSeconds: 30
122 # Revision is set as 'version' label and part of the resource names when installing multiple control planes.
124 # For Helm compatibility.
127 # Default hub for Istio images.
128 # Releases are published to docker hub under 'istio' project.
129 # Dev builds from prow are on gcr.io
130 hub: gcr.io/istio-testing
131 # Default tag for Istio images.
133 # Variant of the image to use.
134 # Currently supported are: [debug, distroless]
136 # Specify image pull policy if default behavior isn't desired.
137 # Default behavior: latest images will be Always else IfNotPresent.
139 # change cni scope level to control logging out of istio-cni-node DaemonSet
143 # When enabled, default NetworkPolicy resources will be created
146 # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace
147 # to use for pulling any images in pods that reference this ServiceAccount.
148 # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)
149 # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.
150 # Must be set for any cluster configured with private docker registry.
152 # - private-registry-key
154 # Default resources allocated
159 # In order to use native nftable rules instead of iptable rules, set this flag to true.
160 nativeNftables: false
161 # resourceScope controls what resources will be processed by helm.
162 # 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.
164 # - all: all resources are processed
165 # - cluster: only cluster-scoped resources are processed
166 # - namespace: only namespace-scoped resources are processed
168 # A `key: value` mapping of environment variables to add to the pod