1# This file has been modified by Chainguard, Inc.
3# Copyright Chainguard, Inc. All Rights Reserved.
4# Chainguard, Inc. modifications are subject to the license
5# available at: https://www.chainguard.dev/legal/software-license-agreement
7# Copyright Broadcom, Inc. All Rights Reserved.
8# SPDX-License-Identifier: APACHE-2.0
10## @section Global parameters
11## Global Docker image parameters
12## Please, note that this will override the image parameters, including dependencies, configured to use the global value
13## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
16## @param global.imageRegistry Global Docker image registry
17## @param global.imagePullSecrets [array] Global Docker registry secret names as an array
18## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
19## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
25 ## - myRegistryKeySecretName
28 defaultStorageClass: ""
30 ## Security parameters
33 ## @param global.security.allowInsecureImages Allows skipping image verification
34 allowInsecureImages: false
35 ## Compatibility adaptations for Kubernetes platforms
38 ## Compatibility adaptations for Openshift
41 ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
43 adaptSecurityContext: auto
45## @section Common parameters
48## @param nameOverride String to partially override contour.fullname include (will maintain the release name)
51## @param fullnameOverride String to fully override contour.fullname template
54## @param namespaceOverride String to fully override common.names.namespace
57## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
60## @param extraDeploy [array] Array of extra objects to deploy with the release
63## @param commonLabels Labels to add to all deployed objects
66## @param commonAnnotations Annotations to add to all deployed objects
69## Diagnostic mode in the deployment
72 ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
75 ## @param diagnosticMode.command [array] Command to override all containers in the deployment
79 ## @param diagnosticMode.args [array] Args to override all containers in the deployment
83## @section Contour parameters
86## To configure Contour, you must specify ONE of the following two options.
87## @param existingConfigMap Specifies the name of an externally-defined ConfigMap to use as the configuration (this is mutually exclusive with `configInline`)
88## Helm will not manage the contents of this ConfigMap, it is your responsibility to create it.
90## existingConfigMap: contour
93## @param configInline [object] Specifies Contour's configuration directly in YAML format
94## When configInline is used, Helm manages Contour's configuration ConfigMap as
95## part of the release, and existingConfigMap is ignored.
96## Refer to https://projectcontour.io/docs/latest/configuration for available options.
99 disablePermitInsecure: false
101 fallback-certificate: {}
102 accesslog-format: envoy
104 ## @param contour.enabled Contour Deployment creation.
107 ## @param contour.image.registry [default: REGISTRY_NAME] Contour image registry
108 ## @param contour.image.repository [default: REPOSITORY_NAME/contour] Contour image name
109 ## @skip contour.image.tag Contour image tag
110 ## @param contour.image.digest Contour image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
111 ## @param contour.image.pullPolicy Contour Image pull policy
112 ## @param contour.image.pullSecrets [array] Contour Image pull secrets
113 ## @param contour.image.debug Enable image debug mode
117 repository: chainguard-private/contour-iamguarded
120 ## Specify a imagePullPolicy
121 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
123 pullPolicy: IfNotPresent
124 ## Optionally specify an array of imagePullSecrets.
125 ## Secrets must be manually created in the namespace.
126 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
129 ## - myRegistryKeySecretName
133 ## @param contour.contourConfigName Contour Deployment with ContourConfiguration CRD.
135 contourConfigName: "contour"
136 ## @param contour.configPath Contour Deployment with configmap.
139 ## @param contour.replicaCount Number of Contour Pod replicas
142 ## @param contour.priorityClassName Priority class assigned to the pods
143 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
145 priorityClassName: ""
146 ## @param contour.schedulerName Name of the k8s scheduler (other than default)
147 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
150 ## @param contour.terminationGracePeriodSeconds In seconds, time the given to the Contour pod needs to terminate gracefully
151 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
153 terminationGracePeriodSeconds: ""
154 ## @param contour.topologySpreadConstraints Topology Spread Constraints for pod assignment
155 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
156 ## The value is evaluated as a template
158 topologySpreadConstraints: []
159 ## Configures the ports the Envoy proxy listens on
160 ## @param contour.containerPorts.xds Set xds port inside Contour pod
161 ## @param contour.containerPorts.metrics Set metrics port inside Contour pod
166 ## @param contour.automountServiceAccountToken Mount Service Account token in pod
168 automountServiceAccountToken: true
169 ## @param contour.hostAliases [array] Add deployment host aliases
170 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
173 ## @param contour.updateStrategy Strategy to use to update Pods
174 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
177 ## @param contour.extraArgs [array] Extra arguments passed to Contour container
180 ## Contour container resource requests and limits
181 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
182 ## ref: https://projectcontour.io/guides/resource-limits/
183 ## We usually recommend not to specify default resources and to leave this as a conscious
184 ## choice for the user. This also increases chances charts run on environments with little
185 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
186 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
187 ## @param contour.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if contour.resources is set (contour.resources is recommended for production).
188 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
190 resourcesPreset: "nano"
191 ## @param contour.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
202 ## @param contour.manageCRDs Manage the creation, upgrade and deletion of Contour CRDs.
205 ## @param contour.envoyServiceNamespace Namespace of the envoy service to inspect for Ingress status details.
207 envoyServiceNamespace: ""
208 ## Name of the envoy service to inspect for Ingress status details.
209 ## @param contour.envoyServiceName DEPRECATED: use envoy.service.name
212 ## @param contour.leaderElectionResourceName Name of the contour (Lease) leader election will lease.
214 leaderElectionResourceName: ""
215 ## @param contour.ingressStatusAddress Address to set in Ingress object status. It is exclusive with `envoyServiceName` and `envoyServiceNamespace`.
217 ingressStatusAddress: ""
218 ## @param contour.podAffinityPreset Contour Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
219 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
221 podAffinityPreset: ""
222 ## @param contour.podAntiAffinityPreset Contour Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
223 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
225 podAntiAffinityPreset: soft
226 ## @param contour.podLabels [object] Extra labels for Contour pods
227 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
230 ## @param contour.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
233 ## @param contour.customLivenessProbe Override default liveness probe
235 customLivenessProbe: {}
236 ## @param contour.customReadinessProbe Override default readiness probe
238 customReadinessProbe: {}
239 ## @param contour.customStartupProbe Override default startup probe
241 customStartupProbe: {}
242 ## Node affinity preset
243 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
244 ## @param contour.nodeAffinityPreset.type Contour Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
245 ## @param contour.nodeAffinityPreset.key Contour Node label key to match Ignored if `affinity` is set.
246 ## @param contour.nodeAffinityPreset.values [array] Contour Node label values to match. Ignored if `affinity` is set.
251 ## key: "kubernetes.io/e2e-az-name"
260 ## @param contour.command Override default command
263 ## @param contour.args Override default args
266 ## @param contour.affinity [object] Affinity for Contour pod assignment
267 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
268 ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
271 ## @param contour.nodeSelector [object] Node labels for Contour pod assignment
272 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
275 ## @param contour.tolerations [array] Tolerations for Contour pod assignment
276 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
279 ## @param contour.podAnnotations [object] Contour Pod annotations
280 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
283 ## @param contour.serviceAccount.create Create a serviceAccount for the Contour pod
284 ## @param contour.serviceAccount.name Use the serviceAccount with the specified name, a name is generated using the fullname template
285 ## @param contour.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
286 ## @param contour.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
291 automountServiceAccountToken: false
293 ## Contour Security Context
294 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
295 ## @param contour.podSecurityContext.enabled Default backend Pod securityContext
296 ## @param contour.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
297 ## @param contour.podSecurityContext.sysctls Set kernel settings using the sysctl interface
298 ## @param contour.podSecurityContext.supplementalGroups Set filesystem extra groups
299 ## @param contour.podSecurityContext.fsGroup Set Default backend Pod's Security Context fsGroup
303 fsGroupChangePolicy: Always
305 supplementalGroups: []
307 ## Envoy container security context
308 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
309 ## @param contour.containerSecurityContext.enabled Enabled contour containers' Security Context
310 ## @param contour.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
311 ## @param contour.containerSecurityContext.runAsUser Set contour containers' Security Context runAsUser
312 ## @param contour.containerSecurityContext.runAsGroup Set contour containers' Security Context runAsGroup
313 ## @param contour.containerSecurityContext.runAsNonRoot Set contour containers' Security Context runAsNonRoot
314 ## @param contour.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
315 ## @param contour.containerSecurityContext.privileged Set contour container's Security Context privileged
316 ## @param contour.containerSecurityContext.allowPrivilegeEscalation Set contour container's Security Context allowPrivilegeEscalation
317 ## @param contour.containerSecurityContext.capabilities.drop List of capabilities to be dropped
318 ## @param contour.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
320 containerSecurityContext:
327 allowPrivilegeEscalation: false
331 type: "RuntimeDefault"
332 readOnlyRootFilesystem: true
333 ## @param contour.livenessProbe.enabled Enable/disable the Liveness probe
334 ## @param contour.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated
335 ## @param contour.livenessProbe.periodSeconds How often to perform the probe
336 ## @param contour.livenessProbe.timeoutSeconds When the probe times out
337 ## @param contour.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
338 ## @param contour.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
342 initialDelaySeconds: 120
347 ## @param contour.readinessProbe.enabled Enable/disable the readiness probe
348 ## @param contour.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
349 ## @param contour.readinessProbe.periodSeconds How often to perform the probe
350 ## @param contour.readinessProbe.timeoutSeconds When the probe times out
351 ## @param contour.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
352 ## @param contour.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
356 initialDelaySeconds: 15
361 ## @param contour.startupProbe.enabled Enable/disable the startup probe
362 ## @param contour.startupProbe.initialDelaySeconds Delay before startup probe is initiated
363 ## @param contour.startupProbe.periodSeconds How often to perform the probe
364 ## @param contour.startupProbe.timeoutSeconds When the probe times out
365 ## @param contour.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
366 ## @param contour.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
370 initialDelaySeconds: 15
375 ## Contour certgen configs
378 ## @param contour.certgen.serviceAccount.create Create a serviceAccount for the Contour pod
379 ## @param contour.certgen.serviceAccount.name Use the serviceAccount with the specified name, a name is generated using the fullname template
380 ## @param contour.certgen.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
381 ## @param contour.certgen.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
386 automountServiceAccountToken: false
388 ## @param contour.certgen.certificateLifetime Generated certificate lifetime (in days).
390 certificateLifetime: 365
391 ## @param contour.certgen.automountServiceAccountToken Mount Service Account token in pod
393 automountServiceAccountToken: true
395 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
398 ## @param contour.certgen.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
401 ## @param contour.certgen.networkPolicy.allowExternal Don't require server label for connections
402 ## The Policy model to apply. When set to false, only pods with the correct
403 ## server label will have network access to the ports server is listening
404 ## on. When true, server will accept connections from any source
405 ## (with the correct destination port).
408 ## @param contour.certgen.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
410 allowExternalEgress: true
411 ## @param contour.certgen.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
413 kubeAPIServerPorts: [443, 6443, 8443]
414 ## @param contour.certgen.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
424 ## - matchExpressions:
430 ## @param contour.certgen.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
440 ## - matchExpressions:
447 ## @param contour.certgen.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
448 ## @param contour.certgen.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
450 ingressNSMatchLabels: {}
451 ingressNSPodMatchLabels: {}
452 ## @param contour.tlsExistingSecret Name of the existingSecret to be use in Contour deployment. If it is not nil `contour.certgen` will be disabled.
453 ## It will override `tlsExistingSecret`
455 tlsExistingSecret: ""
456 ## Contour Service properties
457 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
460 ## @param contour.service.type Service type
463 ## @param contour.service.ports.xds Contour service xds port
464 ## @param contour.service.ports.metrics Contour service xds port
469 ## Node ports to expose
470 ## @param contour.service.nodePorts.xds Node port for HTTP
471 ## NOTE: choose port between <30000-32767>
475 ## @param contour.service.clusterIP Contour service Cluster IP
480 ## @param contour.service.loadBalancerIP Contour service Load Balancer IP
481 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
484 ## @param contour.service.loadBalancerSourceRanges Contour service Load Balancer sources
485 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
487 ## loadBalancerSourceRanges:
490 loadBalancerSourceRanges: []
491 ## @param contour.service.loadBalancerClass Contour service Load Balancer Class
492 ## ref https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
494 loadBalancerClass: ""
495 ## @param contour.service.externalTrafficPolicy Contour service external traffic policy
496 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
498 externalTrafficPolicy: Cluster
499 ## @param contour.service.annotations Additional custom annotations for Contour service
502 ## @param contour.service.extraPorts Extra port to expose on Contour service
505 ## @param contour.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
506 ## If "ClientIP", consecutive client requests will be directed to the same Pod
507 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
509 sessionAffinity: None
510 ## @param contour.service.sessionAffinityConfig Additional settings for the sessionAffinity
511 ## sessionAffinityConfig:
513 ## timeoutSeconds: 300
515 sessionAffinityConfig: {}
517 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
520 ## @param contour.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
523 ## @param contour.networkPolicy.allowExternal Don't require server label for connections
524 ## The Policy model to apply. When set to false, only pods with the correct
525 ## server label will have network access to the ports server is listening
526 ## on. When true, server will accept connections from any source
527 ## (with the correct destination port).
530 ## @param contour.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
532 allowExternalEgress: true
533 ## @param contour.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
535 kubeAPIServerPorts: [443, 6443, 8443]
536 ## @param contour.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
546 ## - matchExpressions:
552 ## @param contour.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
562 ## - matchExpressions:
569 ## @param contour.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
570 ## @param contour.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
572 ingressNSMatchLabels: {}
573 ingressNSPodMatchLabels: {}
574 ## @param contour.initContainers [array] Attach additional init containers to Contour pods
577 ## - name: your-image-name
579 ## imagePullPolicy: Always
582 ## @param contour.sidecars [array] Add additional sidecar containers to the Contour pods
585 ## - name: your-image-name
587 ## imagePullPolicy: Always
590 ## containerPort: 1234
593 ## @param contour.extraVolumes [array] Array to add extra volumes
596 ## @param contour.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
598 extraVolumeMounts: []
599 ## @param contour.extraEnvVars [array] Array containing extra env vars to be added to all Contour containers
602 ## - name: MY_ENV_VAR
603 ## value: env_var_value
606 ## @param contour.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Contour containers
609 ## @param contour.extraEnvVarsSecret Secret containing extra env vars to be added to all Contour containers
611 extraEnvVarsSecret: ""
612 ## @param contour.ingressClass.name Name of the ingress class to route through this controller.
613 ## @param contour.ingressClass.create Whether to create or not the IngressClass resource
614 ## @param contour.ingressClass.default Mark IngressClass resource as default for cluster
616 ## DEPRECATED: Use a map instead
617 ## You can use the the 'contour.ingressClass' as a string to indicate the ingress
618 ## class name. This will skip the creation of an IngressClass resource.
620 ## ingressClass: contour
626 ## @param contour.debug Enable Contour debug log level
629 ## @param contour.logFormat Set contour log-format. Default text, either text or json.
632 ## @param contour.kubernetesDebug Contour kubernetes debug log level, Default 0, minimum 0, maximum 9.
635 ## @param contour.rootNamespaces Restrict Contour to searching these namespaces for root ingress routes.
638 ## Exposes configuration of Envoy's Overload Manager through Contour's bootstrapping process
639 ## When 95% of max heap size is reached for an Envoy, "shrink heap" operation is triggered.
640 ## When 98% of max heap size is reached for an Envoy, it no longer accepts requests.
641 ## https://projectcontour.io/docs/main/config/overload-manager/
642 ## @param contour.overloadManager.enabled Enable Overload Manager
643 ## @param contour.overloadManager.maxHeapBytes Overload Manager's maximum heap size in bytes
647 maxHeapBytes: "2147483648"
648 ## PodDisruptionBudget for default backend
649 ## Contour Pod Disruption Budget configuration
650 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
651 ## @param contour.pdb.create Enable Pod Disruption Budget configuration
652 ## @param contour.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
653 ## @param contour.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
659## @section Envoy parameters
662 ## @param envoy.enabled Envoy Proxy creation
665 ## Iamguarded Envoy image
666 ## ref: https://hub.docker.com/r/iamguarded/envoy/tags/
667 ## @param envoy.image.registry [default: REGISTRY_NAME] Envoy Proxy image registry
668 ## @param envoy.image.repository [default: REPOSITORY_NAME/envoy] Envoy Proxy image repository
669 ## @skip envoy.image.tag Envoy Proxy image tag (immutable tags are recommended)
670 ## @param envoy.image.digest Envoy Proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
671 ## @param envoy.image.pullPolicy Envoy image pull policy
672 ## @param envoy.image.pullSecrets [array] Envoy image pull secrets
676 repository: chainguard-private/envoy-iamguarded
679 ## Specify a imagePullPolicy
680 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
682 pullPolicy: IfNotPresent
683 ## Optionally specify an array of imagePullSecrets.
684 ## Secrets must be manually created in the namespace.
685 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
688 ## - myRegistryKeySecretName
691 ## @param envoy.priorityClassName Priority class assigned to the pods
692 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
694 priorityClassName: ""
695 ## @param envoy.schedulerName Name of the k8s scheduler (other than default)
696 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
699 ## @param envoy.topologySpreadConstraints Topology Spread Constraints for pod assignment
700 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
701 ## The value is evaluated as a template
703 topologySpreadConstraints: []
704 ## @param envoy.extraArgs [array] Extra arguments passed to Envoy container
707 ## @param envoy.automountServiceAccountToken Mount Service Account token in pod
709 automountServiceAccountToken: false
710 ## @param envoy.hostAliases [array] Add deployment host aliases
711 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
714 ## Envoy container resource requests and limits
715 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
716 ## ref: https://projectcontour.io/guides/resource-limits/
717 ## We usually recommend not to specify default resources and to leave this as a conscious
718 ## choice for the user. This also increases chances charts run on environments with little
719 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
720 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
721 ## @param envoy.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if envoy.resources is set (envoy.resources is recommended for production).
722 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
724 resourcesPreset: "nano"
725 ## @param envoy.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
736 ## @param envoy.command Override default command
739 ## @param envoy.args Override default args
742 ## @param envoy.shutdownManager.enabled Contour shutdownManager sidecar
743 ## @param envoy.shutdownManager.extraArgs [array] Extra arguments passed to shutdown container
744 ## @param envoy.shutdownManager.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if envoy.shutdownManager.resources is set (envoy.shutdownManager.resources is recommended for production).
745 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
746 ## @param envoy.shutdownManager.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
747 ## @param envoy.shutdownManager.containerPorts.http Specify Port for shutdown container
748 ## @param envoy.shutdownManager.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
754 resourcesPreset: "nano"
766 ## Shutdown Manager container security context
767 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
768 ## @param envoy.shutdownManager.containerSecurityContext.enabled Enabled envoy shutdownManager containers' Security Context
769 ## @param envoy.shutdownManager.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
770 ## @param envoy.shutdownManager.containerSecurityContext.runAsUser Set envoy shutdownManager containers' Security Context runAsUser
771 ## @param envoy.shutdownManager.containerSecurityContext.runAsGroup Set contour containers' Security Context runAsGroup
772 ## @param envoy.shutdownManager.containerSecurityContext.runAsNonRoot Set envoy shutdownManager containers' Security Context runAsNonRoot
773 ## @param envoy.shutdownManager.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
774 ## @param envoy.shutdownManager.containerSecurityContext.privileged Set envoy.shutdownManager container's Security Context privileged
775 ## @param envoy.shutdownManager.containerSecurityContext.allowPrivilegeEscalation Set envoy shutdownManager container's Security Context allowPrivilegeEscalation
776 ## @param envoy.shutdownManager.containerSecurityContext.capabilities.drop List of capabilities to be dropped
777 ## @param envoy.shutdownManager.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
779 containerSecurityContext:
786 allowPrivilegeEscalation: false
790 type: "RuntimeDefault"
791 readOnlyRootFilesystem: true
792 ## @param envoy.shutdownManager.livenessProbe.enabled Enable livenessProbe
793 ## @param envoy.shutdownManager.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
794 ## @param envoy.shutdownManager.livenessProbe.periodSeconds Period seconds for livenessProbe
795 ## @param envoy.shutdownManager.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
796 ## @param envoy.shutdownManager.livenessProbe.failureThreshold Failure threshold for livenessProbe
797 ## @param envoy.shutdownManager.livenessProbe.successThreshold Success threshold for livenessProbe
801 initialDelaySeconds: 120
806 ## @param envoy.shutdownManager.readinessProbe.enabled Enable/disable the readiness probe
807 ## @param envoy.shutdownManager.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
808 ## @param envoy.shutdownManager.readinessProbe.periodSeconds How often to perform the probe
809 ## @param envoy.shutdownManager.readinessProbe.timeoutSeconds When the probe times out
810 ## @param envoy.shutdownManager.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
811 ## @param envoy.shutdownManager.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
815 initialDelaySeconds: 10
820 ## @param envoy.shutdownManager.startupProbe.enabled Enable/disable the startup probe
821 ## @param envoy.shutdownManager.startupProbe.initialDelaySeconds Delay before startup probe is initiated
822 ## @param envoy.shutdownManager.startupProbe.periodSeconds How often to perform the probe
823 ## @param envoy.shutdownManager.startupProbe.timeoutSeconds When the probe times out
824 ## @param envoy.shutdownManager.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
825 ## @param envoy.shutdownManager.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
829 initialDelaySeconds: 15
834 ## @param envoy.shutdownManager.customLivenessProbe Override default liveness probe
836 customLivenessProbe: {}
837 ## @param envoy.shutdownManager.customReadinessProbe Override default readiness probe
839 customReadinessProbe: {}
840 ## @param envoy.shutdownManager.customStartupProbe Override default startup probe
842 customStartupProbe: {}
843 ## @param envoy.kind Install as deployment or daemonset
846 ## @param envoy.replicaCount Desired number of Controller pods
849 ## @param envoy.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
852 ## @param envoy.updateStrategy [object] Strategy to use to update Pods
853 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
856 ## type: RollingUpdate
859 ## maxUnavailable: 25%
863 ## @param envoy.minReadySeconds The minimum number of seconds for which a newly created Pod should be ready
866 ## @param envoy.revisionHistoryLimit The number of old history to retain to allow rollback
868 revisionHistoryLimit: 10
869 ## Controller Autoscaling configuration
870 ## @param envoy.autoscaling.enabled Enable autoscaling for Controller
871 ## @param envoy.autoscaling.minReplicas Minimum number of Controller replicas
872 ## @param envoy.autoscaling.maxReplicas Maximum number of Controller replicas
873 ## @param envoy.autoscaling.targetCPU Target CPU utilization percentage
874 ## @param envoy.autoscaling.targetMemory Target Memory utilization percentage
875 ## @param envoy.autoscaling.behavior HPA Behavior
884 ## @param envoy.podAffinityPreset Envoy Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
885 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
886 ## Allowed values: soft, hard
888 podAffinityPreset: ""
889 ## @param envoy.podAntiAffinityPreset Envoy Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
890 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
891 ## Allowed values: soft, hard
893 podAntiAffinityPreset: ""
894 ## Node affinity preset
895 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
896 ## @param envoy.nodeAffinityPreset.type Envoy Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
897 ## @param envoy.nodeAffinityPreset.key Envoy Node label key to match Ignored if `affinity` is set.
898 ## @param envoy.nodeAffinityPreset.values [array] Envoy Node label values to match. Ignored if `affinity` is set.
909 ## @param envoy.affinity [object] Affinity for Envoy pod assignment
910 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
911 ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
914 ## @param envoy.nodeSelector [object] Node labels for Envoy pod assignment
915 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
918 ## @param envoy.tolerations [array] Tolerations for Envoy pod assignment
919 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
922 ## @param envoy.podAnnotations [object] Envoy Pod annotations
923 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
926 ## @param envoy.podLabels Extra labels for Envoy pods
927 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
930 ## Pod security context
931 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
932 ## @param envoy.podSecurityContext.enabled Envoy Pod securityContext
933 ## @param envoy.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
934 ## @param envoy.podSecurityContext.supplementalGroups Set filesystem extra groups
935 ## @param envoy.podSecurityContext.fsGroup User ID for the for the mounted volumes
936 ## @param envoy.podSecurityContext.sysctls Array of sysctl options to allow
940 fsGroupChangePolicy: Always
941 supplementalGroups: []
944 ## Envoy container security context
945 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
946 ## @param envoy.containerSecurityContext.enabled Enabled envoy containers' Security Context
947 ## @param envoy.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
948 ## @param envoy.containerSecurityContext.runAsUser Set envoy containers' Security Context runAsUser
949 ## @param envoy.containerSecurityContext.runAsGroup Set envoy containers' Security Context runAsGroup
950 ## @param envoy.containerSecurityContext.runAsNonRoot Set envoy containers' Security Context runAsNonRoot
951 ## @param envoy.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
952 ## @param envoy.containerSecurityContext.privileged Set envoy container's Security Context privileged
953 ## @param envoy.containerSecurityContext.allowPrivilegeEscalation Set envoy container's Security Context allowPrivilegeEscalation
954 ## @param envoy.containerSecurityContext.capabilities.drop List of capabilities to be dropped
955 ## @param envoy.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
957 containerSecurityContext:
964 allowPrivilegeEscalation: false
968 type: "RuntimeDefault"
969 readOnlyRootFilesystem: true
970 ## @param envoy.hostNetwork Envoy Pod host network access
971 ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#host-namespaces
974 ## @param envoy.dnsPolicy Envoy Pod Dns Policy's DNS Policy
975 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
977 dnsPolicy: ClusterFirst
978 ## @param envoy.tlsExistingSecret Name of the existingSecret to be use in Envoy deployment
980 tlsExistingSecret: ""
981 ## @param envoy.serviceAccount.create Specifies whether a ServiceAccount should be created
982 ## @param envoy.serviceAccount.name The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template
983 ## @param envoy.serviceAccount.automountServiceAccountToken Whether to auto mount API credentials for a service account
984 ## @param envoy.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
985 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
990 automountServiceAccountToken: false
992 ## @param envoy.livenessProbe.enabled Enable livenessProbe
993 ## @param envoy.livenessProbe.port LivenessProbe port
994 ## @param envoy.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
995 ## @param envoy.livenessProbe.periodSeconds Period seconds for livenessProbe
996 ## @param envoy.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
997 ## @param envoy.livenessProbe.failureThreshold Failure threshold for livenessProbe
998 ## @param envoy.livenessProbe.successThreshold Success threshold for livenessProbe
1003 initialDelaySeconds: 120
1008 ## @param envoy.readinessProbe.enabled Enable/disable the readiness probe
1009 ## @param envoy.readinessProbe.port ReadinessProbe port
1010 ## @param envoy.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
1011 ## @param envoy.readinessProbe.periodSeconds How often to perform the probe
1012 ## @param envoy.readinessProbe.timeoutSeconds When the probe times out
1013 ## @param envoy.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1014 ## @param envoy.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1019 initialDelaySeconds: 10
1024 ## @param envoy.startupProbe.enabled Enable/disable the startup probe
1025 ## @param envoy.startupProbe.port StartupProbe port
1026 ## @param envoy.startupProbe.initialDelaySeconds Delay before startup probe is initiated
1027 ## @param envoy.startupProbe.periodSeconds How often to perform the probe
1028 ## @param envoy.startupProbe.timeoutSeconds When the probe times out
1029 ## @param envoy.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1030 ## @param envoy.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1035 initialDelaySeconds: 15
1040 ## @param envoy.customLivenessProbe Override default liveness probe
1042 customLivenessProbe: {}
1043 ## @param envoy.customReadinessProbe Override default readiness probe
1045 customReadinessProbe: {}
1046 ## @param envoy.customStartupProbe Override default startup probe
1048 customStartupProbe: {}
1049 ## @param envoy.terminationGracePeriodSeconds Envoy termination grace period in seconds
1051 terminationGracePeriodSeconds: 300
1052 ## @param envoy.logLevel Envoy log level
1055 ## Envoy Service properties
1058 ## @param envoy.service.name envoy service name
1061 ## The multi az feature renders multiple service, so you could attach different service provider loadbalancer to it.
1062 ## This feature is primarily used to achieve a high availability with multiple loadbalancer
1063 ## @param envoy.service.multiAz.enabled enables the rendering of the multiple services
1064 ## @param envoy.service.multiAz.zones defines different zones their annotations and loadBalancerIPs
1071 ## loadBalancerIP: "1.2.3.4"
1073 ## service.beta.kubernetes.io/loadbalancer-zone: zone1
1075 ## loadBalancerIP: "5.6.7.8"
1077 ## service.beta.kubernetes.io/loadbalancer-zone: zone2
1079 ## @param envoy.service.targetPorts [object] Map the controller service HTTP/HTTPS port
1085 ## @param envoy.service.type Type of Envoy service to create
1088 ## @param envoy.service.externalTrafficPolicy Envoy Service external cluster policy. If `envoy.service.type` is NodePort or LoadBalancer
1090 externalTrafficPolicy: Local
1091 ## @param envoy.service.labels Labels to add to te envoy service
1094 ## @param envoy.service.clusterIP Internal envoy cluster service IP
1099 ## @param envoy.service.externalIPs [array] Envoy service external IP addresses
1102 ## @param envoy.service.loadBalancerIP IP address to assign to load balancer (if supported)
1105 ## @param envoy.service.loadBalancerSourceRanges [array] List of IP CIDRs allowed access to load balancer (if supported)
1107 loadBalancerSourceRanges: []
1108 ## @param envoy.service.loadBalancerClass Envoy service Load Balancer Class
1109 ## ref https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
1111 loadBalancerClass: ""
1112 ## @param envoy.service.ipFamilyPolicy [string], support SingleStack, PreferDualStack and RequireDualStack
1115 ## @param envoy.service.ipFamilies [array] List of IP families (e.g. IPv4, IPv6) assigned to the service.
1116 ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/
1122 ## @param envoy.service.annotations [object] Annotations for Envoy service
1126 ## @param envoy.service.ports.http Sets service http port
1129 ## @param envoy.service.ports.https Sets service https port
1132 ## @param envoy.service.ports.metrics Sets service metrics port
1135 ## Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
1136 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1137 ## @param envoy.service.nodePorts.http HTTP Port. If `envoy.service.type` is NodePort and this is non-empty
1138 ## @param envoy.service.nodePorts.https HTTPS Port. If `envoy.service.type` is NodePort and this is non-empty
1139 ## @param envoy.service.nodePorts.metrics Metrics Port. If `envoy.service.type` is NodePort and this is non-empty
1145 ## @param envoy.service.extraPorts [array] Extra ports to expose (normally used with the `sidecar` value)
1146 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
1149 ## @param envoy.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
1150 ## If "ClientIP", consecutive client requests will be directed to the same Pod
1151 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
1153 sessionAffinity: None
1154 ## @param envoy.service.sessionAffinityConfig Additional settings for the sessionAffinity
1155 ## sessionAffinityConfig:
1157 ## timeoutSeconds: 300
1159 sessionAffinityConfig: {}
1160 ## @param envoy.service.exposeMetrics Setting to expose the metrics port in the service
1161 exposeMetrics: false
1163 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1166 ## @param envoy.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1169 ## @param envoy.networkPolicy.allowExternal Don't require server label for connections
1170 ## The Policy model to apply. When set to false, only pods with the correct
1171 ## server label will have network access to the ports server is listening
1172 ## on. When true, server will accept connections from any source
1173 ## (with the correct destination port).
1176 ## @param envoy.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1178 allowExternalEgress: true
1179 ## @param envoy.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1189 ## - matchExpressions:
1195 ## @param envoy.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1205 ## - matchExpressions:
1212 ## @param envoy.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1213 ## @param envoy.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1215 ingressNSMatchLabels: {}
1216 ingressNSPodMatchLabels: {}
1217 ## @param envoy.useHostPort.http Enable/disable `hostPort` for TCP/80
1218 ## @param envoy.useHostPort.https Enable/disable `hostPort` TCP/443
1219 ## @param envoy.useHostPort.metrics Enable/disable `hostPort` for TCP/8002
1225 ## @param envoy.useHostIP Enable/disable `hostIP`
1228 ## @param envoy.hostPorts.http Sets `hostPort` http port
1229 ## @param envoy.hostPorts.https Sets `hostPort` https port
1230 ## @param envoy.hostPorts.metrics Sets `hostPort` metrics port
1236 ## @param envoy.hostIPs.http Sets `hostIP` http IP
1237 ## @param envoy.hostIPs.https Sets `hostIP` https IP
1238 ## @param envoy.hostIPs.metrics Sets `hostIP` metrics IP
1244 ## Configures the ports the Envoy proxy listens on
1245 ## @param envoy.containerPorts.http Sets http port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1246 ## @param envoy.containerPorts.https Sets https port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1247 ## @param envoy.containerPorts.metrics Sets metrics port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1253 ## @param envoy.initContainers [array] Attach additional init containers to Envoy pods
1256 ## - name: your-image-name
1257 ## image: your-image
1258 ## imagePullPolicy: Always
1261 ## @param envoy.sidecars Add additional sidecar containers to the Envoy pods
1264 ## - name: your-image-name
1265 ## image: your-image
1266 ## imagePullPolicy: Always
1269 ## containerPort: 1234
1272 ## @param envoy.extraVolumes [array] Array to add extra volumes
1275 ## @param envoy.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
1277 extraVolumeMounts: []
1278 ## @param envoy.extraEnvVars [array] Array containing extra env vars to be added to all Envoy containers
1281 ## - name: MY_ENV_VAR
1282 ## value: env_var_value
1285 ## @param envoy.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Envoy containers
1288 ## @param envoy.extraEnvVarsSecret Secret containing extra env vars to be added to all Envoy containers
1290 extraEnvVarsSecret: ""
1291 ## PodDisruptionBudget for default backend
1292 ## Envoy Pod Disruption Budget configuration
1293 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1294 ## @param envoy.pdb.create Enable Pod Disruption Budget configuration
1295 ## @param envoy.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
1296 ## @param envoy.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
1302 ## Default init Containers
1304 defaultInitContainers:
1305 ## 'init-config' init container
1306 ## Bootstrap Envoy configuration so it's ready to be consumed by Envoy "main" container
1309 ## Configure "init-config" init-container Security Context
1310 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1311 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.enabled Enabled "init-config" init-containers' Security Context
1312 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in "init-config" init-containers
1313 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsUser Set runAsUser in "init-config" init-containers' Security Context
1314 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsGroup Set runAsGroup in "init-config" init-containers' Security Context
1315 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsNonRoot Set runAsNonRoot in "init-config" init-containers' Security Context
1316 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.privileged Set privileged in "init-config" init-containers' Security Context
1317 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in "init-config" init-containers' Security Context
1318 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in "init-config" init-containers' Security Context
1319 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.capabilities.drop List of capabilities to be dropped in "init-config" init-containers
1320 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.seccompProfile.type Set seccomp profile in "init-config" init-containers
1322 containerSecurityContext:
1329 readOnlyRootFilesystem: true
1330 allowPrivilegeEscalation: false
1334 type: "RuntimeDefault"
1335 ## Envoy "init-config" init container resource requests and limits
1336 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1337 ## @param envoy.defaultInitContainers.initConfig.resourcesPreset Set Envoy "init-config" init container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if envoy.defaultInitContainers.initConfig.resources is set (envoy.defaultInitContainers.initConfig.resources is recommended for production).
1338 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
1340 resourcesPreset: "nano"
1341 ## @param envoy.defaultInitContainers.initConfig.resources Set Envoy "init-config" init container requests and limits for different resources like CPU or memory (essential for production workloads)
1352## @section Gateway API parameters
1355 ## @param gatewayAPI.manageCRDs Manage the creation, upgrade and deletion of Gateway API CRDs.
1358## @section Default backend parameters
1361## Default 404 backend
1364 ## @param defaultBackend.enabled Enable a default backend based on NGINX
1367 ## Iamguarded NGINX image
1368 ## ref: https://hub.docker.com/r/iamguarded/nginx/tags/
1369 ## @param defaultBackend.image.registry [default: REGISTRY_NAME] Default backend image registry
1370 ## @param defaultBackend.image.repository [default: REPOSITORY_NAME/nginx] Default backend image name
1371 ## @skip defaultBackend.image.tag Default backend image tag
1372 ## @param defaultBackend.image.digest Default backend image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1373 ## @param defaultBackend.image.pullPolicy Image pull policy
1374 ## @param defaultBackend.image.pullSecrets [array] Specify docker-registry secret names as an array
1378 repository: chainguard-private/nginx-iamguarded
1381 ## Specify a imagePullPolicy
1382 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
1384 pullPolicy: IfNotPresent
1385 ## Optionally specify an array of imagePullSecrets.
1386 ## Secrets must be manually created in the namespace.
1387 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1390 ## - myRegistryKeySecretName
1393 ## @param defaultBackend.extraArgs [object] Additional command line arguments to pass to NGINX container
1396 ## @param defaultBackend.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
1399 ## @param defaultBackend.extraEnvVars [array] Array containing extra env vars to be added to all Contour containers
1402 ## - name: MY_ENV_VAR
1403 ## value: env_var_value
1406 ## @param defaultBackend.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Contour containers
1409 ## @param defaultBackend.extraEnvVarsSecret Secret containing extra env vars to be added to all Contour containers
1411 extraEnvVarsSecret: ""
1412 ## @param defaultBackend.extraVolumes [array] Array to add extra volumes
1415 ## @param defaultBackend.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
1417 extraVolumeMounts: []
1418 ## @param defaultBackend.initContainers [array] Attach additional init containers to the http backend pods
1421 ## - name: your-image-name
1422 ## image: your-image
1423 ## imagePullPolicy: Always
1426 ## @param defaultBackend.sidecars [array] Add additional sidecar containers to the default backend
1429 ## - name: your-image-name
1430 ## image: your-image
1431 ## imagePullPolicy: Always
1434 ## containerPort: 1234
1437 ## Configures the ports the http backend listens on
1438 ## @param defaultBackend.containerPorts.http Set http port inside Contour pod
1442 ## @param defaultBackend.updateStrategy Strategy to use to update Pods
1443 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1446 ## @param defaultBackend.command Override default command
1449 ## @param defaultBackend.args Override default args
1452 ## @param defaultBackend.hostAliases [array] Add deployment host aliases
1453 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1456 ## @param defaultBackend.replicaCount Desired number of default backend pods
1459 ## Default backend pods' Security Context
1460 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1461 ## @param defaultBackend.podSecurityContext.enabled Default backend Pod securityContext
1462 ## @param defaultBackend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1463 ## @param defaultBackend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1464 ## @param defaultBackend.podSecurityContext.supplementalGroups Set filesystem extra groups
1465 ## @param defaultBackend.podSecurityContext.fsGroup Set Default backend Pod's Security Context fsGroup
1469 fsGroupChangePolicy: Always
1471 supplementalGroups: []
1473 ## Default backend containers' Security Context (only main container)
1474 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1475 ## @param defaultBackend.containerSecurityContext.enabled Enabled defaultBackend containers' Security Context
1476 ## @param defaultBackend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1477 ## @param defaultBackend.containerSecurityContext.runAsUser Set defaultBackend containers' Security Context runAsUser
1478 ## @param defaultBackend.containerSecurityContext.runAsGroup Set defaultBackend containers' Security Context runAsGroup
1479 ## @param defaultBackend.containerSecurityContext.runAsNonRoot Set defaultBackend containers' Security Context runAsNonRoot
1480 ## @param defaultBackend.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
1481 ## @param defaultBackend.containerSecurityContext.privileged Set defaultBackend container's Security Context privileged
1482 ## @param defaultBackend.containerSecurityContext.allowPrivilegeEscalation Set defaultBackend container's Security Context allowPrivilegeEscalation
1483 ## @param defaultBackend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1484 ## @param defaultBackend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1486 containerSecurityContext:
1493 allowPrivilegeEscalation: false
1497 type: "RuntimeDefault"
1498 readOnlyRootFilesystem: true
1499 ## Default backend containers' resource requests and limits
1500 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1501 ## We usually recommend not to specify default resources and to leave this as a conscious
1502 ## choice for the user. This also increases chances charts run on environments with little
1503 ## resources, such as Minikube.
1504 ## @param defaultBackend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if defaultBackend.resources is set (defaultBackend.resources is recommended for production).
1505 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
1507 resourcesPreset: "nano"
1508 ## @param defaultBackend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1519 ## Default backend containers' liveness probe. Evaluated as a template.
1520 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
1521 ## @param defaultBackend.livenessProbe.enabled Enable livenessProbe
1522 ## @param defaultBackend.livenessProbe.httpGet [object] Path, port and scheme for the livenessProbe
1523 ## @param defaultBackend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1524 ## @param defaultBackend.livenessProbe.periodSeconds Period seconds for livenessProbe
1525 ## @param defaultBackend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1526 ## @param defaultBackend.livenessProbe.failureThreshold Failure threshold for livenessProbe
1527 ## @param defaultBackend.livenessProbe.successThreshold Success threshold for livenessProbe
1532 initialDelaySeconds: 30
1536 ## Default backend containers' readiness probe. Evaluated as a template.
1537 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
1538 ## @param defaultBackend.readinessProbe.enabled Enable readinessProbe
1539 ## @param defaultBackend.readinessProbe.httpGet [object] Path, port and scheme for the readinessProbe
1540 ## @param defaultBackend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1541 ## @param defaultBackend.readinessProbe.periodSeconds Period seconds for readinessProbe
1542 ## @param defaultBackend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1543 ## @param defaultBackend.readinessProbe.failureThreshold Failure threshold for readinessProbe
1544 ## @param defaultBackend.readinessProbe.successThreshold Success threshold for readinessProbe
1549 initialDelaySeconds: 0
1553 ## @param defaultBackend.startupProbe.enabled Enable/disable the startup probe
1554 ## @param defaultBackend.startupProbe.initialDelaySeconds Delay before startup probe is initiated
1555 ## @param defaultBackend.startupProbe.periodSeconds How often to perform the probe
1556 ## @param defaultBackend.startupProbe.timeoutSeconds When the probe times out
1557 ## @param defaultBackend.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1558 ## @param defaultBackend.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1562 initialDelaySeconds: 15
1567 ## @param defaultBackend.customLivenessProbe [object] Override default liveness probe, it overrides the default one (evaluated as a template)
1569 customLivenessProbe: {}
1570 ## @param defaultBackend.customReadinessProbe [object] Override default readiness probe, it overrides the default one (evaluated as a template)
1572 customReadinessProbe: {}
1573 ## @param defaultBackend.customStartupProbe Override default startup probe
1575 customStartupProbe: {}
1576 ## @param defaultBackend.podLabels [object] Extra labels for Controller pods
1577 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1580 ## @param defaultBackend.podAnnotations [object] Annotations for Controller pods
1581 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1584 ## @param defaultBackend.priorityClassName Priority class assigned to the pods
1585 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
1587 priorityClassName: ""
1588 ## @param defaultBackend.schedulerName Name of the k8s scheduler (other than default)
1589 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1592 ## @param defaultBackend.terminationGracePeriodSeconds In seconds, time the given to the default backend pod needs to terminate gracefully
1593 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1595 terminationGracePeriodSeconds: 60
1596 ## @param defaultBackend.topologySpreadConstraints Topology Spread Constraints for pod assignment
1597 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
1598 ## The value is evaluated as a template
1600 topologySpreadConstraints: []
1601 ## @param defaultBackend.podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1602 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1603 ## Allowed values: soft, hard
1605 podAffinityPreset: ""
1606 ## @param defaultBackend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1607 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1608 ## Allowed values: soft, hard
1610 podAntiAffinityPreset: soft
1611 ## Node affinity preset
1612 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1613 ## @param defaultBackend.nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1614 ## @param defaultBackend.nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set.
1615 ## @param defaultBackend.nodeAffinityPreset.values [array] Node label values to match. Ignored if `affinity` is set.
1626 ## @param defaultBackend.affinity [object] Affinity for pod assignment. Evaluated as a template.
1627 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1628 ## Note: defaultBackend.podAffinityPreset, defaultBackend.podAntiAffinityPreset, and defaultBackend.nodeAffinityPreset will be ignored when it's set
1631 ## @param defaultBackend.nodeSelector [object] Node labels for pod assignment. Evaluated as a template.
1632 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1635 ## @param defaultBackend.tolerations [array] Tolerations for pod assignment. Evaluated as a template.
1636 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1639 ## Default backend Service parameters
1640 ## @param defaultBackend.service.type Service type
1641 ## @param defaultBackend.service.ports.http Service port
1642 ## @param defaultBackend.service.annotations Annotations to add to the service
1650 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1653 ## @param defaultBackend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1656 ## @param defaultBackend.networkPolicy.allowExternal Don't require server label for connections
1657 ## The Policy model to apply. When set to false, only pods with the correct
1658 ## server label will have network access to the ports server is listening
1659 ## on. When true, server will accept connections from any source
1660 ## (with the correct destination port).
1663 ## @param defaultBackend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1665 allowExternalEgress: true
1666 ## @param defaultBackend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1676 ## - matchExpressions:
1682 ## @param defaultBackend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1692 ## - matchExpressions:
1699 ## @param defaultBackend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1700 ## @param defaultBackend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1702 ingressNSMatchLabels: {}
1703 ingressNSPodMatchLabels: {}
1704 ## PodDisruptionBudget for default backend
1705 ## Default backend Pod Disruption Budget configuration
1706 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1707 ## @param defaultBackend.pdb.create Enable Pod Disruption Budget configuration
1708 ## @param defaultBackend.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
1709 ## @param defaultBackend.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
1715## Ingress parameters
1718 ## @param ingress.enabled Ingress configuration enabled
1719 ## Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1724 ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
1727 ## @param ingress.certManager Add annotations for cert-manager
1730 ## @param ingress.annotations Annotations to be added to the web ingress.
1732 ## kubernetes.io/ingress.class: nginx
1733 ## kubernetes.io/tls-acme: 'true'
1736 ## Either `hosts` or `rulesOverride` must be provided if Ingress is enabled.
1737 ## `hosts` sets up the Ingress with default rules per provided hostname.
1738 ## @param ingress.hostname Hostname for the Ingress object
1740 hostname: contour.local
1741 ## @param ingress.path The Path to Concourse
1744 ## @param ingress.rulesOverride Ingress rules override
1745 ## Either `hosts` or `rulesOverride` must be provided if Ingress is enabled.
1746 ## `rulesOverride` allows the user to define the full set of ingress rules, for more complex Ingress setups.
1749 ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1752 ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1754 ingressClassName: ""
1755 ## @param ingress.extraPaths Add additional arbitrary paths that may need to be added to the ingress under the main host.
1756 ## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
1759 ## @param ingress.tls TLS configuration.
1760 ## Secrets must be manually created in the namespace.
1762 ## - secretName: concourse-web-tls
1764 ## - concourse.domain.com
1767 ## @param ingress.pathType Ingress Path type
1769 pathType: ImplementationSpecific
1770 ## @param ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
1771 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
1773 ## - name: concourse.local
1777 ## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
1778 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1781 ## - concourse.local
1782 ## secretName: concourse.local-tls
1785 ## @param ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
1786 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
1787 ## -----BEGIN RSA PRIVATE KEY-----
1789 ## name should line up with a tlsSecret set further up
1790 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
1792 ## It is also possible to create and manage the certificates outside of this helm chart
1793 ## Please see README.md for more information
1795 ## - name: concourse.local-tls
1800 ## @param ingress.extraRules Additional rules to be covered with this ingress record
1801 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
1804 ## - host: example.local
1809 ## name: example-svc
1814## @section Metrics parameters
1817 ## Prometheus Operator service monitors
1820 ## @param metrics.serviceMonitor.namespace Specify if the servicemonitors will be deployed into a different namespace (blank deploys into same namespace as chart)
1823 ## @param metrics.serviceMonitor.enabled Specify if a servicemonitor will be deployed for prometheus-operator.
1826 ## @param metrics.serviceMonitor.jobLabel Specify the jobLabel to use for the prometheus-operator
1828 jobLabel: "app.kubernetes.io/name"
1829 ## @param metrics.serviceMonitor.interval Specify the scrape interval if not specified use default prometheus scrapeIntervall, the Prometheus default scrape interval is used.
1832 ## @param metrics.serviceMonitor.metricRelabelings [array] Specify additional relabeling of metrics.
1834 metricRelabelings: []
1835 ## @param metrics.serviceMonitor.relabelings [array] Specify general relabeling.
1838 ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
1841 ## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended
1844 ## @param metrics.serviceMonitor.selector Specify honorLabels parameter to add the scrape endpoint
1847 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
1850 ## Prometheus Operator prometheusRules
1853 ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule
1856 ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
1859 ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
1861 additionalLabels: {}
1862 ## @param metrics.prometheusRule.rules Prometheus Rule definitions
1865## @section Other parameters
1868## @param rbac.create Create the RBAC roles for API accessibility
1872 ## @param rbac.rules [array] Custom RBAC rules to set
1884## @param tlsExistingSecret Name of the existingSecret to be use in both contour and envoy. If it is not nil `contour.certgen` will be disabled.
1886tlsExistingSecret: ""
1887## @param useCertManager Use Cert-manager instead of Contour certgen to issue certificates for TLS connection between Contour and Envoy.
1888useCertManager: false