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## Global Docker image parameters
11## Please, note that this will override the image parameters, including dependencies, configured to use the global value
12## Current available global Docker image parameters: imageRegistry and imagePullSecrets
13## @section Global parameters
14## @param global.imageRegistry Global Docker image registry
15## @param global.imagePullSecrets Global Docker registry secret names as an array
16## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
17## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
22 defaultStorageClass: ""
24 ## Security parameters
27 ## @param global.security.allowInsecureImages Allows skipping image verification
28 allowInsecureImages: false
29 ## Compatibility adaptations for Kubernetes platforms
32 ## Compatibility adaptations for Openshift
35 ## @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)
37 adaptSecurityContext: auto
39## @section Common parameters
41## @param kubeVersion Override Kubernetes version
44## @param nameOverride String to partially override common.names.fullname
47## @param fullnameOverride String to fully override common.names.fullname
50## @param commonLabels Labels to add to all deployed objects
53## @param commonAnnotations Annotations to add to all deployed objects
56## @param extraDeploy Array of extra objects to deploy with the release
59## @param logLevel Set up cert-manager log level
62## @param clusterResourceNamespace Namespace used to store DNS provider credentials etc. for ClusterIssuer resources. If empty, uses the namespace where the controller is deployed.
64clusterResourceNamespace: ""
65## @param leaderElection.namespace Namespace which leaderElection works.
68 namespace: "kube-system"
69## @param installCRDs Flag to install cert-manager CRDs
72## @param replicaCount Number of cert-manager replicas
75## @section Controller deployment parameters
77## Controller deployment parameters
80 ## @param controller.replicaCount Number of Controller replicas
83 ## Iamguarded cert-manager image
84 ## @param controller.image.registry [default: REGISTRY_NAME] Controller image registry
85 ## @param controller.image.repository [default: REPOSITORY_NAME/cert-manager] Controller image repository
86 ## @skip controller.image.tag Controller image tag (immutable tags are recommended)
87 ## @param controller.image.digest Controller image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
88 ## @param controller.image.pullPolicy Controller image pull policy
89 ## @param controller.image.pullSecrets Controller image pull secrets
90 ## @param controller.image.debug Controller image debug mode
94 repository: chainguard-private/cert-manager-controller-iamguarded
97 ## Specify a imagePullPolicy
98 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
101 pullPolicy: IfNotPresent
102 ## Optionally specify an array of imagePullSecrets.
103 ## Secrets must be manually created in the namespace.
104 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
107 ## - myRegistryKeySecretName
110 ## Set to true if you would like to see extra information on logs
114 ## @param controller.acmesolver.image.registry [default: REGISTRY_NAME] Controller image registry
115 ## @param controller.acmesolver.image.repository [default: REPOSITORY_NAME/acmesolver] Controller image repository
116 ## @skip controller.acmesolver.image.tag Controller image tag (immutable tags are recommended)
117 ## @param controller.acmesolver.image.digest Controller image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
118 ## @param controller.acmesolver.image.pullPolicy Controller image pull policy
119 ## @param controller.acmesolver.image.pullSecrets Controller image pull secrets
120 ## @param controller.acmesolver.image.debug Controller image debug mode
124 repository: chainguard-private/cert-manager-acmesolver-iamguarded
127 ## Specify a imagePullPolicy
128 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
130 pullPolicy: IfNotPresent
131 ## Optionally specify an array of imagePullSecrets.
132 ## Secrets must be manually created in the namespace.
133 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
136 ## - myRegistryKeySecretName
139 ## Set to true if you would like to see extra information on logs
142 ## Controller containers' resource requests and limits
143 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
144 ## @param controller.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if controller.resources is set (controller.resources is recommended for production).
146 resourcesPreset: "nano"
147 ## @param controller.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
158 ## controller pods' Security Context
159 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
160 ## @param controller.podSecurityContext.enabled Enabled Controller pods' Security Context
161 ## @param controller.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
162 ## @param controller.podSecurityContext.sysctls Set kernel settings using the sysctl interface
163 ## @param controller.podSecurityContext.supplementalGroups Set filesystem extra groups
164 ## @param controller.podSecurityContext.fsGroup Set Controller pod's Security Context fsGroup
168 fsGroupChangePolicy: Always
170 supplementalGroups: []
172 ## controller containers' Security Context
173 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
174 ## @param controller.containerSecurityContext.enabled Enabled controller containers' Security Context
175 ## @param controller.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
176 ## @param controller.containerSecurityContext.runAsUser Set controller containers' Security Context runAsUser
177 ## @param controller.containerSecurityContext.runAsGroup Set controller containers' Security Context runAsGroup
178 ## @param controller.containerSecurityContext.runAsNonRoot Set controller containers' Security Context runAsNonRoot
179 ## @param controller.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
180 ## @param controller.containerSecurityContext.privileged Set controller container's Security Context privileged
181 ## @param controller.containerSecurityContext.allowPrivilegeEscalation Set controller container's Security Context allowPrivilegeEscalation
182 ## @param controller.containerSecurityContext.capabilities.drop List of capabilities to be dropped
183 ## @param controller.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
185 containerSecurityContext:
192 allowPrivilegeEscalation: false
196 type: "RuntimeDefault"
197 readOnlyRootFilesystem: true
198 ## @param controller.podAffinityPreset Pod affinity preset. Ignored if `controller.affinity` is set. Allowed values: `soft` or `hard`
199 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
201 podAffinityPreset: ""
202 ## @param controller.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `controller.affinity` is set. Allowed values: `soft` or `hard`
203 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
205 podAntiAffinityPreset: soft
206 ## Node affinity preset
207 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
208 ## @param controller.nodeAffinityPreset.type Node affinity preset type. Ignored if `controller.affinity` is set. Allowed values: `soft` or `hard`
209 ## @param controller.nodeAffinityPreset.key Node label key to match. Ignored if `controller.affinity` is set
210 ## @param controller.nodeAffinityPreset.values Node label values to match. Ignored if `controller.affinity` is set
221 ## @param controller.affinity Affinity for cert-manager Controller
222 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
223 ## NOTE: `controller.podAffinityPreset`, `controller.podAntiAffinityPreset`, and `controller.nodeAffinityPreset` will be ignored when it's set
226 ## @param controller.nodeSelector Node labels for pod assignment
227 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
230 ## Controller Container port
231 ## @param controller.containerPorts.http Controller HTTP container port
232 ## @param controller.containerPorts.health Controller Health container port
237 ## @param controller.command Override Controller default command
240 ## @param controller.args Override Controller default args
243 ## @param controller.priorityClassName Controller pod priority class name
245 priorityClassName: ""
246 ## @param controller.runtimeClassName Name of the runtime class to be used by pod(s)
247 ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
250 ## @param controller.schedulerName Name of the k8s scheduler (other than default)
251 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
254 ## @param controller.topologySpreadConstraints Topology Spread Constraints for pod assignment
255 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
256 ## The value is evaluated as a template
258 topologySpreadConstraints: []
259 ## @param controller.automountServiceAccountToken Mount Service Account token in pod
261 automountServiceAccountToken: true
262 ## @param controller.hostAliases Custom host aliases for Controller pods
263 ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
266 ## @param controller.tolerations Tolerations for pod assignment
267 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
270 ## @param controller.podLabels Extra labels for Controller pods
271 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
274 ## @param controller.podAnnotations Annotations for Controller pods
275 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
278 ## @param controller.dnsPolicy Controller pod DNS policy
279 ## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
282 ## @param controller.dnsConfig Controller pod DNS config. Required if `controller.dnsPolicy` is set to `None`
283 ## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
290 ## @param controller.lifecycleHooks Add lifecycle hooks to the Controller deployment
293 ## @param controller.updateStrategy.type Controller deployment update strategy
294 ## @param controller.updateStrategy.rollingUpdate Controller deployment rolling update configuration parameters
299 ## @param controller.extraArgs Extra arguments to pass to the Controller container
306 ## @param controller.extraEnvVars Add extra environment variables to the Controller container
313 ## @param controller.extraEnvVarsCM Name of existing ConfigMap containing extra env vars
316 ## @param controller.extraEnvVarsSecret Name of existing Secret containing extra env vars
318 extraEnvVarsSecret: ""
319 ## @param controller.extraVolumes Optionally specify extra list of additional volumes for Controller pods
322 ## @param controller.extraVolumeMounts Optionally specify extra list of additional volumeMounts for Controller container(s)
324 extraVolumeMounts: []
325 ## @param controller.initContainers Add additional init containers to the Controller pods
326 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
329 ## - name: your-image-name
331 ## imagePullPolicy: Always
334 ## containerPort: 1234
337 ## @param controller.sidecars Add additional sidecar containers to the Controller pod
340 ## - name: your-image-name
342 ## imagePullPolicy: Always
345 ## containerPort: 1234
348 ## @param controller.livenessProbe.enabled Enable livenessProbe
349 ## @param controller.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
350 ## @param controller.livenessProbe.periodSeconds Period seconds for livenessProbe
351 ## @param controller.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
352 ## @param controller.livenessProbe.failureThreshold Failure threshold for livenessProbe
353 ## @param controller.livenessProbe.successThreshold Success threshold for livenessProbe
357 initialDelaySeconds: 60
362 ## @param controller.readinessProbe.enabled Enable readinessProbe
363 ## @param controller.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
364 ## @param controller.readinessProbe.periodSeconds Period seconds for readinessProbe
365 ## @param controller.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
366 ## @param controller.readinessProbe.failureThreshold Failure threshold for readinessProbe
367 ## @param controller.readinessProbe.successThreshold Success threshold for readinessProbe
371 initialDelaySeconds: 5
376 ## @param controller.startupProbe.enabled Enable startupProbe
377 ## @param controller.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
378 ## @param controller.startupProbe.periodSeconds Period seconds for startupProbe
379 ## @param controller.startupProbe.timeoutSeconds Timeout seconds for startupProbe
380 ## @param controller.startupProbe.failureThreshold Failure threshold for startupProbe
381 ## @param controller.startupProbe.successThreshold Success threshold for startupProbe
385 initialDelaySeconds: 5
390 ## Custom Startup probes for controller
391 ## @param controller.customStartupProbe Override default startup probe
393 customStartupProbe: {}
394 ## Custom Liveness probes for controller
395 ## @param controller.customLivenessProbe Override default liveness probe
397 customLivenessProbe: {}
398 ## Custom Rediness probes controller
399 ## @param controller.customReadinessProbe Override default readiness probe
401 customReadinessProbe: {}
402 ## ServiceAccount configuration
405 ## @param controller.serviceAccount.create Specifies whether a ServiceAccount should be created
408 ## @param controller.serviceAccount.name The name of the ServiceAccount to use.
409 ## If not set and create is true, a name is generated using the common.names.fullname template
412 ## @param controller.serviceAccount.annotations Additional custom annotations for the ServiceAccount
415 ## @param controller.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
417 automountServiceAccountToken: false
418 ## Controller Network Policies
419 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
422 ## @param controller.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
425 ## @param controller.networkPolicy.allowExternal Don't require client label for connections
426 ## The Policy model to apply. When set to false, only pods with the correct
427 ## client label will have network access to the ports Cert Manager Controller is listening
428 ## on. When true, Cert Manager Controller will accept connections from any source
429 ## (with the correct destination port).
432 ## @param controller.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
434 allowExternalEgress: true
435 ## @param controller.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
437 kubeAPIServerPorts: [443, 6443, 8443]
438 ## @param controller.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
448 ## - matchExpressions:
454 ## @param controller.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
464 ## - matchExpressions:
471 ## @param controller.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
472 ## @param controller.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
474 ingressNSMatchLabels: {}
475 ingressNSPodMatchLabels: {}
476 ## @param controller.pdb.create Enable/disable a Pod Disruption Budget creation
477 ## @param controller.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
478 ## @param controller.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `controller.pdb.minAvailable` and `controller.pdb.maxUnavailable` are empty.
484## @section Webhook deployment parameters
486## Webhook deployment parameters
489 ## @param webhook.replicaCount Number of Webhook replicas
492 ## Iamguarded cert-manager Webhook image
493 ## @param webhook.image.registry [default: REGISTRY_NAME] Webhook image registry
494 ## @param webhook.image.repository [default: REPOSITORY_NAME/cert-manager-webhook] Webhook image repository
495 ## @skip webhook.image.tag Webhook image tag (immutable tags are recommended)
496 ## @param webhook.image.digest Webhook image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
497 ## @param webhook.image.pullPolicy Webhook image pull policy
498 ## @param webhook.image.pullSecrets Webhook image pull secrets
499 ## @param webhook.image.debug Webhook image debug mode
503 repository: chainguard-private/cert-manager-webhook-iamguarded
506 ## Specify a imagePullPolicy
507 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
509 pullPolicy: IfNotPresent
510 ## Optionally specify an array of imagePullSecrets.
511 ## Secrets must be manually created in the namespace.
512 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
515 ## - myRegistryKeySecretName
518 ## Set to true if you would like to see extra information on logs
521 ## @param webhook.timeoutSeconds [default: 30] How many seconds the webhook should wait for a response before timing out
522 ## ref: https://cert-manager.io/docs/troubleshooting/webhook/#error-context-deadline-exceeded
523 ## Default value is configured to 30 seconds (the maximum value allowed by Kubernetes)
526 ## Webhook containers' resource requests and limits
527 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
528 ## @param webhook.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if controller.resources is set (controller.resources is recommended for production).
530 resourcesPreset: "nano"
531 ## @param webhook.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
542 ## webhook pods' Security Context
543 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
544 ## @param webhook.podSecurityContext.enabled Enabled Webhook pods' Security Context
545 ## @param webhook.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
546 ## @param webhook.podSecurityContext.sysctls Set kernel settings using the sysctl interface
547 ## @param webhook.podSecurityContext.supplementalGroups Set filesystem extra groups
548 ## @param webhook.podSecurityContext.fsGroup Set Webhook pod's Security Context fsGroup
552 fsGroupChangePolicy: Always
554 supplementalGroups: []
556 ## webhook containers' Security Context
557 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
558 ## @param webhook.containerSecurityContext.enabled Enabled webhook containers' Security Context
559 ## @param webhook.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
560 ## @param webhook.containerSecurityContext.runAsUser Set webhook containers' Security Context runAsUser
561 ## @param webhook.containerSecurityContext.runAsGroup Set webhook containers' Security Context runAsGroup
562 ## @param webhook.containerSecurityContext.runAsNonRoot Set webhook containers' Security Context runAsNonRoot
563 ## @param webhook.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
564 ## @param webhook.containerSecurityContext.privileged Set webhook container's Security Context privileged
565 ## @param webhook.containerSecurityContext.allowPrivilegeEscalation Set webhook container's Security Context allowPrivilegeEscalation
566 ## @param webhook.containerSecurityContext.capabilities.drop List of capabilities to be dropped
567 ## @param webhook.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
569 containerSecurityContext:
576 allowPrivilegeEscalation: false
580 type: "RuntimeDefault"
581 readOnlyRootFilesystem: true
582 ## @param webhook.podAffinityPreset Pod affinity preset. Ignored if `webhook.affinity` is set. Allowed values: `soft` or `hard`
583 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
585 podAffinityPreset: ""
586 ## @param webhook.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `webhook.affinity` is set. Allowed values: `soft` or `hard`
587 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
589 podAntiAffinityPreset: soft
590 ## Node affinity preset
591 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
592 ## @param webhook.nodeAffinityPreset.type Node affinity preset type. Ignored if `webhook.affinity` is set. Allowed values: `soft` or `hard`
593 ## @param webhook.nodeAffinityPreset.key Node label key to match. Ignored if `webhook.affinity` is set
594 ## @param webhook.nodeAffinityPreset.values Node label values to match. Ignored if `webhook.affinity` is set
605 ## @param webhook.affinity Affinity for cert-manager Webhook
606 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
607 ## NOTE: `webhook.podAffinityPreset`, `webhook.podAntiAffinityPreset`, and `webhook.nodeAffinityPreset` will be ignored when it's set
610 ## @param webhook.nodeSelector Node labels for pod assignment
611 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
614 ## Webhook Container port
615 ## @param webhook.containerPorts.https Webhook HTTPS container port
616 ## @param webhook.containerPorts.health Webhook health container port
621 ## Webhook https port
622 ## @param webhook.service.ports.https Webhook HTTPS service port
627 ## @param webhook.command Override Webhook default command
630 ## @param webhook.args Override Webhook default args
633 ## @param webhook.livenessProbe.enabled Enable livenessProbe
634 ## @param webhook.livenessProbe.path Path for livenessProbe
635 ## @param webhook.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
636 ## @param webhook.livenessProbe.periodSeconds Period seconds for livenessProbe
637 ## @param webhook.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
638 ## @param webhook.livenessProbe.failureThreshold Failure threshold for livenessProbe
639 ## @param webhook.livenessProbe.successThreshold Success threshold for livenessProbe
644 initialDelaySeconds: 60
649 ## @param webhook.readinessProbe.enabled Enable readinessProbe
650 ## @param webhook.readinessProbe.path Path for readinessProbe
651 ## @param webhook.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
652 ## @param webhook.readinessProbe.periodSeconds Period seconds for readinessProbe
653 ## @param webhook.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
654 ## @param webhook.readinessProbe.failureThreshold Failure threshold for readinessProbe
655 ## @param webhook.readinessProbe.successThreshold Success threshold for readinessProbe
660 initialDelaySeconds: 5
665 ## Custom Startup probes for webhook
666 ## @param webhook.customStartupProbe Override default startup probe
668 customStartupProbe: {}
669 ## Custom Liveness probes for webhook
670 ## @param webhook.customLivenessProbe Override default liveness probe
672 customLivenessProbe: {}
673 ## Custom Rediness probes webhook
674 ## @param webhook.customReadinessProbe Override default readiness probe
676 customReadinessProbe: {}
677 ## @param webhook.priorityClassName Webhook pod priority class name
679 priorityClassName: ""
680 ## @param webhook.runtimeClassName Name of the runtime class to be used by pod(s)
681 ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
684 ## @param webhook.schedulerName Name of the k8s scheduler (other than default)
685 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
688 ## @param webhook.topologySpreadConstraints Topology Spread Constraints for pod assignment
689 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
690 ## The value is evaluated as a template
692 topologySpreadConstraints: []
693 ## @param webhook.automountServiceAccountToken Mount Service Account token in pod
695 automountServiceAccountToken: true
696 ## @param webhook.hostAliases Custom host aliases for Webhook pods
697 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
700 ## @param webhook.tolerations Tolerations for pod assignment
701 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
704 ## @param webhook.podLabels Extra labels for Webhook pods
705 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
708 ## @param webhook.podAnnotations Annotations for Webhook pods
709 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
712 ## @param webhook.lifecycleHooks Add lifecycle hooks to the Webhook deployment
715 ## @param webhook.updateStrategy.type Webhook deployment update strategy
716 ## @param webhook.updateStrategy.rollingUpdate Controller deployment rolling update configuration parameters
721 ## @param webhook.extraArgs Extra arguments to pass to the Webhook container
728 ## @param webhook.extraEnvVars Add extra environment variables to the Webhook container
735 ## @param webhook.extraEnvVarsCM Name of existing ConfigMap containing extra env vars
738 ## @param webhook.extraEnvVarsSecret Name of existing Secret containing extra env vars
740 extraEnvVarsSecret: ""
741 ## @param webhook.extraVolumes Optionally specify extra list of additional volumes for Webhook pods
744 ## @param webhook.extraVolumeMounts Optionally specify extra list of additional volumeMounts for Webhook container
746 extraVolumeMounts: []
747 ## @param webhook.initContainers Add additional init containers to the Webhook pods
750 ## - name: your-image-name
752 ## imagePullPolicy: Always
755 ## containerPort: 1234
758 ## @param webhook.sidecars Add additional sidecar containers to the Webhook pod
761 ## - name: your-image-name
763 ## imagePullPolicy: Always
766 ## containerPort: 1234
769 ## ServiceAccount configuration
772 ## @param webhook.serviceAccount.create Specifies whether a ServiceAccount should be created
775 ## @param webhook.serviceAccount.name The name of the ServiceAccount to use.
776 ## If not set and create is true, a name is generated using the common.names.fullname template
779 ## @param webhook.serviceAccount.annotations Additional custom annotations for the ServiceAccount
782 ## @param webhook.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
784 automountServiceAccountToken: false
785 ## @param webhook.hostNetwork Specifies hostNetwork value
788 ## Webhook Network Policies
789 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
792 ## @param webhook.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
795 ## @param webhook.networkPolicy.allowExternal Don't require client label for connections
796 ## The Policy model to apply. When set to false, only pods with the correct
797 ## client label will have network access to the ports Cert Manager Webhook is listening
798 ## on. When true, Cert Manager Webhook will accept connections from any source
799 ## (with the correct destination port).
802 ## @param webhook.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
804 allowExternalEgress: true
805 ## @param webhook.networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
807 kubeAPIServerPorts: [443, 6443, 8443]
808 ## @param webhook.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
818 ## - matchExpressions:
824 ## @param webhook.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
834 ## - matchExpressions:
841 ## @param webhook.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
842 ## @param webhook.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
844 ingressNSMatchLabels: {}
845 ingressNSPodMatchLabels: {}
846 ## @param webhook.pdb.create Enable/disable a Pod Disruption Budget creation
847 ## @param webhook.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
848 ## @param webhook.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `webhook.pdb.minAvailable` and `webhook.pdb.maxUnavailable` are empty.
854## @section CAInjector deployment parameters
856## CAInjector deployment parameters
859 ## @param cainjector.replicaCount Number of CAInjector replicas
862 ## Iamguarded CAInjector image
863 ## @param cainjector.image.registry [default: REGISTRY_NAME] CAInjector image registry
864 ## @param cainjector.image.repository [default: REPOSITORY_NAME/cainjector] CAInjector image repository
865 ## @skip cainjector.image.tag CAInjector image tag (immutable tags are recommended)
866 ## @param cainjector.image.digest CAInjector image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
867 ## @param cainjector.image.pullPolicy CAInjector image pull policy
868 ## @param cainjector.image.pullSecrets CAInjector image pull secrets
869 ## @param cainjector.image.debug CAInjector image debug mode
873 repository: chainguard-private/cert-manager-cainjector-iamguarded
876 ## Specify a imagePullPolicy
877 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
879 pullPolicy: IfNotPresent
880 ## Optionally specify an array of imagePullSecrets.
881 ## Secrets must be manually created in the namespace.
882 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
885 ## - myRegistryKeySecretName
888 ## Set to true if you would like to see extra information on logs
891 ## CAInjector containers' resource requests and limits
892 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
894 ## @param cainjector.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if cloneHtdocsFromGit.resources is set (cloneHtdocsFromGit.resources is recommended for production).
896 resourcesPreset: "nano"
897 ## @param cainjector.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
908 ## cainjector pods' Security Context
909 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
910 ## @param cainjector.podSecurityContext.enabled Enabled CAInjector pods' Security Context
911 ## @param cainjector.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
912 ## @param cainjector.podSecurityContext.sysctls Set kernel settings using the sysctl interface
913 ## @param cainjector.podSecurityContext.supplementalGroups Set filesystem extra groups
914 ## @param cainjector.podSecurityContext.fsGroup Set CAInjector pod's Security Context fsGroup
918 fsGroupChangePolicy: Always
920 supplementalGroups: []
922 ## cainjector containers' Security Context
923 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
924 ## @param cainjector.containerSecurityContext.enabled Enabled cainjector containers' Security Context
925 ## @param cainjector.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
926 ## @param cainjector.containerSecurityContext.runAsUser Set cainjector containers' Security Context runAsUser
927 ## @param cainjector.containerSecurityContext.runAsGroup Set cainjector containers' Security Context runAsGroup
928 ## @param cainjector.containerSecurityContext.runAsNonRoot Set cainjector containers' Security Context runAsNonRoot
929 ## @param cainjector.containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's Security Conte
930 ## @param cainjector.containerSecurityContext.privileged Set cainjector container's Security Context privileged
931 ## @param cainjector.containerSecurityContext.allowPrivilegeEscalation Set cainjector container's Security Context allowPrivilegeEscalation
932 ## @param cainjector.containerSecurityContext.capabilities.drop List of capabilities to be dropped
933 ## @param cainjector.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
935 containerSecurityContext:
942 allowPrivilegeEscalation: false
946 type: "RuntimeDefault"
947 readOnlyRootFilesystem: true
948 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
949 ## @param cainjector.podAffinityPreset Pod affinity preset. Ignored if `cainjector.affinity` is set. Allowed values: `soft` or `hard`
951 podAffinityPreset: ""
952 ## @param cainjector.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `cainjector.affinity` is set. Allowed values: `soft` or `hard`
953 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
955 podAntiAffinityPreset: soft
956 ## Node affinity preset
957 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
958 ## @param cainjector.nodeAffinityPreset.type Node affinity preset type. Ignored if `cainjector.affinity` is set. Allowed values: `soft` or `hard`
959 ## @param cainjector.nodeAffinityPreset.key Node label key to match. Ignored if `cainjector.affinity` is set
960 ## @param cainjector.nodeAffinityPreset.values Node label values to match. Ignored if `cainjector.affinity` is set
971 ## @param cainjector.affinity Affinity for cert-manager CAInjector
972 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
973 ## NOTE: `cainjector.podAffinityPreset`, `cainjector.podAntiAffinityPreset`, and `cainjector.nodeAffinityPreset` will be ignored when it's set
976 ## @param cainjector.nodeSelector Node labels for pod assignment
977 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
980 ## @param cainjector.command Override CAInjector default command
983 ## @param cainjector.args Override CAInjector default args
986 ## @param cainjector.priorityClassName CAInjector pod priority class name
988 priorityClassName: ""
989 ## @param cainjector.runtimeClassName Name of the runtime class to be used by pod(s)
990 ## ref: https://kubernetes.io/docs/concepts/containers/runtime-class/
993 ## @param cainjector.schedulerName Name of the k8s scheduler (other than default)
994 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
997 ## @param cainjector.topologySpreadConstraints Topology Spread Constraints for pod assignment
998 ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
999 ## The value is evaluated as a template
1001 topologySpreadConstraints: []
1002 ## @param cainjector.automountServiceAccountToken Mount Service Account token in pod
1004 automountServiceAccountToken: true
1005 ## @param cainjector.hostAliases Custom host aliases for CAInjector pods
1006 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1009 ## @param cainjector.tolerations Tolerations for pod assignment
1010 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1013 ## @param cainjector.podLabels Extra labels for CAInjector pods
1014 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1017 ## @param cainjector.podAnnotations Annotations for CAInjector pods
1018 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1021 ## @param cainjector.lifecycleHooks Add lifecycle hooks to the CAInjector deployment
1024 ## @param cainjector.updateStrategy.type Controller deployment update strategy
1025 ## @param cainjector.updateStrategy.rollingUpdate Controller deployment rolling update configuration parameters
1029 ## @param cainjector.livenessProbe.enabled Enable livenessProbe
1030 ## @param cainjector.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1031 ## @param cainjector.livenessProbe.periodSeconds Period seconds for livenessProbe
1032 ## @param cainjector.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1033 ## @param cainjector.livenessProbe.failureThreshold Failure threshold for livenessProbe
1034 ## @param cainjector.livenessProbe.successThreshold Success threshold for livenessProbe
1038 initialDelaySeconds: 60
1043 ## @param cainjector.readinessProbe.enabled Enable readinessProbe
1044 ## @param cainjector.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1045 ## @param cainjector.readinessProbe.periodSeconds Period seconds for readinessProbe
1046 ## @param cainjector.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1047 ## @param cainjector.readinessProbe.failureThreshold Failure threshold for readinessProbe
1048 ## @param cainjector.readinessProbe.successThreshold Success threshold for readinessProbe
1052 initialDelaySeconds: 5
1057 ## @param cainjector.startupProbe.enabled Enable startupProbe
1058 ## @param cainjector.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1059 ## @param cainjector.startupProbe.periodSeconds Period seconds for startupProbe
1060 ## @param cainjector.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1061 ## @param cainjector.startupProbe.failureThreshold Failure threshold for startupProbe
1062 ## @param cainjector.startupProbe.successThreshold Success threshold for startupProbe
1066 initialDelaySeconds: 5
1071 ## Custom Startup probes for cainjector
1072 ## @param cainjector.customStartupProbe Override default startup probe
1074 customStartupProbe: {}
1075 ## Custom Liveness probes for cainjector
1076 ## @param cainjector.customLivenessProbe Override default liveness probe
1078 customLivenessProbe: {}
1079 ## Custom Rediness probes cainjector
1080 ## @param cainjector.customReadinessProbe Override default readiness probe
1082 customReadinessProbe: {}
1083 ## @param cainjector.extraArgs Extra arguments to pass to the CAInjector container
1090 ## @param cainjector.extraEnvVars Add extra environment variables to the CAInjector container
1097 ## @param cainjector.extraEnvVarsCM Name of existing ConfigMap containing extra env vars
1100 ## @param cainjector.extraEnvVarsSecret Name of existing Secret containing extra env vars
1102 extraEnvVarsSecret: ""
1103 ## @param cainjector.extraVolumes Optionally specify extra list of additional volumes for CAInjector pods
1106 ## @param cainjector.extraVolumeMounts Optionally specify extra list of additional volumeMounts for CAInjector container(s)
1108 extraVolumeMounts: []
1109 ## @param cainjector.initContainers Add additional init containers to the CAInjector pods
1112 ## - name: your-image-name
1113 ## image: your-image
1114 ## imagePullPolicy: Always
1117 ## containerPort: 1234
1120 ## @param cainjector.sidecars Add additional sidecar containers to the CAInjector pod
1123 ## - name: your-image-name
1124 ## image: your-image
1125 ## imagePullPolicy: Always
1128 ## containerPort: 1234
1131 ## ServiceAccount configuration
1134 ## @param cainjector.serviceAccount.create Specifies whether a ServiceAccount should be created
1137 ## @param cainjector.serviceAccount.name The name of the ServiceAccount to use.
1138 ## If not set and create is true, a name is generated using the common.names.fullname template
1141 ## @param cainjector.serviceAccount.annotations Additional custom annotations for the ServiceAccount
1144 ## @param cainjector.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1146 automountServiceAccountToken: false
1148 ## @param cainjector.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1151 ## @param cainjector.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1153 allowExternalEgress: true
1154 ## @param cainjector.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1164 ## - matchExpressions:
1170 ## @param cainjector.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1180 ## - matchExpressions:
1187 ## @param cainjector.pdb.create Enable/disable a Pod Disruption Budget creation
1188 ## @param cainjector.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1189 ## @param cainjector.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `cainjector.pdb.minAvailable` and `cainjector.pdb.maxUnavailable` are empty.
1195## @section Metrics Parameters
1197 ## @param metrics.enabled Start metrics
1200 ## Prometheus Service Monitor
1201 ## ref: https://github.com/coreos/prometheus-operator
1202 ## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1204 ## @param metrics.podAnnotations [object] Annotations for cert-manager exporter pods
1205 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1208 prometheus.io/path: "/metrics"
1209 prometheus.io/scrape: "true"
1210 prometheus.io/port: "{{ .Values.controller.containerPorts.http }}"
1211 ## Prometheus Operator ServiceMonitor resource
1214 ## @param metrics.serviceMonitor.path The path which the ServiceMonitor will monitor
1217 ## @param metrics.serviceMonitor.targetPort The port in which the ServiceMonitor will monitor
1220 ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
1223 ## @param metrics.serviceMonitor.namespace Namespace which Prometheus is running in
1225 ## namespace: monitoring
1228 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
1231 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped
1232 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1235 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
1236 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1239 ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
1240 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
1243 ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
1244 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
1246 metricRelabelings: []
1247 ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
1250 ## prometheus: my-prometheus
1253 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
1256 ## @param metrics.serviceMonitor.additionalLabels DEPRECATED. Use metrics.serviceMonitor.labels instead.
1258 additionalLabels: {}
1259 ## @param metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
1262## @section Other Parameters
1264## RBAC configuration
1265## @param rbac.create Specifies whether RBAC resources should be created