blob: e9d3931096217f732e9d635867d193fb17c000a9 [file] [log] [blame]
giod55d03a2026-07-23 16:57:48 +04001# +docs:section=Global
2
3# Default values for cert-manager.
4# This is a YAML-formatted file.
5# Declare variables to be passed into your templates.
6global:
7 # Reference to one or more secrets to be used when pulling images.
8 # For more information, see [Pull an Image from a Private Registry](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).
9 #
10 # For example:
11 # imagePullSecrets:
12 # - name: "image-pull-secret"
13 imagePullSecrets: []
14
15 # Labels to apply to all resources.
16 # Please note that this does not add labels to the resources created dynamically by the controllers.
17 # For these resources, you have to add the labels in the template in the cert-manager custom resource:
18 # For example, podTemplate/ ingressTemplate in ACMEChallengeSolverHTTP01Ingress
19 # For more information, see the [cert-manager documentation](https://cert-manager.io/docs/reference/api-docs/#acme.cert-manager.io/v1.ACMEChallengeSolverHTTP01Ingress).
20 # For example, secretTemplate in CertificateSpec
21 # For more information, see the [cert-manager documentation](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec).
22 commonLabels: {}
23
24 # The number of old ReplicaSets to retain to allow rollback (if not set, the default Kubernetes value is set to 10).
25 # +docs:property
26 # revisionHistoryLimit: 1
27
28 # The optional priority class to be used for the cert-manager pods.
29 priorityClassName: ""
30
31 rbac:
32 # Create required ClusterRoles and ClusterRoleBindings for cert-manager.
33 create: true
34 # Aggregate ClusterRoles to Kubernetes default user-facing roles. For more information, see [User-facing roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
35 aggregateClusterRoles: true
36
37 podSecurityPolicy:
38 # Create PodSecurityPolicy for cert-manager.
39 #
40 # Note that PodSecurityPolicy was deprecated in Kubernetes 1.21 and removed in Kubernetes 1.25.
41 enabled: false
42 # Configure the PodSecurityPolicy to use AppArmor.
43 useAppArmor: true
44
45 # Set the verbosity of cert-manager. A range of 0 - 6, with 6 being the most verbose.
46 logLevel: 2
47
48 leaderElection:
49 # Override the namespace used for the leader election lease.
50 namespace: "kube-system"
51
52 # The duration that non-leader candidates will wait after observing a
53 # leadership renewal until attempting to acquire leadership of a led but
54 # unrenewed leader slot. This is effectively the maximum duration that a
55 # leader can be stopped before it is replaced by another candidate.
56 # +docs:property
57 # leaseDuration: 60s
58
59 # The interval between attempts by the acting master to renew a leadership
60 # slot before it stops leading. This must be less than or equal to the
61 # lease duration.
62 # +docs:property
63 # renewDeadline: 40s
64
65 # The duration the clients should wait between attempting acquisition and
66 # renewal of a leadership.
67 # +docs:property
68 # retryPeriod: 15s
69
70# This option is equivalent to setting crds.enabled=true and crds.keep=true.
71# Deprecated: use crds.enabled and crds.keep instead.
72installCRDs: false
73
74crds:
75 # This option decides if the CRDs should be installed
76 # as part of the Helm installation.
77 enabled: false
78
79 # This option makes it so that the "helm.sh/resource-policy": keep
80 # annotation is added to the CRD. This will prevent Helm from uninstalling
81 # the CRD when the Helm release is uninstalled.
82 # WARNING: when the CRDs are removed, all cert-manager custom resources
83 # (Certificates, Issuers, ...) will be removed too by the garbage collector.
84 keep: true
85
86# +docs:section=Controller
87
88# The number of replicas of the cert-manager controller to run.
89#
90# The default is 1, but in production set this to 2 or 3 to provide high
91# availability.
92#
93# If `replicas > 1`, consider setting `podDisruptionBudget.enabled=true`.
94#
95# Note that cert-manager uses leader election to ensure that there can
96# only be a single instance active at a time.
97replicaCount: 1
98
99# Deployment update strategy for the cert-manager controller deployment.
100# For more information, see the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy).
101#
102# For example:
103# strategy:
104# type: RollingUpdate
105# rollingUpdate:
106# maxSurge: 0
107# maxUnavailable: 1
108strategy: {}
109
110podDisruptionBudget:
111 # Enable or disable the PodDisruptionBudget resource.
112 #
113 # This prevents downtime during voluntary disruptions such as during a Node upgrade.
114 # For example, the PodDisruptionBudget will block `kubectl drain`
115 # if it is used on the Node where the only remaining cert-manager
116 # Pod is currently running.
117 enabled: false
118
119 # This configures the minimum available pods for disruptions. It can either be set to
120 # an integer (e.g., 1) or a percentage value (e.g., 25%).
121 # It cannot be used if `maxUnavailable` is set.
122 # +docs:property
123 # +docs:type=unknown
124 # minAvailable: 1
125
126 # This configures the maximum unavailable pods for disruptions. It can either be set to
127 # an integer (e.g., 1) or a percentage value (e.g., 25%).
128 # it cannot be used if `minAvailable` is set.
129 # +docs:property
130 # +docs:type=unknown
131 # maxUnavailable: 1
132
133# A comma-separated list of feature gates that should be enabled on the
134# controller pod.
135featureGates: ""
136
137# The maximum number of challenges that can be scheduled as 'processing' at once.
138maxConcurrentChallenges: 60
139
140image:
141 # The container registry to pull the manager image from.
142 # +docs:property
143 # registry: quay.io
144
145 # The container image for the cert-manager controller.
146 # +docs:property
147 repository: quay.io/jetstack/cert-manager-controller
148
149 # Override the image tag to deploy by setting this variable.
150 # If no value is set, the chart's appVersion is used.
151 # +docs:property
152 # tag: vX.Y.Z
153
154 # Setting a digest will override any tag.
155 # +docs:property
156 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
157
158 # Kubernetes imagePullPolicy on Deployment.
159 pullPolicy: IfNotPresent
160
161# Override the namespace used to store DNS provider credentials etc. for ClusterIssuer
162# resources. By default, the same namespace as cert-manager is deployed within is
163# used. This namespace will not be automatically created by the Helm chart.
164clusterResourceNamespace: ""
165
166# This namespace allows you to define where the services are installed into.
167# If not set then they use the namespace of the release.
168# This is helpful when installing cert manager as a chart dependency (sub chart).
169namespace: ""
170
171# Override the "cert-manager.fullname" value. This value is used as part of
172# most of the names of the resources created by this Helm chart.
173# +docs:property
174# fullnameOverride: "my-cert-manager"
175
176# Override the "cert-manager.name" value, which is used to annotate some of
177# the resources that are created by this Chart (using "app.kubernetes.io/name").
178# NOTE: There are some inconsistencies in the Helm chart when it comes to
179# these annotations (some resources use, e.g., "cainjector.name" which resolves
180# to the value "cainjector").
181# +docs:property
182# nameOverride: "my-cert-manager"
183
184serviceAccount:
185 # Specifies whether a service account should be created.
186 create: true
187
188 # The name of the service account to use.
189 # If not set and create is true, a name is generated using the fullname template.
190 # +docs:property
191 # name: ""
192
193 # Optional additional annotations to add to the controller's Service Account. Templates are allowed for both keys and values.
194 # Example using templating:
195 # annotations:
196 # "{{ .Chart.Name }}-helm-chart/version": "{{ .Chart.Version }}"
197 # +docs:property
198 # annotations: {}
199
200 # Optional additional labels to add to the controller's Service Account.
201 # +docs:property
202 # labels: {}
203
204 # Automount API credentials for a Service Account.
205 automountServiceAccountToken: true
206
207# Automounting API credentials for a particular pod.
208# +docs:property
209# automountServiceAccountToken: true
210
211# When this flag is enabled, secrets will be automatically removed when the certificate resource is deleted.
212enableCertificateOwnerRef: false
213
214# This property is used to configure options for the controller pod.
215# This allows setting options that would usually be provided using flags.
216#
217# If `apiVersion` and `kind` are unspecified they default to the current latest
218# version (currently `controller.config.cert-manager.io/v1alpha1`). You can pin
219# the version by specifying the `apiVersion` yourself.
220#
221# For example:
222# config:
223# apiVersion: controller.config.cert-manager.io/v1alpha1
224# kind: ControllerConfiguration
225# logging:
226# verbosity: 2
227# format: text
228# leaderElectionConfig:
229# namespace: kube-system
230# kubernetesAPIQPS: 9000
231# kubernetesAPIBurst: 9000
232# numberOfConcurrentWorkers: 200
233# enableGatewayAPI: true
234# # Feature gates as of v1.18.1. Listed with their default values.
235# # See https://cert-manager.io/docs/cli/controller/
236# featureGates:
237# AdditionalCertificateOutputFormats: true # GA - default=true
238# AllAlpha: false # ALPHA - default=false
239# AllBeta: false # BETA - default=false
240# ExperimentalCertificateSigningRequestControllers: false # ALPHA - default=false
241# ExperimentalGatewayAPISupport: true # BETA - default=true
242# LiteralCertificateSubject: true # BETA - default=true
243# NameConstraints: true # BETA - default=true
244# OtherNames: false # ALPHA - default=false
245# SecretsFilteredCaching: true # BETA - default=true
246# ServerSideApply: false # ALPHA - default=false
247# StableCertificateRequestName: true # BETA - default=true
248# UseCertificateRequestBasicConstraints: false # ALPHA - default=false
249# UseDomainQualifiedFinalizer: true # GA - default=true
250# ValidateCAA: false # ALPHA - default=false
251# DefaultPrivateKeyRotationPolicyAlways: true # BETA - default=true
252# ACMEHTTP01IngressPathTypeExact: true # BETA - default=true
253# # Configure the metrics server for TLS
254# # See https://cert-manager.io/docs/devops-tips/prometheus-metrics/#tls
255# metricsTLSConfig:
256# dynamic:
257# secretNamespace: "cert-manager"
258# secretName: "cert-manager-metrics-ca"
259# dnsNames:
260# - cert-manager-metrics
261config: {}
262
263# Setting Nameservers for DNS01 Self Check.
264# For more information, see the [cert-manager documentation](https://cert-manager.io/docs/configuration/acme/dns01/#setting-nameservers-for-dns01-self-check).
265
266# A comma-separated string with the host and port of the recursive nameservers cert-manager should query.
267dns01RecursiveNameservers: ""
268
269# Forces cert-manager to use only the recursive nameservers for verification.
270# Enabling this option could cause the DNS01 self check to take longer owing to caching performed by the recursive nameservers.
271dns01RecursiveNameserversOnly: false
272
273# Option to disable cert-manager's build-in auto-approver. The auto-approver
274# approves all CertificateRequests that reference issuers matching the 'approveSignerNames'
275# option. This 'disableAutoApproval' option is useful when you want to make all approval decisions
276# using a different approver (like approver-policy - https://github.com/cert-manager/approver-policy).
277disableAutoApproval: false
278
279# List of signer names that cert-manager will approve by default. CertificateRequests
280# referencing these signer names will be auto-approved by cert-manager. Defaults to just
281# approving the cert-manager.io Issuer and ClusterIssuer issuers. When set to an empty
282# array, ALL issuers will be auto-approved by cert-manager. To disable the auto-approval,
283# because, e.g., you are using approver-policy, you can enable 'disableAutoApproval'.
284# ref: https://cert-manager.io/docs/concepts/certificaterequest/#approval
285# +docs:property
286approveSignerNames:
287- issuers.cert-manager.io/*
288- clusterissuers.cert-manager.io/*
289
290# Additional command line flags to pass to cert-manager controller binary.
291# To see all available flags run `docker run quay.io/jetstack/cert-manager-controller:<version> --help`.
292#
293# Use this flag to enable or disable arbitrary controllers. For example, to disable the CertificateRequests approver.
294#
295# For example:
296# extraArgs:
297# - --controllers=*,-certificaterequests-approver
298extraArgs: []
299
300# Additional environment variables to pass to cert-manager controller binary.
301# For example:
302# extraEnv:
303# - name: SOME_VAR
304# value: 'some value'
305extraEnv: []
306
307# Resources to provide to the cert-manager controller pod.
308#
309# For example:
310# requests:
311# cpu: 10m
312# memory: 32Mi
313#
314# For more information, see [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
315resources: {}
316
317# Pod Security Context.
318# For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
319# +docs:property
320securityContext:
321 runAsNonRoot: true
322 seccompProfile:
323 type: RuntimeDefault
324
325# Container Security Context to be set on the controller component container.
326# For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
327# +docs:property
328containerSecurityContext:
329 allowPrivilegeEscalation: false
330 capabilities:
331 drop:
332 - ALL
333 readOnlyRootFilesystem: true
334
335# Additional volumes to add to the cert-manager controller pod.
336volumes: []
337
338# Additional volume mounts to add to the cert-manager controller container.
339volumeMounts: []
340
341# Optional additional annotations to add to the controller Deployment.
342# +docs:property
343# deploymentAnnotations: {}
344
345# Optional additional annotations to add to the controller Pods.
346# +docs:property
347# podAnnotations: {}
348
349# Optional additional labels to add to the controller Pods.
350podLabels: {}
351
352# Optional annotations to add to the controller Service.
353# +docs:property
354# serviceAnnotations: {}
355
356# Optional additional labels to add to the controller Service.
357# +docs:property
358# serviceLabels: {}
359
360# Optionally set the IP family policy for the controller Service to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
361# +docs:property
362# serviceIPFamilyPolicy: ""
363
364# Optionally set the IP families for the controller Service that should be supported, in the order in which they should be applied to ClusterIP. Can be IPv4 and/or IPv6.
365# +docs:property
366# serviceIPFamilies: []
367
368# Optional DNS settings. These are useful if you have a public and private DNS zone for
369# the same domain on Route 53. The following is an example of ensuring
370# cert-manager can access an ingress or DNS TXT records at all times.
371# Note that this requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for
372# the cluster to work.
373
374# Pod DNS policy.
375# For more information, see [Pod's DNS Policy](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy).
376# +docs:property
377# podDnsPolicy: "None"
378
379# Pod DNS configuration. The podDnsConfig field is optional and can work with any podDnsPolicy
380# settings. However, when a Pod's dnsPolicy is set to "None", the dnsConfig field has to be specified.
381# For more information, see [Pod's DNS Config](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config).
382# +docs:property
383# podDnsConfig:
384# nameservers:
385# - "1.1.1.1"
386# - "8.8.8.8"
387
388# Optional hostAliases for cert-manager-controller pods. May be useful when performing ACME DNS-01 self checks.
389hostAliases: []
390# - ip: 127.0.0.1
391# hostnames:
392# - foo.local
393# - bar.local
394# - ip: 10.1.2.3
395# hostnames:
396# - foo.remote
397# - bar.remote
398
399# The nodeSelector on Pods tells Kubernetes to schedule Pods on the nodes with
400# matching labels.
401# For more information, see [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
402#
403# This default ensures that Pods are only scheduled to Linux nodes.
404# It prevents Pods being scheduled to Windows nodes in a mixed OS cluster.
405# +docs:property
406nodeSelector:
407 kubernetes.io/os: linux
408
409# +docs:ignore
410ingressShim: {}
411
412 # Optional default issuer to use for ingress resources.
413 # +docs:property=ingressShim.defaultIssuerName
414 # defaultIssuerName: ""
415
416 # Optional default issuer kind to use for ingress resources.
417 # +docs:property=ingressShim.defaultIssuerKind
418 # defaultIssuerKind: ""
419
420 # Optional default issuer group to use for ingress resources.
421 # +docs:property=ingressShim.defaultIssuerGroup
422 # defaultIssuerGroup: ""
423
424# Use these variables to configure the HTTP_PROXY environment variables.
425
426# Configures the HTTP_PROXY environment variable where a HTTP proxy is required.
427# +docs:property
428# http_proxy: "http://proxy:8080"
429
430# Configures the HTTPS_PROXY environment variable where a HTTP proxy is required.
431# +docs:property
432# https_proxy: "https://proxy:8080"
433
434# Configures the NO_PROXY environment variable where a HTTP proxy is required,
435# but certain domains should be excluded.
436# +docs:property
437# no_proxy: 127.0.0.1,localhost
438
439
440# A Kubernetes Affinity, if required. For more information, see [Affinity v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core).
441#
442# For example:
443# affinity:
444# nodeAffinity:
445# requiredDuringSchedulingIgnoredDuringExecution:
446# nodeSelectorTerms:
447# - matchExpressions:
448# - key: foo.bar.com/role
449# operator: In
450# values:
451# - master
452affinity: {}
453
454# A list of Kubernetes Tolerations, if required. For more information, see [Toleration v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core).
455#
456# For example:
457# tolerations:
458# - key: foo.bar.com/role
459# operator: Equal
460# value: master
461# effect: NoSchedule
462tolerations: []
463
464# A list of Kubernetes TopologySpreadConstraints, if required. For more information, see [Topology spread constraint v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core
465#
466# For example:
467# topologySpreadConstraints:
468# - maxSkew: 2
469# topologyKey: topology.kubernetes.io/zone
470# whenUnsatisfiable: ScheduleAnyway
471# labelSelector:
472# matchLabels:
473# app.kubernetes.io/instance: cert-manager
474# app.kubernetes.io/component: controller
475topologySpreadConstraints: []
476
477# LivenessProbe settings for the controller container of the controller Pod.
478#
479# This is enabled by default, in order to enable the clock-skew liveness probe that
480# restarts the controller in case of a skew between the system clock and the monotonic clock.
481# LivenessProbe durations and thresholds are based on those used for the Kubernetes
482# controller-manager. For more information see the following on the
483# [Kubernetes GitHub repository](https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245)
484# +docs:property
485livenessProbe:
486 enabled: true
487 initialDelaySeconds: 10
488 periodSeconds: 10
489 timeoutSeconds: 15
490 successThreshold: 1
491 failureThreshold: 8
492
493# enableServiceLinks indicates whether information about services should be
494# injected into the pod's environment variables, matching the syntax of Docker
495# links.
496enableServiceLinks: false
497
498# +docs:section=Prometheus
499
500prometheus:
501 # Enable Prometheus monitoring for the cert-manager controller and webhook.
502 # If you use the Prometheus Operator, set prometheus.podmonitor.enabled or
503 # prometheus.servicemonitor.enabled, to create a PodMonitor or a
504 # ServiceMonitor resource.
505 # Otherwise, 'prometheus.io' annotations are added to the cert-manager and
506 # cert-manager-webhook Deployments.
507 # Note that you cannot enable both PodMonitor and ServiceMonitor as they are
508 # mutually exclusive. Enabling both will result in an error.
509 enabled: true
510
511 servicemonitor:
512 # Create a ServiceMonitor to add cert-manager to Prometheus.
513 enabled: false
514
515 # The namespace that the service monitor should live in, defaults
516 # to the cert-manager namespace.
517 # +docs:property
518 # namespace: cert-manager
519
520 # Specifies the `prometheus` label on the created ServiceMonitor. This is
521 # used when different Prometheus instances have label selectors matching
522 # different ServiceMonitors.
523 prometheusInstance: default
524
525 # The target port to set on the ServiceMonitor. This must match the port that the
526 # cert-manager controller is listening on for metrics.
527 # +docs:type=string,integer
528 targetPort: http-metrics
529
530 # The path to scrape for metrics.
531 path: /metrics
532
533 # The interval to scrape metrics.
534 interval: 60s
535
536 # The timeout before a metrics scrape fails.
537 scrapeTimeout: 30s
538
539 # Additional labels to add to the ServiceMonitor.
540 labels: {}
541
542 # Additional annotations to add to the ServiceMonitor.
543 annotations: {}
544
545 # Keep labels from scraped data, overriding server-side labels.
546 honorLabels: false
547
548 # EndpointAdditionalProperties allows setting additional properties on the
549 # endpoint such as relabelings, metricRelabelings etc.
550 #
551 # For example:
552 # endpointAdditionalProperties:
553 # relabelings:
554 # - action: replace
555 # sourceLabels:
556 # - __meta_kubernetes_pod_node_name
557 # targetLabel: instance
558 #
559 # +docs:property
560 endpointAdditionalProperties: {}
561
562 # Note that you cannot enable both PodMonitor and ServiceMonitor as they are mutually exclusive. Enabling both will result in an error.
563 podmonitor:
564 # Create a PodMonitor to add cert-manager to Prometheus.
565 enabled: false
566
567 # The namespace that the pod monitor should live in, defaults
568 # to the cert-manager namespace.
569 # +docs:property
570 # namespace: cert-manager
571
572 # Specifies the `prometheus` label on the created PodMonitor. This is
573 # used when different Prometheus instances have label selectors matching
574 # different PodMonitors.
575 prometheusInstance: default
576
577 # The path to scrape for metrics.
578 path: /metrics
579
580 # The interval to scrape metrics.
581 interval: 60s
582
583 # The timeout before a metrics scrape fails.
584 scrapeTimeout: 30s
585
586 # Additional labels to add to the PodMonitor.
587 labels: {}
588
589 # Additional annotations to add to the PodMonitor.
590 annotations: {}
591
592 # Keep labels from scraped data, overriding server-side labels.
593 honorLabels: false
594
595 # EndpointAdditionalProperties allows setting additional properties on the
596 # endpoint such as relabelings, metricRelabelings etc.
597 #
598 # For example:
599 # endpointAdditionalProperties:
600 # relabelings:
601 # - action: replace
602 # sourceLabels:
603 # - __meta_kubernetes_pod_node_name
604 # targetLabel: instance
605 # # Configure the PodMonitor for TLS connections
606 # # See https://cert-manager.io/docs/devops-tips/prometheus-metrics/#tls
607 # scheme: https
608 # tlsConfig:
609 # serverName: cert-manager-metrics
610 # ca:
611 # secret:
612 # name: cert-manager-metrics-ca
613 # key: "tls.crt"
614 #
615 # +docs:property
616 endpointAdditionalProperties: {}
617
618# +docs:section=Webhook
619
620webhook:
621 # Number of replicas of the cert-manager webhook to run.
622 #
623 # The default is 1, but in production set this to 2 or 3 to provide high
624 # availability.
625 #
626 # If `replicas > 1`, consider setting `webhook.podDisruptionBudget.enabled=true`.
627 replicaCount: 1
628
629 # The number of seconds the API server should wait for the webhook to respond before treating the call as a failure.
630 # The value must be between 1 and 30 seconds. For more information, see
631 # [Validating webhook configuration v1](https://kubernetes.io/docs/reference/kubernetes-api/extend-resources/validating-webhook-configuration-v1/).
632 #
633 # The default is set to the maximum value of 30 seconds as
634 # users sometimes report that the connection between the K8S API server and
635 # the cert-manager webhook server times out.
636 # If *this* timeout is reached, the error message will be "context deadline exceeded",
637 # which doesn't help the user diagnose what phase of the HTTPS connection timed out.
638 # For example, it could be during DNS resolution, TCP connection, TLS
639 # negotiation, HTTP negotiation, or slow HTTP response from the webhook
640 # server.
641 # By setting this timeout to its maximum value the underlying timeout error
642 # message has more chance of being returned to the end user.
643 timeoutSeconds: 30
644
645 # This is used to configure options for the webhook pod.
646 # This allows setting options that would usually be provided using flags.
647 #
648 # If `apiVersion` and `kind` are unspecified they default to the current latest
649 # version (currently `webhook.config.cert-manager.io/v1alpha1`). You can pin
650 # the version by specifying the `apiVersion` yourself.
651 #
652 # For example:
653 # apiVersion: webhook.config.cert-manager.io/v1alpha1
654 # kind: WebhookConfiguration
655 # # The port that the webhook listens on for requests.
656 # # In GKE private clusters, by default Kubernetes apiservers are allowed to
657 # # talk to the cluster nodes only on 443 and 10250. Configuring
658 # # securePort: 10250 therefore will work out-of-the-box without needing to add firewall
659 # # rules or requiring NET_BIND_SERVICE capabilities to bind port numbers < 1000.
660 # # This should be uncommented and set as a default by the chart once
661 # # the apiVersion of WebhookConfiguration graduates beyond v1alpha1.
662 # securePort: 10250
663 # # Configure the metrics server for TLS
664 # # See https://cert-manager.io/docs/devops-tips/prometheus-metrics/#tls
665 # metricsTLSConfig:
666 # dynamic:
667 # secretNamespace: "cert-manager"
668 # secretName: "cert-manager-metrics-ca"
669 # dnsNames:
670 # - cert-manager-metrics
671 config: {}
672
673 # The update strategy for the cert-manager webhook deployment.
674 # For more information, see the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy)
675 #
676 # For example:
677 # strategy:
678 # type: RollingUpdate
679 # rollingUpdate:
680 # maxSurge: 0
681 # maxUnavailable: 1
682 strategy: {}
683
684 # Pod Security Context to be set on the webhook component Pod.
685 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
686 # +docs:property
687 securityContext:
688 runAsNonRoot: true
689 seccompProfile:
690 type: RuntimeDefault
691
692 # Container Security Context to be set on the webhook component container.
693 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
694 # +docs:property
695 containerSecurityContext:
696 allowPrivilegeEscalation: false
697 capabilities:
698 drop:
699 - ALL
700 readOnlyRootFilesystem: true
701
702 podDisruptionBudget:
703 # Enable or disable the PodDisruptionBudget resource.
704 #
705 # This prevents downtime during voluntary disruptions such as during a Node upgrade.
706 # For example, the PodDisruptionBudget will block `kubectl drain`
707 # if it is used on the Node where the only remaining cert-manager
708 # Pod is currently running.
709 enabled: false
710
711 # This property configures the minimum available pods for disruptions. Can either be set to
712 # an integer (e.g., 1) or a percentage value (e.g., 25%).
713 # It cannot be used if `maxUnavailable` is set.
714 # +docs:property
715 # +docs:type=unknown
716 # minAvailable: 1
717
718 # This property configures the maximum unavailable pods for disruptions. Can either be set to
719 # an integer (e.g., 1) or a percentage value (e.g., 25%).
720 # It cannot be used if `minAvailable` is set.
721 # +docs:property
722 # +docs:type=unknown
723 # maxUnavailable: 1
724
725 # Optional additional annotations to add to the webhook Deployment.
726 # +docs:property
727 # deploymentAnnotations: {}
728
729 # Optional additional annotations to add to the webhook Pods.
730 # +docs:property
731 # podAnnotations: {}
732
733 # Optional additional annotations to add to the webhook Service.
734 # +docs:property
735 # serviceAnnotations: {}
736
737 # Optional additional annotations to add to the webhook MutatingWebhookConfiguration.
738 # +docs:property
739 # mutatingWebhookConfigurationAnnotations: {}
740
741 # Optional additional annotations to add to the webhook ValidatingWebhookConfiguration.
742 # +docs:property
743 # validatingWebhookConfigurationAnnotations: {}
744
745 validatingWebhookConfiguration:
746 # Configure spec.namespaceSelector for validating webhooks.
747 # +docs:property
748 namespaceSelector:
749 matchExpressions:
750 - key: "cert-manager.io/disable-validation"
751 operator: "NotIn"
752 values:
753 - "true"
754
755 mutatingWebhookConfiguration:
756 # Configure spec.namespaceSelector for mutating webhooks.
757 # +docs:property
758 namespaceSelector: {}
759 # matchLabels:
760 # key: value
761 # matchExpressions:
762 # - key: kubernetes.io/metadata.name
763 # operator: NotIn
764 # values:
765 # - kube-system
766
767
768 # Additional command line flags to pass to cert-manager webhook binary.
769 # To see all available flags run `docker run quay.io/jetstack/cert-manager-webhook:<version> --help`.
770 extraArgs: []
771 # Path to a file containing a WebhookConfiguration object used to configure the webhook.
772 # - --config=<path-to-config-file>
773
774 # Additional environment variables to pass to cert-manager webhook binary.
775 # For example:
776 # extraEnv:
777 # - name: SOME_VAR
778 # value: 'some value'
779 extraEnv: []
780
781 # Comma separated list of feature gates that should be enabled on the
782 # webhook pod.
783 featureGates: ""
784
785 # Resources to provide to the cert-manager webhook pod.
786 #
787 # For example:
788 # requests:
789 # cpu: 10m
790 # memory: 32Mi
791 #
792 # For more information, see [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
793 resources: {}
794
795 # Liveness probe values.
796 # For more information, see [Container probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes).
797 #
798 # +docs:property
799 livenessProbe:
800 failureThreshold: 3
801 initialDelaySeconds: 60
802 periodSeconds: 10
803 successThreshold: 1
804 timeoutSeconds: 1
805
806 # Readiness probe values.
807 # For more information, see [Container probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes).
808 #
809 # +docs:property
810 readinessProbe:
811 failureThreshold: 3
812 initialDelaySeconds: 5
813 periodSeconds: 5
814 successThreshold: 1
815 timeoutSeconds: 1
816
817 # The nodeSelector on Pods tells Kubernetes to schedule Pods on the nodes with
818 # matching labels.
819 # For more information, see [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
820 #
821 # This default ensures that Pods are only scheduled to Linux nodes.
822 # It prevents Pods being scheduled to Windows nodes in a mixed OS cluster.
823 # +docs:property
824 nodeSelector:
825 kubernetes.io/os: linux
826
827 # A Kubernetes Affinity, if required. For more information, see [Affinity v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core).
828 #
829 # For example:
830 # affinity:
831 # nodeAffinity:
832 # requiredDuringSchedulingIgnoredDuringExecution:
833 # nodeSelectorTerms:
834 # - matchExpressions:
835 # - key: foo.bar.com/role
836 # operator: In
837 # values:
838 # - master
839 affinity: {}
840
841 # A list of Kubernetes Tolerations, if required. For more information, see [Toleration v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core).
842 #
843 # For example:
844 # tolerations:
845 # - key: foo.bar.com/role
846 # operator: Equal
847 # value: master
848 # effect: NoSchedule
849 tolerations: []
850
851 # A list of Kubernetes TopologySpreadConstraints, if required. For more information, see [Topology spread constraint v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core).
852 #
853 # For example:
854 # topologySpreadConstraints:
855 # - maxSkew: 2
856 # topologyKey: topology.kubernetes.io/zone
857 # whenUnsatisfiable: ScheduleAnyway
858 # labelSelector:
859 # matchLabels:
860 # app.kubernetes.io/instance: cert-manager
861 # app.kubernetes.io/component: controller
862 topologySpreadConstraints: []
863
864 # Optional additional labels to add to the Webhook Pods.
865 podLabels: {}
866
867 # Optional additional labels to add to the Webhook Service.
868 serviceLabels: {}
869
870 # Optionally set the IP family policy for the controller Service to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
871 serviceIPFamilyPolicy: ""
872
873 # Optionally set the IP families for the controller Service that should be supported, in the order in which they should be applied to ClusterIP. Can be IPv4 and/or IPv6.
874 serviceIPFamilies: []
875
876 image:
877 # The container registry to pull the webhook image from.
878 # +docs:property
879 # registry: quay.io
880
881 # The container image for the cert-manager webhook
882 # +docs:property
883 repository: quay.io/jetstack/cert-manager-webhook
884
885 # Override the image tag to deploy by setting this variable.
886 # If no value is set, the chart's appVersion will be used.
887 # +docs:property
888 # tag: vX.Y.Z
889
890 # Setting a digest will override any tag
891 # +docs:property
892 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
893
894 # Kubernetes imagePullPolicy on Deployment.
895 pullPolicy: IfNotPresent
896
897 serviceAccount:
898 # Specifies whether a service account should be created.
899 create: true
900
901 # The name of the service account to use.
902 # If not set and create is true, a name is generated using the fullname template.
903 # +docs:property
904 # name: ""
905
906 # Optional additional annotations to add to the webhook's Service Account.
907 # +docs:property
908 # annotations: {}
909
910 # Optional additional labels to add to the webhook's Service Account.
911 # +docs:property
912 # labels: {}
913
914 # Automount API credentials for a Service Account.
915 automountServiceAccountToken: true
916
917 # Automounting API credentials for a particular pod.
918 # +docs:property
919 # automountServiceAccountToken: true
920
921 # The port that the webhook listens on for requests.
922 # In GKE private clusters, by default Kubernetes apiservers are allowed to
923 # talk to the cluster nodes only on 443 and 10250. Configuring
924 # securePort: 10250, therefore will work out-of-the-box without needing to add firewall
925 # rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000.
926 securePort: 10250
927
928 # Specifies if the webhook should be started in hostNetwork mode.
929 #
930 # Required for use in some managed kubernetes clusters (such as AWS EKS) with custom
931 # CNI (such as calico), because control-plane managed by AWS cannot communicate
932 # with pods' IP CIDR and admission webhooks are not working
933 #
934 # Since the default port for the webhook conflicts with kubelet on the host
935 # network, `webhook.securePort` should be changed to an available port if
936 # running in hostNetwork mode.
937 hostNetwork: false
938
939 # Specifies how the service should be handled. Useful if you want to expose the
940 # webhook outside of the cluster. In some cases, the control plane cannot
941 # reach internal services.
942 serviceType: ClusterIP
943
944 # Specify the load balancer IP for the created service.
945 # +docs:property
946 # loadBalancerIP: "10.10.10.10"
947
948 # Overrides the mutating webhook and validating webhook so they reach the webhook
949 # service using the `url` field instead of a service.
950 url: {}
951 # host:
952
953 # Enables default network policies for webhooks.
954 networkPolicy:
955 # Create network policies for the webhooks.
956 enabled: false
957
958 # Ingress rule for the webhook network policy. By default, it allows all
959 # inbound traffic.
960 # +docs:property
961 ingress:
962 - from:
963 - ipBlock:
964 cidr: 0.0.0.0/0
965
966 # Egress rule for the webhook network policy. By default, it allows all
967 # outbound traffic to ports 80 and 443, as well as DNS ports.
968 # +docs:property
969 egress:
970 - ports:
971 - port: 80
972 protocol: TCP
973 - port: 443
974 protocol: TCP
975 - port: 53
976 protocol: TCP
977 - port: 53
978 protocol: UDP
979 # On OpenShift and OKD, the Kubernetes API server listens on.
980 # port 6443.
981 - port: 6443
982 protocol: TCP
983 to:
984 - ipBlock:
985 cidr: 0.0.0.0/0
986
987 # Additional volumes to add to the cert-manager controller pod.
988 volumes: []
989
990 # Additional volume mounts to add to the cert-manager controller container.
991 volumeMounts: []
992
993 # enableServiceLinks indicates whether information about services should be
994 # injected into the pod's environment variables, matching the syntax of Docker
995 # links.
996 enableServiceLinks: false
997
998# +docs:section=CA Injector
999
1000cainjector:
1001 # Create the CA Injector deployment
1002 enabled: true
1003
1004 # The number of replicas of the cert-manager cainjector to run.
1005 #
1006 # The default is 1, but in production set this to 2 or 3 to provide high
1007 # availability.
1008 #
1009 # If `replicas > 1`, consider setting `cainjector.podDisruptionBudget.enabled=true`.
1010 #
1011 # Note that cert-manager uses leader election to ensure that there can
1012 # only be a single instance active at a time.
1013 replicaCount: 1
1014
1015 # This is used to configure options for the cainjector pod.
1016 # It allows setting options that are usually provided via flags.
1017 #
1018 # If `apiVersion` and `kind` are unspecified they default to the current latest
1019 # version (currently `cainjector.config.cert-manager.io/v1alpha1`). You can pin
1020 # the version by specifying the `apiVersion` yourself.
1021 #
1022 # For example:
1023 # apiVersion: cainjector.config.cert-manager.io/v1alpha1
1024 # kind: CAInjectorConfiguration
1025 # logging:
1026 # verbosity: 2
1027 # format: text
1028 # leaderElectionConfig:
1029 # namespace: kube-system
1030 # # Configure the metrics server for TLS
1031 # # See https://cert-manager.io/docs/devops-tips/prometheus-metrics/#tls
1032 # metricsTLSConfig:
1033 # dynamic:
1034 # secretNamespace: "cert-manager"
1035 # secretName: "cert-manager-metrics-ca"
1036 # dnsNames:
1037 # - cert-manager-metrics
1038 config: {}
1039
1040 # Deployment update strategy for the cert-manager cainjector deployment.
1041 # For more information, see the [Kubernetes documentation](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy).
1042 #
1043 # For example:
1044 # strategy:
1045 # type: RollingUpdate
1046 # rollingUpdate:
1047 # maxSurge: 0
1048 # maxUnavailable: 1
1049 strategy: {}
1050
1051 # Pod Security Context to be set on the cainjector component Pod
1052 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
1053 # +docs:property
1054 securityContext:
1055 runAsNonRoot: true
1056 seccompProfile:
1057 type: RuntimeDefault
1058
1059 # Container Security Context to be set on the cainjector component container
1060 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
1061 # +docs:property
1062 containerSecurityContext:
1063 allowPrivilegeEscalation: false
1064 capabilities:
1065 drop:
1066 - ALL
1067 readOnlyRootFilesystem: true
1068
1069 podDisruptionBudget:
1070 # Enable or disable the PodDisruptionBudget resource.
1071 #
1072 # This prevents downtime during voluntary disruptions such as during a Node upgrade.
1073 # For example, the PodDisruptionBudget will block `kubectl drain`
1074 # if it is used on the Node where the only remaining cert-manager
1075 # Pod is currently running.
1076 enabled: false
1077
1078 # `minAvailable` configures the minimum available pods for disruptions. It can either be set to
1079 # an integer (e.g., 1) or a percentage value (e.g., 25%).
1080 # Cannot be used if `maxUnavailable` is set.
1081 # +docs:property
1082 # +docs:type=unknown
1083 # minAvailable: 1
1084
1085 # `maxUnavailable` configures the maximum unavailable pods for disruptions. It can either be set to
1086 # an integer (e.g., 1) or a percentage value (e.g., 25%).
1087 # Cannot be used if `minAvailable` is set.
1088 # +docs:property
1089 # +docs:type=unknown
1090 # maxUnavailable: 1
1091
1092 # Optional additional annotations to add to the cainjector Deployment.
1093 # +docs:property
1094 # deploymentAnnotations: {}
1095
1096 # Optional additional annotations to add to the cainjector Pods.
1097 # +docs:property
1098 # podAnnotations: {}
1099
1100 # Optional additional annotations to add to the cainjector metrics Service.
1101 # +docs:property
1102 # serviceAnnotations: {}
1103
1104 # Additional command line flags to pass to cert-manager cainjector binary.
1105 # To see all available flags run `docker run quay.io/jetstack/cert-manager-cainjector:<version> --help`.
1106 extraArgs: []
1107 # Enable profiling for cainjector.
1108 # - --enable-profiling=true
1109
1110 # Additional environment variables to pass to cert-manager cainjector binary.
1111 # For example:
1112 # extraEnv:
1113 # - name: SOME_VAR
1114 # value: 'some value'
1115 extraEnv: []
1116
1117 # Comma separated list of feature gates that should be enabled on the
1118 # cainjector pod.
1119 featureGates: ""
1120
1121 # Resources to provide to the cert-manager cainjector pod.
1122 #
1123 # For example:
1124 # requests:
1125 # cpu: 10m
1126 # memory: 32Mi
1127 #
1128 # For more information, see [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
1129 resources: {}
1130
1131
1132 # The nodeSelector on Pods tells Kubernetes to schedule Pods on the nodes with
1133 # matching labels.
1134 # For more information, see [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
1135 #
1136 # This default ensures that Pods are only scheduled to Linux nodes.
1137 # It prevents Pods being scheduled to Windows nodes in a mixed OS cluster.
1138 # +docs:property
1139 nodeSelector:
1140 kubernetes.io/os: linux
1141
1142 # A Kubernetes Affinity, if required. For more information, see [Affinity v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core).
1143 #
1144 # For example:
1145 # affinity:
1146 # nodeAffinity:
1147 # requiredDuringSchedulingIgnoredDuringExecution:
1148 # nodeSelectorTerms:
1149 # - matchExpressions:
1150 # - key: foo.bar.com/role
1151 # operator: In
1152 # values:
1153 # - master
1154 affinity: {}
1155
1156 # A list of Kubernetes Tolerations, if required. For more information, see [Toleration v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core).
1157 #
1158 # For example:
1159 # tolerations:
1160 # - key: foo.bar.com/role
1161 # operator: Equal
1162 # value: master
1163 # effect: NoSchedule
1164 tolerations: []
1165
1166 # A list of Kubernetes TopologySpreadConstraints, if required. For more information, see [Topology spread constraint v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core).
1167 #
1168 # For example:
1169 # topologySpreadConstraints:
1170 # - maxSkew: 2
1171 # topologyKey: topology.kubernetes.io/zone
1172 # whenUnsatisfiable: ScheduleAnyway
1173 # labelSelector:
1174 # matchLabels:
1175 # app.kubernetes.io/instance: cert-manager
1176 # app.kubernetes.io/component: controller
1177 topologySpreadConstraints: []
1178
1179 # Optional additional labels to add to the CA Injector Pods.
1180 podLabels: {}
1181
1182 # Optional additional labels to add to the CA Injector metrics Service.
1183 serviceLabels: {}
1184
1185 image:
1186 # The container registry to pull the cainjector image from.
1187 # +docs:property
1188 # registry: quay.io
1189
1190 # The container image for the cert-manager cainjector
1191 # +docs:property
1192 repository: quay.io/jetstack/cert-manager-cainjector
1193
1194 # Override the image tag to deploy by setting this variable.
1195 # If no value is set, the chart's appVersion will be used.
1196 # +docs:property
1197 # tag: vX.Y.Z
1198
1199 # Setting a digest will override any tag.
1200 # +docs:property
1201 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
1202
1203 # Kubernetes imagePullPolicy on Deployment.
1204 pullPolicy: IfNotPresent
1205
1206 serviceAccount:
1207 # Specifies whether a service account should be created.
1208 create: true
1209
1210 # The name of the service account to use.
1211 # If not set and create is true, a name is generated using the fullname template
1212 # +docs:property
1213 # name: ""
1214
1215 # Optional additional annotations to add to the cainjector's Service Account.
1216 # +docs:property
1217 # annotations: {}
1218
1219 # Optional additional labels to add to the cainjector's Service Account.
1220 # +docs:property
1221 # labels: {}
1222
1223 # Automount API credentials for a Service Account.
1224 automountServiceAccountToken: true
1225
1226 # Automounting API credentials for a particular pod.
1227 # +docs:property
1228 # automountServiceAccountToken: true
1229
1230 # Additional volumes to add to the cert-manager controller pod.
1231 volumes: []
1232
1233 # Additional volume mounts to add to the cert-manager controller container.
1234 volumeMounts: []
1235
1236 # enableServiceLinks indicates whether information about services should be
1237 # injected into the pod's environment variables, matching the syntax of Docker
1238 # links.
1239 enableServiceLinks: false
1240
1241# +docs:section=ACME Solver
1242
1243acmesolver:
1244 image:
1245 # The container registry to pull the acmesolver image from.
1246 # +docs:property
1247 # registry: quay.io
1248
1249 # The container image for the cert-manager acmesolver.
1250 # +docs:property
1251 repository: quay.io/jetstack/cert-manager-acmesolver
1252
1253 # Override the image tag to deploy by setting this variable.
1254 # If no value is set, the chart's appVersion is used.
1255 # +docs:property
1256 # tag: vX.Y.Z
1257
1258 # Setting a digest will override any tag.
1259 # +docs:property
1260 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
1261
1262 # Kubernetes imagePullPolicy on Deployment.
1263 pullPolicy: IfNotPresent
1264
1265# +docs:section=Startup API Check
1266# This startupapicheck is a Helm post-install hook that waits for the webhook
1267# endpoints to become available.
1268# The check is implemented using a Kubernetes Job - if you are injecting mesh
1269# sidecar proxies into cert-manager pods, ensure that they
1270# are not injected into this Job's pod. Otherwise, the installation may time out
1271# owing to the Job never being completed because the sidecar proxy does not exit.
1272# For more information, see [this note](https://github.com/cert-manager/cert-manager/pull/4414).
1273
1274startupapicheck:
1275 # Enables the startup api check.
1276 enabled: true
1277
1278 # Pod Security Context to be set on the startupapicheck component Pod.
1279 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
1280 # +docs:property
1281 securityContext:
1282 runAsNonRoot: true
1283 seccompProfile:
1284 type: RuntimeDefault
1285
1286 # Container Security Context to be set on the controller component container.
1287 # For more information, see [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/).
1288 # +docs:property
1289 containerSecurityContext:
1290 allowPrivilegeEscalation: false
1291 capabilities:
1292 drop:
1293 - ALL
1294 readOnlyRootFilesystem: true
1295
1296 # Timeout for 'kubectl check api' command.
1297 timeout: 1m
1298
1299 # Job backoffLimit
1300 backoffLimit: 4
1301
1302 # Optional additional annotations to add to the startupapicheck Job.
1303 # +docs:property
1304 jobAnnotations:
1305 helm.sh/hook: post-install
1306 helm.sh/hook-weight: "1"
1307 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
1308
1309 # Optional additional annotations to add to the startupapicheck Pods.
1310 # +docs:property
1311 # podAnnotations: {}
1312
1313 # Additional command line flags to pass to startupapicheck binary.
1314 # To see all available flags run `docker run quay.io/jetstack/cert-manager-startupapicheck:<version> --help`.
1315 #
1316 # Verbose logging is enabled by default so that if startupapicheck fails, you
1317 # can know what exactly caused the failure. Verbose logs include details of
1318 # the webhook URL, IP address and TCP connect errors for example.
1319 # +docs:property
1320 extraArgs:
1321 - -v
1322
1323 # Additional environment variables to pass to cert-manager startupapicheck binary.
1324 # For example:
1325 # extraEnv:
1326 # - name: SOME_VAR
1327 # value: 'some value'
1328 extraEnv: []
1329
1330 # Resources to provide to the cert-manager controller pod.
1331 #
1332 # For example:
1333 # requests:
1334 # cpu: 10m
1335 # memory: 32Mi
1336 #
1337 # For more information, see [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/).
1338 resources: {}
1339
1340
1341 # The nodeSelector on Pods tells Kubernetes to schedule Pods on the nodes with
1342 # matching labels.
1343 # For more information, see [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
1344 #
1345 # This default ensures that Pods are only scheduled to Linux nodes.
1346 # It prevents Pods being scheduled to Windows nodes in a mixed OS cluster.
1347 # +docs:property
1348 nodeSelector:
1349 kubernetes.io/os: linux
1350
1351 # A Kubernetes Affinity, if required. For more information, see [Affinity v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core).
1352 # For example:
1353 # affinity:
1354 # nodeAffinity:
1355 # requiredDuringSchedulingIgnoredDuringExecution:
1356 # nodeSelectorTerms:
1357 # - matchExpressions:
1358 # - key: foo.bar.com/role
1359 # operator: In
1360 # values:
1361 # - master
1362 affinity: {}
1363
1364 # A list of Kubernetes Tolerations, if required. For more information, see [Toleration v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core).
1365 #
1366 # For example:
1367 # tolerations:
1368 # - key: foo.bar.com/role
1369 # operator: Equal
1370 # value: master
1371 # effect: NoSchedule
1372 tolerations: []
1373
1374 # Optional additional labels to add to the startupapicheck Pods.
1375 podLabels: {}
1376
1377 image:
1378 # The container registry to pull the startupapicheck image from.
1379 # +docs:property
1380 # registry: quay.io
1381
1382 # The container image for the cert-manager startupapicheck.
1383 # +docs:property
1384 repository: quay.io/jetstack/cert-manager-startupapicheck
1385
1386 # Override the image tag to deploy by setting this variable.
1387 # If no value is set, the chart's appVersion is used.
1388 # +docs:property
1389 # tag: vX.Y.Z
1390
1391 # Setting a digest will override any tag.
1392 # +docs:property
1393 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
1394
1395 # Kubernetes imagePullPolicy on Deployment.
1396 pullPolicy: IfNotPresent
1397
1398 rbac:
1399 # annotations for the startup API Check job RBAC and PSP resources.
1400 # +docs:property
1401 annotations:
1402 helm.sh/hook: post-install
1403 helm.sh/hook-weight: "-5"
1404 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
1405
1406 # Automounting API credentials for a particular pod.
1407 # +docs:property
1408 # automountServiceAccountToken: true
1409
1410 serviceAccount:
1411 # Specifies whether a service account should be created.
1412 create: true
1413
1414 # The name of the service account to use.
1415 # If not set and create is true, a name is generated using the fullname template.
1416 # +docs:property
1417 # name: ""
1418
1419 # Optional additional annotations to add to the Job's Service Account.
1420 # +docs:property
1421 annotations:
1422 helm.sh/hook: post-install
1423 helm.sh/hook-weight: "-5"
1424 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
1425
1426 # Automount API credentials for a Service Account.
1427 # +docs:property
1428 automountServiceAccountToken: true
1429
1430 # Optional additional labels to add to the startupapicheck's Service Account.
1431 # +docs:property
1432 # labels: {}
1433
1434 # Additional volumes to add to the cert-manager controller pod.
1435 volumes: []
1436
1437 # Additional volume mounts to add to the cert-manager controller container.
1438 volumeMounts: []
1439
1440 # enableServiceLinks indicates whether information about services should be
1441 # injected into pod's environment variables, matching the syntax of Docker
1442 # links.
1443 enableServiceLinks: false
1444
1445# Create dynamic manifests via values.
1446#
1447# For example:
1448# extraObjects:
1449# - |
1450# apiVersion: v1
1451# kind: ConfigMap
1452# metadata:
1453# name: '{{ template "cert-manager.fullname" . }}-extra-configmap'
1454extraObjects: []
1455
1456# Field used by our release pipeline to produce the static manifests.
1457# The field defaults to "helm" but is set to "static" when we render
1458# the static YAML manifests.
1459# +docs:hidden
1460creator: "helm"
1461
1462# Field that can be used as a condition when cert-manager is a dependency.
1463# This definition is only here as a placeholder such that it is included in
1464# the json schema.
1465# See https://helm.sh/docs/chart_best_practices/dependencies/#conditions-and-tags
1466# for more info.
1467# +docs:hidden
1468enabled: true