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.useImageTags Pull every image by tag and ignore all image digests, including digests set in values. Use this when your registry mirror does not have the chart's default image digests.
18## @param global.imagePullSecrets [array] Global Docker registry secret names as an array
19## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
20## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
27 ## - myRegistryKeySecretName
30 defaultStorageClass: ""
32 ## Security parameters
35 ## @param global.security.allowInsecureImages Allows skipping image verification
36 allowInsecureImages: false
37 ## Compatibility adaptations for Kubernetes platforms
40 ## Compatibility adaptations for Openshift
43 ## @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)
45 adaptSecurityContext: auto
47## @section Common parameters
50## @param nameOverride String to partially override contour.fullname include (will maintain the release name)
53## @param fullnameOverride String to fully override contour.fullname template
56## @param namespaceOverride String to fully override common.names.namespace
59## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
62## @param extraDeploy [array] Array of extra objects to deploy with the release
65## @param commonLabels Labels to add to all deployed objects
68## @param commonAnnotations Annotations to add to all deployed objects
71## Diagnostic mode in the deployment
74 ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
77 ## @param diagnosticMode.command [array] Command to override all containers in the deployment
81 ## @param diagnosticMode.args [array] Args to override all containers in the deployment
85## @section Contour parameters
88## To configure Contour, you must specify ONE of the following two options.
89## @param existingConfigMap Specifies the name of an externally-defined ConfigMap to use as the configuration (this is mutually exclusive with `configInline`)
90## Helm will not manage the contents of this ConfigMap, it is your responsibility to create it.
92## existingConfigMap: contour
95## @param configInline [object] Specifies Contour's configuration directly in YAML format
96## When configInline is used, Helm manages Contour's configuration ConfigMap as
97## part of the release, and existingConfigMap is ignored.
98## Refer to https://projectcontour.io/docs/latest/configuration for available options.
101 disablePermitInsecure: false
103 fallback-certificate: {}
104 accesslog-format: envoy
106 ## @param contour.enabled Contour Deployment creation.
109 ## @param contour.image.registry [default: REGISTRY_NAME] Contour image registry
110 ## @param contour.image.repository [default: REPOSITORY_NAME/contour] Contour image name
111 ## @skip contour.image.tag Contour image tag
112 ## @param contour.image.digest Contour image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
113 ## @param contour.image.pullPolicy Contour Image pull policy
114 ## @param contour.image.pullSecrets [array] Contour Image pull secrets
115 ## @param contour.image.debug Enable image debug mode
119 repository: chainguard-private/contour-iamguarded
122 ## Specify a imagePullPolicy
123 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
125 pullPolicy: IfNotPresent
126 ## Optionally specify an array of imagePullSecrets.
127 ## Secrets must be manually created in the namespace.
128 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
131 ## - myRegistryKeySecretName
135 ## @param contour.contourConfigName Contour Deployment with ContourConfiguration CRD.
137 contourConfigName: "contour"
138 ## @param contour.configPath Contour Deployment with configmap.
141 ## @param contour.replicaCount Number of Contour Pod replicas
144 ## @param contour.priorityClassName Priority class assigned to the pods
145 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
147 priorityClassName: ""
148 ## @param contour.schedulerName Name of the k8s scheduler (other than default)
149 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
152 ## @param contour.terminationGracePeriodSeconds In seconds, time the given to the Contour pod needs to terminate gracefully
153 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
155 terminationGracePeriodSeconds: ""
156 ## @param contour.topologySpreadConstraints Topology Spread Constraints for pod assignment
157 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
158 ## The value is evaluated as a template
160 topologySpreadConstraints: []
161 ## Configures the ports the Envoy proxy listens on
162 ## @param contour.containerPorts.xds Set xds port inside Contour pod
163 ## @param contour.containerPorts.metrics Set metrics port inside Contour pod
168 ## @param contour.automountServiceAccountToken Mount Service Account token in pod
170 automountServiceAccountToken: true
171 ## @param contour.hostAliases [array] Add deployment host aliases
172 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
175 ## @param contour.updateStrategy Strategy to use to update Pods
176 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
179 ## @param contour.extraArgs [array] Extra arguments passed to Contour container
182 ## Contour container resource requests and limits
183 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
184 ## ref: https://projectcontour.io/guides/resource-limits/
185 ## We usually recommend not to specify default resources and to leave this as a conscious
186 ## choice for the user. This also increases chances charts run on environments with little
187 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
188 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
189 ## @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).
190 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
192 resourcesPreset: "nano"
193 ## @param contour.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
204 ## @param contour.manageCRDs Manage the creation, upgrade and deletion of Contour CRDs.
207 ## @param contour.envoyServiceNamespace Namespace of the envoy service to inspect for Ingress status details.
209 envoyServiceNamespace: ""
210 ## Name of the envoy service to inspect for Ingress status details.
211 ## @param contour.envoyServiceName DEPRECATED: use envoy.service.name
214 ## @param contour.leaderElectionResourceName Name of the contour (Lease) leader election will lease.
216 leaderElectionResourceName: ""
217 ## @param contour.ingressStatusAddress Address to set in Ingress object status. It is exclusive with `envoyServiceName` and `envoyServiceNamespace`.
219 ingressStatusAddress: ""
220 ## @param contour.podAffinityPreset Contour Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
221 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
223 podAffinityPreset: ""
224 ## @param contour.podAntiAffinityPreset Contour Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
225 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
227 podAntiAffinityPreset: soft
228 ## @param contour.podLabels [object] Extra labels for Contour pods
229 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
232 ## @param contour.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
235 ## @param contour.customLivenessProbe Override default liveness probe
237 customLivenessProbe: {}
238 ## @param contour.customReadinessProbe Override default readiness probe
240 customReadinessProbe: {}
241 ## @param contour.customStartupProbe Override default startup probe
243 customStartupProbe: {}
244 ## Node affinity preset
245 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
246 ## @param contour.nodeAffinityPreset.type Contour Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
247 ## @param contour.nodeAffinityPreset.key Contour Node label key to match Ignored if `affinity` is set.
248 ## @param contour.nodeAffinityPreset.values [array] Contour Node label values to match. Ignored if `affinity` is set.
253 ## key: "kubernetes.io/e2e-az-name"
262 ## @param contour.command Override default command
265 ## @param contour.args Override default args
268 ## @param contour.affinity [object] Affinity for Contour pod assignment
269 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
270 ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
273 ## @param contour.nodeSelector [object] Node labels for Contour pod assignment
274 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
277 ## @param contour.tolerations [array] Tolerations for Contour pod assignment
278 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
281 ## @param contour.podAnnotations [object] Contour Pod annotations
282 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
285 ## @param contour.serviceAccount.create Create a serviceAccount for the Contour pod
286 ## @param contour.serviceAccount.name Use the serviceAccount with the specified name, a name is generated using the fullname template
287 ## @param contour.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
288 ## @param contour.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
293 automountServiceAccountToken: false
295 ## Contour Security Context
296 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
297 ## @param contour.podSecurityContext.enabled Default backend Pod securityContext
298 ## @param contour.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
299 ## @param contour.podSecurityContext.sysctls Set kernel settings using the sysctl interface
300 ## @param contour.podSecurityContext.supplementalGroups Set filesystem extra groups
301 ## @param contour.podSecurityContext.fsGroup Set Default backend Pod's Security Context fsGroup
305 fsGroupChangePolicy: Always
307 supplementalGroups: []
309 ## Envoy container security context
310 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
311 ## @param contour.containerSecurityContext.enabled Enabled contour containers' Security Context
312 ## @param contour.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
313 ## @param contour.containerSecurityContext.runAsUser Set contour containers' Security Context runAsUser
314 ## @param contour.containerSecurityContext.runAsGroup Set contour containers' Security Context runAsGroup
315 ## @param contour.containerSecurityContext.runAsNonRoot Set contour containers' Security Context runAsNonRoot
316 ## @param contour.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
317 ## @param contour.containerSecurityContext.privileged Set contour container's Security Context privileged
318 ## @param contour.containerSecurityContext.allowPrivilegeEscalation Set contour container's Security Context allowPrivilegeEscalation
319 ## @param contour.containerSecurityContext.capabilities.drop List of capabilities to be dropped
320 ## @param contour.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
322 containerSecurityContext:
329 allowPrivilegeEscalation: false
333 type: "RuntimeDefault"
334 readOnlyRootFilesystem: true
335 ## @param contour.livenessProbe.enabled Enable/disable the Liveness probe
336 ## @param contour.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated
337 ## @param contour.livenessProbe.periodSeconds How often to perform the probe
338 ## @param contour.livenessProbe.timeoutSeconds When the probe times out
339 ## @param contour.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
340 ## @param contour.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
344 initialDelaySeconds: 120
349 ## @param contour.readinessProbe.enabled Enable/disable the readiness probe
350 ## @param contour.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
351 ## @param contour.readinessProbe.periodSeconds How often to perform the probe
352 ## @param contour.readinessProbe.timeoutSeconds When the probe times out
353 ## @param contour.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
354 ## @param contour.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
358 initialDelaySeconds: 15
363 ## @param contour.startupProbe.enabled Enable/disable the startup probe
364 ## @param contour.startupProbe.initialDelaySeconds Delay before startup probe is initiated
365 ## @param contour.startupProbe.periodSeconds How often to perform the probe
366 ## @param contour.startupProbe.timeoutSeconds When the probe times out
367 ## @param contour.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
368 ## @param contour.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
372 initialDelaySeconds: 15
377 ## Contour certgen configs
380 ## @param contour.certgen.serviceAccount.create Create a serviceAccount for the Contour pod
381 ## @param contour.certgen.serviceAccount.name Use the serviceAccount with the specified name, a name is generated using the fullname template
382 ## @param contour.certgen.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
383 ## @param contour.certgen.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
388 automountServiceAccountToken: false
390 ## @param contour.certgen.certificateLifetime Generated certificate lifetime (in days).
392 certificateLifetime: 365
393 ## @param contour.certgen.automountServiceAccountToken Mount Service Account token in pod
395 automountServiceAccountToken: true
397 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
400 ## @param contour.certgen.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
403 ## @param contour.certgen.networkPolicy.allowExternal Don't require server label for connections
404 ## The Policy model to apply. When set to false, only pods with the correct
405 ## server label will have network access to the ports server is listening
406 ## on. When true, server will accept connections from any source
407 ## (with the correct destination port).
410 ## @param contour.certgen.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
412 allowExternalEgress: true
413 ## @param contour.certgen.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
415 kubeAPIServerPorts: [443, 6443, 8443]
416 ## @param contour.certgen.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
426 ## - matchExpressions:
432 ## @param contour.certgen.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
442 ## - matchExpressions:
449 ## @param contour.certgen.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
450 ## @param contour.certgen.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
452 ingressNSMatchLabels: {}
453 ingressNSPodMatchLabels: {}
454 ## @param contour.tlsExistingSecret Name of the existingSecret to be use in Contour deployment. If it is not nil `contour.certgen` will be disabled.
455 ## It will override `tlsExistingSecret`
457 tlsExistingSecret: ""
458 ## Contour Service properties
459 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
462 ## @param contour.service.type Service type
465 ## @param contour.service.ports.xds Contour service xds port
466 ## @param contour.service.ports.metrics Contour service xds port
471 ## Node ports to expose
472 ## @param contour.service.nodePorts.xds Node port for HTTP
473 ## NOTE: choose port between <30000-32767>
477 ## @param contour.service.clusterIP Contour service Cluster IP
482 ## @param contour.service.loadBalancerIP Contour service Load Balancer IP
483 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
486 ## @param contour.service.loadBalancerSourceRanges Contour service Load Balancer sources
487 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
489 ## loadBalancerSourceRanges:
492 loadBalancerSourceRanges: []
493 ## @param contour.service.loadBalancerClass Contour service Load Balancer Class
494 ## ref https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
496 loadBalancerClass: ""
497 ## @param contour.service.externalTrafficPolicy Contour service external traffic policy
498 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
500 externalTrafficPolicy: Cluster
501 ## @param contour.service.annotations Additional custom annotations for Contour service
504 ## @param contour.service.extraPorts Extra port to expose on Contour service
507 ## @param contour.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
508 ## If "ClientIP", consecutive client requests will be directed to the same Pod
509 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
511 sessionAffinity: None
512 ## @param contour.service.sessionAffinityConfig Additional settings for the sessionAffinity
513 ## sessionAffinityConfig:
515 ## timeoutSeconds: 300
517 sessionAffinityConfig: {}
519 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
522 ## @param contour.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
525 ## @param contour.networkPolicy.allowExternal Don't require server label for connections
526 ## The Policy model to apply. When set to false, only pods with the correct
527 ## server label will have network access to the ports server is listening
528 ## on. When true, server will accept connections from any source
529 ## (with the correct destination port).
532 ## @param contour.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
534 allowExternalEgress: true
535 ## @param contour.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
537 kubeAPIServerPorts: [443, 6443, 8443]
538 ## @param contour.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
548 ## - matchExpressions:
554 ## @param contour.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
564 ## - matchExpressions:
571 ## @param contour.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
572 ## @param contour.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
574 ingressNSMatchLabels: {}
575 ingressNSPodMatchLabels: {}
576 ## @param contour.initContainers [array] Attach additional init containers to Contour pods
579 ## - name: your-image-name
581 ## imagePullPolicy: Always
584 ## @param contour.sidecars [array] Add additional sidecar containers to the Contour pods
587 ## - name: your-image-name
589 ## imagePullPolicy: Always
592 ## containerPort: 1234
595 ## @param contour.extraVolumes [array] Array to add extra volumes
598 ## @param contour.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
600 extraVolumeMounts: []
601 ## @param contour.extraEnvVars [array] Array containing extra env vars to be added to all Contour containers
604 ## - name: MY_ENV_VAR
605 ## value: env_var_value
608 ## @param contour.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Contour containers
611 ## @param contour.extraEnvVarsSecret Secret containing extra env vars to be added to all Contour containers
613 extraEnvVarsSecret: ""
614 ## @param contour.ingressClass.name Name of the ingress class to route through this controller.
615 ## @param contour.ingressClass.create Whether to create or not the IngressClass resource
616 ## @param contour.ingressClass.default Mark IngressClass resource as default for cluster
618 ## DEPRECATED: Use a map instead
619 ## You can use the the 'contour.ingressClass' as a string to indicate the ingress
620 ## class name. This will skip the creation of an IngressClass resource.
622 ## ingressClass: contour
628 ## @param contour.debug Enable Contour debug log level
631 ## @param contour.logFormat Set contour log-format. Default text, either text or json.
634 ## @param contour.kubernetesDebug Contour kubernetes debug log level, Default 0, minimum 0, maximum 9.
637 ## @param contour.rootNamespaces Restrict Contour to searching these namespaces for root ingress routes.
640 ## Exposes configuration of Envoy's Overload Manager through Contour's bootstrapping process
641 ## When 95% of max heap size is reached for an Envoy, "shrink heap" operation is triggered.
642 ## When 98% of max heap size is reached for an Envoy, it no longer accepts requests.
643 ## https://projectcontour.io/docs/main/config/overload-manager/
644 ## @param contour.overloadManager.enabled Enable Overload Manager
645 ## @param contour.overloadManager.maxHeapBytes Overload Manager's maximum heap size in bytes
649 maxHeapBytes: "2147483648"
650 ## PodDisruptionBudget for default backend
651 ## Contour Pod Disruption Budget configuration
652 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
653 ## @param contour.pdb.create Enable Pod Disruption Budget configuration
654 ## @param contour.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
655 ## @param contour.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
661## @section Envoy parameters
664 ## @param envoy.enabled Envoy Proxy creation
667 ## Iamguarded Envoy image
668 ## ref: https://hub.docker.com/r/iamguarded/envoy/tags/
669 ## @param envoy.image.registry [default: REGISTRY_NAME] Envoy Proxy image registry
670 ## @param envoy.image.repository [default: REPOSITORY_NAME/envoy] Envoy Proxy image repository
671 ## @skip envoy.image.tag Envoy Proxy image tag (immutable tags are recommended)
672 ## @param envoy.image.digest Envoy Proxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
673 ## @param envoy.image.pullPolicy Envoy image pull policy
674 ## @param envoy.image.pullSecrets [array] Envoy image pull secrets
678 repository: chainguard-private/envoy-iamguarded
681 ## Specify a imagePullPolicy
682 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
684 pullPolicy: IfNotPresent
685 ## Optionally specify an array of imagePullSecrets.
686 ## Secrets must be manually created in the namespace.
687 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
690 ## - myRegistryKeySecretName
693 ## @param envoy.priorityClassName Priority class assigned to the pods
694 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
696 priorityClassName: ""
697 ## @param envoy.schedulerName Name of the k8s scheduler (other than default)
698 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
701 ## @param envoy.topologySpreadConstraints Topology Spread Constraints for pod assignment
702 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
703 ## The value is evaluated as a template
705 topologySpreadConstraints: []
706 ## @param envoy.extraArgs [array] Extra arguments passed to Envoy container
709 ## @param envoy.automountServiceAccountToken Mount Service Account token in pod
711 automountServiceAccountToken: false
712 ## @param envoy.hostAliases [array] Add deployment host aliases
713 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
716 ## Envoy container resource requests and limits
717 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
718 ## ref: https://projectcontour.io/guides/resource-limits/
719 ## We usually recommend not to specify default resources and to leave this as a conscious
720 ## choice for the user. This also increases chances charts run on environments with little
721 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
722 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
723 ## @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).
724 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
726 resourcesPreset: "nano"
727 ## @param envoy.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
738 ## @param envoy.command Override default command
741 ## @param envoy.args Override default args
744 ## @param envoy.shutdownManager.enabled Contour shutdownManager sidecar
745 ## @param envoy.shutdownManager.extraArgs [array] Extra arguments passed to shutdown container
746 ## @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).
747 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
748 ## @param envoy.shutdownManager.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
749 ## @param envoy.shutdownManager.containerPorts.http Specify Port for shutdown container
750 ## @param envoy.shutdownManager.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
756 resourcesPreset: "nano"
768 ## Shutdown Manager container security context
769 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
770 ## @param envoy.shutdownManager.containerSecurityContext.enabled Enabled envoy shutdownManager containers' Security Context
771 ## @param envoy.shutdownManager.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
772 ## @param envoy.shutdownManager.containerSecurityContext.runAsUser Set envoy shutdownManager containers' Security Context runAsUser
773 ## @param envoy.shutdownManager.containerSecurityContext.runAsGroup Set contour containers' Security Context runAsGroup
774 ## @param envoy.shutdownManager.containerSecurityContext.runAsNonRoot Set envoy shutdownManager containers' Security Context runAsNonRoot
775 ## @param envoy.shutdownManager.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
776 ## @param envoy.shutdownManager.containerSecurityContext.privileged Set envoy.shutdownManager container's Security Context privileged
777 ## @param envoy.shutdownManager.containerSecurityContext.allowPrivilegeEscalation Set envoy shutdownManager container's Security Context allowPrivilegeEscalation
778 ## @param envoy.shutdownManager.containerSecurityContext.capabilities.drop List of capabilities to be dropped
779 ## @param envoy.shutdownManager.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
781 containerSecurityContext:
788 allowPrivilegeEscalation: false
792 type: "RuntimeDefault"
793 readOnlyRootFilesystem: true
794 ## @param envoy.shutdownManager.livenessProbe.enabled Enable livenessProbe
795 ## @param envoy.shutdownManager.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
796 ## @param envoy.shutdownManager.livenessProbe.periodSeconds Period seconds for livenessProbe
797 ## @param envoy.shutdownManager.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
798 ## @param envoy.shutdownManager.livenessProbe.failureThreshold Failure threshold for livenessProbe
799 ## @param envoy.shutdownManager.livenessProbe.successThreshold Success threshold for livenessProbe
803 initialDelaySeconds: 120
808 ## @param envoy.shutdownManager.readinessProbe.enabled Enable/disable the readiness probe
809 ## @param envoy.shutdownManager.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
810 ## @param envoy.shutdownManager.readinessProbe.periodSeconds How often to perform the probe
811 ## @param envoy.shutdownManager.readinessProbe.timeoutSeconds When the probe times out
812 ## @param envoy.shutdownManager.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
813 ## @param envoy.shutdownManager.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
817 initialDelaySeconds: 10
822 ## @param envoy.shutdownManager.startupProbe.enabled Enable/disable the startup probe
823 ## @param envoy.shutdownManager.startupProbe.initialDelaySeconds Delay before startup probe is initiated
824 ## @param envoy.shutdownManager.startupProbe.periodSeconds How often to perform the probe
825 ## @param envoy.shutdownManager.startupProbe.timeoutSeconds When the probe times out
826 ## @param envoy.shutdownManager.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
827 ## @param envoy.shutdownManager.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
831 initialDelaySeconds: 15
836 ## @param envoy.shutdownManager.customLivenessProbe Override default liveness probe
838 customLivenessProbe: {}
839 ## @param envoy.shutdownManager.customReadinessProbe Override default readiness probe
841 customReadinessProbe: {}
842 ## @param envoy.shutdownManager.customStartupProbe Override default startup probe
844 customStartupProbe: {}
845 ## @param envoy.kind Install as deployment or daemonset
848 ## @param envoy.replicaCount Desired number of Controller pods
851 ## @param envoy.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
854 ## @param envoy.updateStrategy [object] Strategy to use to update Pods
855 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
858 ## type: RollingUpdate
861 ## maxUnavailable: 25%
865 ## @param envoy.minReadySeconds The minimum number of seconds for which a newly created Pod should be ready
868 ## @param envoy.revisionHistoryLimit The number of old history to retain to allow rollback
870 revisionHistoryLimit: 10
871 ## Controller Autoscaling configuration
872 ## @param envoy.autoscaling.enabled Enable autoscaling for Controller
873 ## @param envoy.autoscaling.minReplicas Minimum number of Controller replicas
874 ## @param envoy.autoscaling.maxReplicas Maximum number of Controller replicas
875 ## @param envoy.autoscaling.targetCPU Target CPU utilization percentage
876 ## @param envoy.autoscaling.targetMemory Target Memory utilization percentage
877 ## @param envoy.autoscaling.behavior HPA Behavior
886 ## @param envoy.podAffinityPreset Envoy Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
887 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
888 ## Allowed values: soft, hard
890 podAffinityPreset: ""
891 ## @param envoy.podAntiAffinityPreset Envoy Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
892 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
893 ## Allowed values: soft, hard
895 podAntiAffinityPreset: ""
896 ## Node affinity preset
897 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
898 ## @param envoy.nodeAffinityPreset.type Envoy Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
899 ## @param envoy.nodeAffinityPreset.key Envoy Node label key to match Ignored if `affinity` is set.
900 ## @param envoy.nodeAffinityPreset.values [array] Envoy Node label values to match. Ignored if `affinity` is set.
911 ## @param envoy.affinity [object] Affinity for Envoy pod assignment
912 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
913 ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
916 ## @param envoy.nodeSelector [object] Node labels for Envoy pod assignment
917 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
920 ## @param envoy.tolerations [array] Tolerations for Envoy pod assignment
921 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
924 ## @param envoy.podAnnotations [object] Envoy Pod annotations
925 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
928 ## @param envoy.podLabels Extra labels for Envoy pods
929 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
932 ## Pod security context
933 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
934 ## @param envoy.podSecurityContext.enabled Envoy Pod securityContext
935 ## @param envoy.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
936 ## @param envoy.podSecurityContext.supplementalGroups Set filesystem extra groups
937 ## @param envoy.podSecurityContext.fsGroup User ID for the for the mounted volumes
938 ## @param envoy.podSecurityContext.sysctls Array of sysctl options to allow
942 fsGroupChangePolicy: Always
943 supplementalGroups: []
946 ## Envoy container security context
947 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
948 ## @param envoy.containerSecurityContext.enabled Enabled envoy containers' Security Context
949 ## @param envoy.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
950 ## @param envoy.containerSecurityContext.runAsUser Set envoy containers' Security Context runAsUser
951 ## @param envoy.containerSecurityContext.runAsGroup Set envoy containers' Security Context runAsGroup
952 ## @param envoy.containerSecurityContext.runAsNonRoot Set envoy containers' Security Context runAsNonRoot
953 ## @param envoy.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
954 ## @param envoy.containerSecurityContext.privileged Set envoy container's Security Context privileged
955 ## @param envoy.containerSecurityContext.allowPrivilegeEscalation Set envoy container's Security Context allowPrivilegeEscalation
956 ## @param envoy.containerSecurityContext.capabilities.drop List of capabilities to be dropped
957 ## @param envoy.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
959 containerSecurityContext:
966 allowPrivilegeEscalation: false
970 type: "RuntimeDefault"
971 readOnlyRootFilesystem: true
972 ## @param envoy.hostNetwork Envoy Pod host network access
973 ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#host-namespaces
976 ## @param envoy.dnsPolicy Envoy Pod Dns Policy's DNS Policy
977 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
979 dnsPolicy: ClusterFirst
980 ## @param envoy.tlsExistingSecret Name of the existingSecret to be use in Envoy deployment
982 tlsExistingSecret: ""
983 ## @param envoy.serviceAccount.create Specifies whether a ServiceAccount should be created
984 ## @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
985 ## @param envoy.serviceAccount.automountServiceAccountToken Whether to auto mount API credentials for a service account
986 ## @param envoy.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
987 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server
992 automountServiceAccountToken: false
994 ## @param envoy.livenessProbe.enabled Enable livenessProbe
995 ## @param envoy.livenessProbe.port LivenessProbe port
996 ## @param envoy.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
997 ## @param envoy.livenessProbe.periodSeconds Period seconds for livenessProbe
998 ## @param envoy.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
999 ## @param envoy.livenessProbe.failureThreshold Failure threshold for livenessProbe
1000 ## @param envoy.livenessProbe.successThreshold Success threshold for livenessProbe
1005 initialDelaySeconds: 120
1010 ## @param envoy.readinessProbe.enabled Enable/disable the readiness probe
1011 ## @param envoy.readinessProbe.port ReadinessProbe port
1012 ## @param envoy.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
1013 ## @param envoy.readinessProbe.periodSeconds How often to perform the probe
1014 ## @param envoy.readinessProbe.timeoutSeconds When the probe times out
1015 ## @param envoy.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1016 ## @param envoy.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1021 initialDelaySeconds: 10
1026 ## @param envoy.startupProbe.enabled Enable/disable the startup probe
1027 ## @param envoy.startupProbe.port StartupProbe port
1028 ## @param envoy.startupProbe.initialDelaySeconds Delay before startup probe is initiated
1029 ## @param envoy.startupProbe.periodSeconds How often to perform the probe
1030 ## @param envoy.startupProbe.timeoutSeconds When the probe times out
1031 ## @param envoy.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1032 ## @param envoy.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1037 initialDelaySeconds: 15
1042 ## @param envoy.customLivenessProbe Override default liveness probe
1044 customLivenessProbe: {}
1045 ## @param envoy.customReadinessProbe Override default readiness probe
1047 customReadinessProbe: {}
1048 ## @param envoy.customStartupProbe Override default startup probe
1050 customStartupProbe: {}
1051 ## @param envoy.terminationGracePeriodSeconds Envoy termination grace period in seconds
1053 terminationGracePeriodSeconds: 300
1054 ## @param envoy.logLevel Envoy log level
1057 ## Envoy Service properties
1060 ## @param envoy.service.name envoy service name
1063 ## The multi az feature renders multiple service, so you could attach different service provider loadbalancer to it.
1064 ## This feature is primarily used to achieve a high availability with multiple loadbalancer
1065 ## @param envoy.service.multiAz.enabled enables the rendering of the multiple services
1066 ## @param envoy.service.multiAz.zones defines different zones their annotations and loadBalancerIPs
1073 ## loadBalancerIP: "1.2.3.4"
1075 ## service.beta.kubernetes.io/loadbalancer-zone: zone1
1077 ## loadBalancerIP: "5.6.7.8"
1079 ## service.beta.kubernetes.io/loadbalancer-zone: zone2
1081 ## @param envoy.service.targetPorts [object] Map the controller service HTTP/HTTPS port
1087 ## @param envoy.service.type Type of Envoy service to create
1090 ## @param envoy.service.externalTrafficPolicy Envoy Service external cluster policy. If `envoy.service.type` is NodePort or LoadBalancer
1092 externalTrafficPolicy: Local
1093 ## @param envoy.service.labels Labels to add to te envoy service
1096 ## @param envoy.service.clusterIP Internal envoy cluster service IP
1101 ## @param envoy.service.externalIPs [array] Envoy service external IP addresses
1104 ## @param envoy.service.loadBalancerIP IP address to assign to load balancer (if supported)
1107 ## @param envoy.service.loadBalancerSourceRanges [array] List of IP CIDRs allowed access to load balancer (if supported)
1109 loadBalancerSourceRanges: []
1110 ## @param envoy.service.loadBalancerClass Envoy service Load Balancer Class
1111 ## ref https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class
1113 loadBalancerClass: ""
1114 ## @param envoy.service.ipFamilyPolicy [string], support SingleStack, PreferDualStack and RequireDualStack
1117 ## @param envoy.service.ipFamilies [array] List of IP families (e.g. IPv4, IPv6) assigned to the service.
1118 ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/
1124 ## @param envoy.service.annotations [object] Annotations for Envoy service
1128 ## @param envoy.service.ports.http Sets service http port
1131 ## @param envoy.service.ports.https Sets service https port
1134 ## @param envoy.service.ports.metrics Sets service metrics port
1137 ## Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
1138 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1139 ## @param envoy.service.nodePorts.http HTTP Port. If `envoy.service.type` is NodePort and this is non-empty
1140 ## @param envoy.service.nodePorts.https HTTPS Port. If `envoy.service.type` is NodePort and this is non-empty
1141 ## @param envoy.service.nodePorts.metrics Metrics Port. If `envoy.service.type` is NodePort and this is non-empty
1147 ## @param envoy.service.extraPorts [array] Extra ports to expose (normally used with the `sidecar` value)
1148 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
1151 ## @param envoy.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
1152 ## If "ClientIP", consecutive client requests will be directed to the same Pod
1153 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
1155 sessionAffinity: None
1156 ## @param envoy.service.sessionAffinityConfig Additional settings for the sessionAffinity
1157 ## sessionAffinityConfig:
1159 ## timeoutSeconds: 300
1161 sessionAffinityConfig: {}
1162 ## @param envoy.service.exposeMetrics Setting to expose the metrics port in the service
1163 exposeMetrics: false
1165 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1168 ## @param envoy.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1171 ## @param envoy.networkPolicy.allowExternal Don't require server label for connections
1172 ## The Policy model to apply. When set to false, only pods with the correct
1173 ## server label will have network access to the ports server is listening
1174 ## on. When true, server will accept connections from any source
1175 ## (with the correct destination port).
1178 ## @param envoy.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1180 allowExternalEgress: true
1181 ## @param envoy.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1191 ## - matchExpressions:
1197 ## @param envoy.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1207 ## - matchExpressions:
1214 ## @param envoy.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1215 ## @param envoy.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1217 ingressNSMatchLabels: {}
1218 ingressNSPodMatchLabels: {}
1219 ## @param envoy.useHostPort.http Enable/disable `hostPort` for TCP/80
1220 ## @param envoy.useHostPort.https Enable/disable `hostPort` TCP/443
1221 ## @param envoy.useHostPort.metrics Enable/disable `hostPort` for TCP/8002
1227 ## @param envoy.useHostIP Enable/disable `hostIP`
1230 ## @param envoy.hostPorts.http Sets `hostPort` http port
1231 ## @param envoy.hostPorts.https Sets `hostPort` https port
1232 ## @param envoy.hostPorts.metrics Sets `hostPort` metrics port
1238 ## @param envoy.hostIPs.http Sets `hostIP` http IP
1239 ## @param envoy.hostIPs.https Sets `hostIP` https IP
1240 ## @param envoy.hostIPs.metrics Sets `hostIP` metrics IP
1246 ## Configures the ports the Envoy proxy listens on
1247 ## @param envoy.containerPorts.http Sets http port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1248 ## @param envoy.containerPorts.https Sets https port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1249 ## @param envoy.containerPorts.metrics Sets metrics port inside Envoy pod (change this to >1024 to run envoy as a non-root user)
1255 ## @param envoy.initContainers [array] Attach additional init containers to Envoy pods
1258 ## - name: your-image-name
1259 ## image: your-image
1260 ## imagePullPolicy: Always
1263 ## @param envoy.sidecars Add additional sidecar containers to the Envoy pods
1266 ## - name: your-image-name
1267 ## image: your-image
1268 ## imagePullPolicy: Always
1271 ## containerPort: 1234
1274 ## @param envoy.extraVolumes [array] Array to add extra volumes
1277 ## @param envoy.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
1279 extraVolumeMounts: []
1280 ## @param envoy.extraEnvVars [array] Array containing extra env vars to be added to all Envoy containers
1283 ## - name: MY_ENV_VAR
1284 ## value: env_var_value
1287 ## @param envoy.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Envoy containers
1290 ## @param envoy.extraEnvVarsSecret Secret containing extra env vars to be added to all Envoy containers
1292 extraEnvVarsSecret: ""
1293 ## PodDisruptionBudget for default backend
1294 ## Envoy Pod Disruption Budget configuration
1295 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1296 ## @param envoy.pdb.create Enable Pod Disruption Budget configuration
1297 ## @param envoy.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
1298 ## @param envoy.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
1304 ## Default init Containers
1306 defaultInitContainers:
1307 ## 'init-config' init container
1308 ## Bootstrap Envoy configuration so it's ready to be consumed by Envoy "main" container
1311 ## Configure "init-config" init-container Security Context
1312 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1313 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.enabled Enabled "init-config" init-containers' Security Context
1314 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in "init-config" init-containers
1315 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsUser Set runAsUser in "init-config" init-containers' Security Context
1316 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsGroup Set runAsGroup in "init-config" init-containers' Security Context
1317 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.runAsNonRoot Set runAsNonRoot in "init-config" init-containers' Security Context
1318 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.privileged Set privileged in "init-config" init-containers' Security Context
1319 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in "init-config" init-containers' Security Context
1320 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in "init-config" init-containers' Security Context
1321 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.capabilities.drop List of capabilities to be dropped in "init-config" init-containers
1322 ## @param envoy.defaultInitContainers.initConfig.containerSecurityContext.seccompProfile.type Set seccomp profile in "init-config" init-containers
1324 containerSecurityContext:
1331 readOnlyRootFilesystem: true
1332 allowPrivilegeEscalation: false
1336 type: "RuntimeDefault"
1337 ## Envoy "init-config" init container resource requests and limits
1338 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1339 ## @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).
1340 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
1342 resourcesPreset: "nano"
1343 ## @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)
1354## @section Gateway API parameters
1357 ## @param gatewayAPI.manageCRDs Manage the creation, upgrade and deletion of Gateway API CRDs.
1360## @section Default backend parameters
1363## Default 404 backend
1366 ## @param defaultBackend.enabled Enable a default backend based on NGINX
1369 ## Iamguarded NGINX image
1370 ## ref: https://hub.docker.com/r/iamguarded/nginx/tags/
1371 ## @param defaultBackend.image.registry [default: REGISTRY_NAME] Default backend image registry
1372 ## @param defaultBackend.image.repository [default: REPOSITORY_NAME/nginx] Default backend image name
1373 ## @skip defaultBackend.image.tag Default backend image tag
1374 ## @param defaultBackend.image.digest Default backend image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
1375 ## @param defaultBackend.image.pullPolicy Image pull policy
1376 ## @param defaultBackend.image.pullSecrets [array] Specify docker-registry secret names as an array
1380 repository: chainguard-private/nginx-iamguarded
1383 ## Specify a imagePullPolicy
1384 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
1386 pullPolicy: IfNotPresent
1387 ## Optionally specify an array of imagePullSecrets.
1388 ## Secrets must be manually created in the namespace.
1389 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
1392 ## - myRegistryKeySecretName
1395 ## @param defaultBackend.extraArgs [object] Additional command line arguments to pass to NGINX container
1398 ## @param defaultBackend.lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
1401 ## @param defaultBackend.extraEnvVars [array] Array containing extra env vars to be added to all Contour containers
1404 ## - name: MY_ENV_VAR
1405 ## value: env_var_value
1408 ## @param defaultBackend.extraEnvVarsCM ConfigMap containing extra env vars to be added to all Contour containers
1411 ## @param defaultBackend.extraEnvVarsSecret Secret containing extra env vars to be added to all Contour containers
1413 extraEnvVarsSecret: ""
1414 ## @param defaultBackend.extraVolumes [array] Array to add extra volumes
1417 ## @param defaultBackend.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
1419 extraVolumeMounts: []
1420 ## @param defaultBackend.initContainers [array] Attach additional init containers to the http backend pods
1423 ## - name: your-image-name
1424 ## image: your-image
1425 ## imagePullPolicy: Always
1428 ## @param defaultBackend.sidecars [array] Add additional sidecar containers to the default backend
1431 ## - name: your-image-name
1432 ## image: your-image
1433 ## imagePullPolicy: Always
1436 ## containerPort: 1234
1439 ## Configures the ports the http backend listens on
1440 ## @param defaultBackend.containerPorts.http Set http port inside Contour pod
1444 ## @param defaultBackend.updateStrategy Strategy to use to update Pods
1445 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1448 ## @param defaultBackend.command Override default command
1451 ## @param defaultBackend.args Override default args
1454 ## @param defaultBackend.hostAliases [array] Add deployment host aliases
1455 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1458 ## @param defaultBackend.replicaCount Desired number of default backend pods
1461 ## Default backend pods' Security Context
1462 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1463 ## @param defaultBackend.podSecurityContext.enabled Default backend Pod securityContext
1464 ## @param defaultBackend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1465 ## @param defaultBackend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1466 ## @param defaultBackend.podSecurityContext.supplementalGroups Set filesystem extra groups
1467 ## @param defaultBackend.podSecurityContext.fsGroup Set Default backend Pod's Security Context fsGroup
1471 fsGroupChangePolicy: Always
1473 supplementalGroups: []
1475 ## Default backend containers' Security Context (only main container)
1476 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1477 ## @param defaultBackend.containerSecurityContext.enabled Enabled defaultBackend containers' Security Context
1478 ## @param defaultBackend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1479 ## @param defaultBackend.containerSecurityContext.runAsUser Set defaultBackend containers' Security Context runAsUser
1480 ## @param defaultBackend.containerSecurityContext.runAsGroup Set defaultBackend containers' Security Context runAsGroup
1481 ## @param defaultBackend.containerSecurityContext.runAsNonRoot Set defaultBackend containers' Security Context runAsNonRoot
1482 ## @param defaultBackend.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
1483 ## @param defaultBackend.containerSecurityContext.privileged Set defaultBackend container's Security Context privileged
1484 ## @param defaultBackend.containerSecurityContext.allowPrivilegeEscalation Set defaultBackend container's Security Context allowPrivilegeEscalation
1485 ## @param defaultBackend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1486 ## @param defaultBackend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1488 containerSecurityContext:
1495 allowPrivilegeEscalation: false
1499 type: "RuntimeDefault"
1500 readOnlyRootFilesystem: true
1501 ## Default backend containers' resource requests and limits
1502 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1503 ## We usually recommend not to specify default resources and to leave this as a conscious
1504 ## choice for the user. This also increases chances charts run on environments with little
1505 ## resources, such as Minikube.
1506 ## @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).
1507 ## More information: https://github.com/iamguarded/charts/blob/main/iamguarded/common/templates/_resources.tpl#L15
1509 resourcesPreset: "nano"
1510 ## @param defaultBackend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1521 ## Default backend containers' liveness probe. Evaluated as a template.
1522 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
1523 ## @param defaultBackend.livenessProbe.enabled Enable livenessProbe
1524 ## @param defaultBackend.livenessProbe.httpGet [object] Path, port and scheme for the livenessProbe
1525 ## @param defaultBackend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1526 ## @param defaultBackend.livenessProbe.periodSeconds Period seconds for livenessProbe
1527 ## @param defaultBackend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1528 ## @param defaultBackend.livenessProbe.failureThreshold Failure threshold for livenessProbe
1529 ## @param defaultBackend.livenessProbe.successThreshold Success threshold for livenessProbe
1534 initialDelaySeconds: 30
1538 ## Default backend containers' readiness probe. Evaluated as a template.
1539 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
1540 ## @param defaultBackend.readinessProbe.enabled Enable readinessProbe
1541 ## @param defaultBackend.readinessProbe.httpGet [object] Path, port and scheme for the readinessProbe
1542 ## @param defaultBackend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1543 ## @param defaultBackend.readinessProbe.periodSeconds Period seconds for readinessProbe
1544 ## @param defaultBackend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1545 ## @param defaultBackend.readinessProbe.failureThreshold Failure threshold for readinessProbe
1546 ## @param defaultBackend.readinessProbe.successThreshold Success threshold for readinessProbe
1551 initialDelaySeconds: 0
1555 ## @param defaultBackend.startupProbe.enabled Enable/disable the startup probe
1556 ## @param defaultBackend.startupProbe.initialDelaySeconds Delay before startup probe is initiated
1557 ## @param defaultBackend.startupProbe.periodSeconds How often to perform the probe
1558 ## @param defaultBackend.startupProbe.timeoutSeconds When the probe times out
1559 ## @param defaultBackend.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded.
1560 ## @param defaultBackend.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed.
1564 initialDelaySeconds: 15
1569 ## @param defaultBackend.customLivenessProbe [object] Override default liveness probe, it overrides the default one (evaluated as a template)
1571 customLivenessProbe: {}
1572 ## @param defaultBackend.customReadinessProbe [object] Override default readiness probe, it overrides the default one (evaluated as a template)
1574 customReadinessProbe: {}
1575 ## @param defaultBackend.customStartupProbe Override default startup probe
1577 customStartupProbe: {}
1578 ## @param defaultBackend.podLabels [object] Extra labels for Controller pods
1579 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1582 ## @param defaultBackend.podAnnotations [object] Annotations for Controller pods
1583 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1586 ## @param defaultBackend.priorityClassName Priority class assigned to the pods
1587 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
1589 priorityClassName: ""
1590 ## @param defaultBackend.schedulerName Name of the k8s scheduler (other than default)
1591 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1594 ## @param defaultBackend.terminationGracePeriodSeconds In seconds, time the given to the default backend pod needs to terminate gracefully
1595 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1597 terminationGracePeriodSeconds: 60
1598 ## @param defaultBackend.topologySpreadConstraints Topology Spread Constraints for pod assignment
1599 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
1600 ## The value is evaluated as a template
1602 topologySpreadConstraints: []
1603 ## @param defaultBackend.podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1604 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1605 ## Allowed values: soft, hard
1607 podAffinityPreset: ""
1608 ## @param defaultBackend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1609 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1610 ## Allowed values: soft, hard
1612 podAntiAffinityPreset: soft
1613 ## Node affinity preset
1614 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1615 ## @param defaultBackend.nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
1616 ## @param defaultBackend.nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set.
1617 ## @param defaultBackend.nodeAffinityPreset.values [array] Node label values to match. Ignored if `affinity` is set.
1628 ## @param defaultBackend.affinity [object] Affinity for pod assignment. Evaluated as a template.
1629 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1630 ## Note: defaultBackend.podAffinityPreset, defaultBackend.podAntiAffinityPreset, and defaultBackend.nodeAffinityPreset will be ignored when it's set
1633 ## @param defaultBackend.nodeSelector [object] Node labels for pod assignment. Evaluated as a template.
1634 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1637 ## @param defaultBackend.tolerations [array] Tolerations for pod assignment. Evaluated as a template.
1638 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1641 ## Default backend Service parameters
1642 ## @param defaultBackend.service.type Service type
1643 ## @param defaultBackend.service.ports.http Service port
1644 ## @param defaultBackend.service.annotations Annotations to add to the service
1652 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1655 ## @param defaultBackend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1658 ## @param defaultBackend.networkPolicy.allowExternal Don't require server label for connections
1659 ## The Policy model to apply. When set to false, only pods with the correct
1660 ## server label will have network access to the ports server is listening
1661 ## on. When true, server will accept connections from any source
1662 ## (with the correct destination port).
1665 ## @param defaultBackend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1667 allowExternalEgress: true
1668 ## @param defaultBackend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1678 ## - matchExpressions:
1684 ## @param defaultBackend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1694 ## - matchExpressions:
1701 ## @param defaultBackend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1702 ## @param defaultBackend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1704 ingressNSMatchLabels: {}
1705 ingressNSPodMatchLabels: {}
1706 ## PodDisruptionBudget for default backend
1707 ## Default backend Pod Disruption Budget configuration
1708 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1709 ## @param defaultBackend.pdb.create Enable Pod Disruption Budget configuration
1710 ## @param defaultBackend.pdb.minAvailable Minimum number/percentage of Default backend pods that should remain scheduled
1711 ## @param defaultBackend.pdb.maxUnavailable Maximum number/percentage of Default backend pods that should remain scheduled
1717## Ingress parameters
1720 ## @param ingress.enabled Ingress configuration enabled
1721 ## Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1726 ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
1729 ## @param ingress.certManager Add annotations for cert-manager
1732 ## @param ingress.annotations Annotations to be added to the web ingress.
1734 ## kubernetes.io/ingress.class: nginx
1735 ## kubernetes.io/tls-acme: 'true'
1738 ## Either `hosts` or `rulesOverride` must be provided if Ingress is enabled.
1739 ## `hosts` sets up the Ingress with default rules per provided hostname.
1740 ## @param ingress.hostname Hostname for the Ingress object
1742 hostname: contour.local
1743 ## @param ingress.path The Path to Concourse
1746 ## @param ingress.rulesOverride Ingress rules override
1747 ## Either `hosts` or `rulesOverride` must be provided if Ingress is enabled.
1748 ## `rulesOverride` allows the user to define the full set of ingress rules, for more complex Ingress setups.
1751 ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1754 ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1756 ingressClassName: ""
1757 ## @param ingress.extraPaths Add additional arbitrary paths that may need to be added to the ingress under the main host.
1758 ## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
1761 ## @param ingress.tls TLS configuration.
1762 ## Secrets must be manually created in the namespace.
1764 ## - secretName: concourse-web-tls
1766 ## - concourse.domain.com
1769 ## @param ingress.pathType Ingress Path type
1771 pathType: ImplementationSpecific
1772 ## @param ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
1773 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
1775 ## - name: concourse.local
1779 ## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
1780 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1783 ## - concourse.local
1784 ## secretName: concourse.local-tls
1787 ## @param ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
1788 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
1789 ## -----BEGIN RSA PRIVATE KEY-----
1791 ## name should line up with a tlsSecret set further up
1792 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
1794 ## It is also possible to create and manage the certificates outside of this helm chart
1795 ## Please see README.md for more information
1797 ## - name: concourse.local-tls
1802 ## @param ingress.extraRules Additional rules to be covered with this ingress record
1803 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
1806 ## - host: example.local
1811 ## name: example-svc
1816## @section Metrics parameters
1819 ## Prometheus Operator service monitors
1822 ## @param metrics.serviceMonitor.namespace Specify if the servicemonitors will be deployed into a different namespace (blank deploys into same namespace as chart)
1825 ## @param metrics.serviceMonitor.enabled Specify if a servicemonitor will be deployed for prometheus-operator.
1828 ## @param metrics.serviceMonitor.jobLabel Specify the jobLabel to use for the prometheus-operator
1830 jobLabel: "app.kubernetes.io/name"
1831 ## @param metrics.serviceMonitor.interval Specify the scrape interval if not specified use default prometheus scrapeIntervall, the Prometheus default scrape interval is used.
1834 ## @param metrics.serviceMonitor.metricRelabelings [array] Specify additional relabeling of metrics.
1836 metricRelabelings: []
1837 ## @param metrics.serviceMonitor.relabelings [array] Specify general relabeling.
1840 ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
1843 ## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended
1846 ## @param metrics.serviceMonitor.selector Specify honorLabels parameter to add the scrape endpoint
1849 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
1852 ## Prometheus Operator prometheusRules
1855 ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule
1858 ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
1861 ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
1863 additionalLabels: {}
1864 ## @param metrics.prometheusRule.rules Prometheus Rule definitions
1867## @section Other parameters
1870## @param rbac.create Create the RBAC roles for API accessibility
1874 ## @param rbac.rules [array] Custom RBAC rules to set
1886## @param tlsExistingSecret Name of the existingSecret to be use in both contour and envoy. If it is not nil `contour.certgen` will be disabled.
1888tlsExistingSecret: ""
1889## @param useCertManager Use Cert-manager instead of Contour certgen to issue certificates for TLS connection between Contour and Envoy.
1890useCertManager: false