blob: 66df39a4b1ee931f19c1e611646b94d5d4a3cb08 [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001# Default values for cert-manager.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4global:
5 # Reference to one or more secrets to be used when pulling images
6 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
7 imagePullSecrets: []
8 # - name: "image-pull-secret"
9
10 # Labels to apply to all resources
11 # Please note that this does not add labels to the resources created dynamically by the controllers.
12 # For these resources, you have to add the labels in the template in the cert-manager custom resource:
13 # eg. podTemplate/ ingressTemplate in ACMEChallengeSolverHTTP01Ingress
14 # ref: https://cert-manager.io/docs/reference/api-docs/#acme.cert-manager.io/v1.ACMEChallengeSolverHTTP01Ingress
15 # eg. secretTemplate in CertificateSpec
16 # ref: https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec
17 commonLabels: {}
18 # team_name: dev
19
20 # Optional priority class to be used for the cert-manager pods
21 priorityClassName: ""
22 rbac:
23 create: true
24 # Aggregate ClusterRoles to Kubernetes default user-facing roles. Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
25 aggregateClusterRoles: true
26
27 podSecurityPolicy:
28 enabled: false
29 useAppArmor: true
30
31 # Set the verbosity of cert-manager. Range of 0 - 6 with 6 being the most verbose.
32 logLevel: 2
33
34 leaderElection:
35 # Override the namespace used for the leader election lease
36 namespace: "kube-system"
37
38 # The duration that non-leader candidates will wait after observing a
39 # leadership renewal until attempting to acquire leadership of a led but
40 # unrenewed leader slot. This is effectively the maximum duration that a
41 # leader can be stopped before it is replaced by another candidate.
42 # leaseDuration: 60s
43
44 # The interval between attempts by the acting master to renew a leadership
45 # slot before it stops leading. This must be less than or equal to the
46 # lease duration.
47 # renewDeadline: 40s
48
49 # The duration the clients should wait between attempting acquisition and
50 # renewal of a leadership.
51 # retryPeriod: 15s
52
53installCRDs: false
54
55replicaCount: 1
56
57strategy: {}
58 # type: RollingUpdate
59 # rollingUpdate:
60 # maxSurge: 0
61 # maxUnavailable: 1
62
63podDisruptionBudget:
64 enabled: false
65
66 minAvailable: 1
67 # maxUnavailable: 1
68
69 # minAvailable and maxUnavailable can either be set to an integer (e.g. 1)
70 # or a percentage value (e.g. 25%)
71
72# Comma separated list of feature gates that should be enabled on the controller
73# Note: do not use this field to pass feature gate values into webhook
74# component as this behaviour relies on a bug that will be fixed in cert-manager 1.13
75# https://github.com/cert-manager/cert-manager/pull/6093
76# Use webhook.extraArgs to pass --feature-gates flag directly instead.
77featureGates: ""
78
79# The maximum number of challenges that can be scheduled as 'processing' at once
80maxConcurrentChallenges: 60
81
82image:
83 repository: quay.io/jetstack/cert-manager-controller
84 # You can manage a registry with
85 # registry: quay.io
86 # repository: jetstack/cert-manager-controller
87
88 # Override the image tag to deploy by setting this variable.
89 # If no value is set, the chart's appVersion will be used.
90 # tag: canary
91
92 # Setting a digest will override any tag
93 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
94 pullPolicy: IfNotPresent
95
96# Override the namespace used to store DNS provider credentials etc. for ClusterIssuer
97# resources. By default, the same namespace as cert-manager is deployed within is
98# used. This namespace will not be automatically created by the Helm chart.
99clusterResourceNamespace: ""
100
101# This namespace allows you to define where the services will be installed into
102# if not set then they will use the namespace of the release
103# This is helpful when installing cert manager as a chart dependency (sub chart)
104namespace: ""
105
106serviceAccount:
107 # Specifies whether a service account should be created
108 create: true
109 # The name of the service account to use.
110 # If not set and create is true, a name is generated using the fullname template
111 # name: ""
112 # Optional additional annotations to add to the controller's ServiceAccount
113 # annotations: {}
114 # Automount API credentials for a Service Account.
115 # Optional additional labels to add to the controller's ServiceAccount
116 # labels: {}
117 automountServiceAccountToken: true
118
119# Automounting API credentials for a particular pod
120# automountServiceAccountToken: true
121
122# When this flag is enabled, secrets will be automatically removed when the certificate resource is deleted
123enableCertificateOwnerRef: false
124
125# Setting Nameservers for DNS01 Self Check
126# See: https://cert-manager.io/docs/configuration/acme/dns01/#setting-nameservers-for-dns01-self-check
127
128# Comma separated string with host and port of the recursive nameservers cert-manager should query
129dns01RecursiveNameservers: ""
130
131# Forces cert-manager to only use the recursive nameservers for verification.
132# Enabling this option could cause the DNS01 self check to take longer due to caching performed by the recursive nameservers
133dns01RecursiveNameserversOnly: false
134
135# Additional command line flags to pass to cert-manager controller binary.
136# To see all available flags run docker run quay.io/jetstack/cert-manager-controller:<version> --help
137extraArgs: []
138 # Use this flag to enable or disable arbitrary controllers, for example, disable the CertificiateRequests approver
139 # - --controllers=*,-certificaterequests-approver
140
141extraEnv: []
142# - name: SOME_VAR
143# value: 'some value'
144
145resources: {}
146 # requests:
147 # cpu: 10m
148 # memory: 32Mi
149
150# Pod Security Context
151# ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
152securityContext:
153 runAsNonRoot: true
154 seccompProfile:
155 type: RuntimeDefault
156
157# Container Security Context to be set on the controller component container
158# ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
159containerSecurityContext:
160 allowPrivilegeEscalation: false
161 capabilities:
162 drop:
163 - ALL
164 # readOnlyRootFilesystem: true
165 # runAsNonRoot: true
166
167
168volumes: []
169
170volumeMounts: []
171
172# Optional additional annotations to add to the controller Deployment
173# deploymentAnnotations: {}
174
175# Optional additional annotations to add to the controller Pods
176# podAnnotations: {}
177
178podLabels: {}
179
180# Optional annotations to add to the controller Service
181# serviceAnnotations: {}
182
183# Optional additional labels to add to the controller Service
184# serviceLabels: {}
185
186# Optional DNS settings, useful if you have a public and private DNS zone for
187# the same domain on Route 53. What follows is an example of ensuring
188# cert-manager can access an ingress or DNS TXT records at all times.
189# NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for
190# the cluster to work.
191# podDnsPolicy: "None"
192# podDnsConfig:
193# nameservers:
194# - "1.1.1.1"
195# - "8.8.8.8"
196
197nodeSelector:
198 kubernetes.io/os: linux
199
200ingressShim: {}
201 # defaultIssuerName: ""
202 # defaultIssuerKind: ""
203 # defaultIssuerGroup: ""
204
205prometheus:
206 enabled: true
207 servicemonitor:
208 enabled: false
209 prometheusInstance: default
210 targetPort: 9402
211 path: /metrics
212 interval: 60s
213 scrapeTimeout: 30s
214 labels: {}
215 annotations: {}
216 honorLabels: false
217
218# Use these variables to configure the HTTP_PROXY environment variables
219# http_proxy: "http://proxy:8080"
220# https_proxy: "https://proxy:8080"
221# no_proxy: 127.0.0.1,localhost
222
223# A Kubernetes Affinty, if required; see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core
224# for example:
225# affinity:
226# nodeAffinity:
227# requiredDuringSchedulingIgnoredDuringExecution:
228# nodeSelectorTerms:
229# - matchExpressions:
230# - key: foo.bar.com/role
231# operator: In
232# values:
233# - master
234affinity: {}
235
236# A list of Kubernetes Tolerations, if required; see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core
237# for example:
238# tolerations:
239# - key: foo.bar.com/role
240# operator: Equal
241# value: master
242# effect: NoSchedule
243tolerations: []
244
245# A list of Kubernetes TopologySpreadConstraints, if required; see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core
246# for example:
247# topologySpreadConstraints:
248# - maxSkew: 2
249# topologyKey: topology.kubernetes.io/zone
250# whenUnsatisfiable: ScheduleAnyway
251# labelSelector:
252# matchLabels:
253# app.kubernetes.io/instance: cert-manager
254# app.kubernetes.io/component: controller
255topologySpreadConstraints: []
256
257# LivenessProbe settings for the controller container of the controller Pod.
258#
259# Disabled by default, because the controller has a leader election mechanism
260# which should cause it to exit if it is unable to renew its leader election
261# record.
262# LivenessProbe durations and thresholds are based on those used for the Kubernetes
263# controller-manager. See:
264# https://github.com/kubernetes/kubernetes/blob/806b30170c61a38fedd54cc9ede4cd6275a1ad3b/cmd/kubeadm/app/util/staticpod/utils.go#L241-L245
265livenessProbe:
266 enabled: false
267 initialDelaySeconds: 10
268 periodSeconds: 10
269 timeoutSeconds: 15
270 successThreshold: 1
271 failureThreshold: 8
272
273webhook:
274 replicaCount: 1
275 timeoutSeconds: 10
276
277 # Used to configure options for the webhook pod.
278 # This allows setting options that'd usually be provided via flags.
279 # An APIVersion and Kind must be specified in your values.yaml file.
280 # Flags will override options that are set here.
281 config:
282 # apiVersion: webhook.config.cert-manager.io/v1alpha1
283 # kind: WebhookConfiguration
284
285 # The port that the webhook should listen on for requests.
286 # In GKE private clusters, by default kubernetes apiservers are allowed to
287 # talk to the cluster nodes only on 443 and 10250. so configuring
288 # securePort: 10250, will work out of the box without needing to add firewall
289 # rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000.
290 # This should be uncommented and set as a default by the chart once we graduate
291 # the apiVersion of WebhookConfiguration past v1alpha1.
292 # securePort: 10250
293
294 strategy: {}
295 # type: RollingUpdate
296 # rollingUpdate:
297 # maxSurge: 0
298 # maxUnavailable: 1
299
300 # Pod Security Context to be set on the webhook component Pod
301 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
302 securityContext:
303 runAsNonRoot: true
304 seccompProfile:
305 type: RuntimeDefault
306
307 podDisruptionBudget:
308 enabled: false
309
310 minAvailable: 1
311 # maxUnavailable: 1
312
313 # minAvailable and maxUnavailable can either be set to an integer (e.g. 1)
314 # or a percentage value (e.g. 25%)
315
316 # Container Security Context to be set on the webhook component container
317 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
318 containerSecurityContext:
319 allowPrivilegeEscalation: false
320 capabilities:
321 drop:
322 - ALL
323 # readOnlyRootFilesystem: true
324 # runAsNonRoot: true
325
326 # Optional additional annotations to add to the webhook Deployment
327 # deploymentAnnotations: {}
328
329 # Optional additional annotations to add to the webhook Pods
330 # podAnnotations: {}
331
332 # Optional additional annotations to add to the webhook Service
333 # serviceAnnotations: {}
334
335 # Optional additional annotations to add to the webhook MutatingWebhookConfiguration
336 # mutatingWebhookConfigurationAnnotations: {}
337
338 # Optional additional annotations to add to the webhook ValidatingWebhookConfiguration
339 # validatingWebhookConfigurationAnnotations: {}
340
341 # Additional command line flags to pass to cert-manager webhook binary.
342 # To see all available flags run docker run quay.io/jetstack/cert-manager-webhook:<version> --help
343 extraArgs: []
344 # Path to a file containing a WebhookConfiguration object used to configure the webhook
345 # - --config=<path-to-config-file>
346
347 resources: {}
348 # requests:
349 # cpu: 10m
350 # memory: 32Mi
351
352 ## Liveness and readiness probe values
353 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
354 ##
355 livenessProbe:
356 failureThreshold: 3
357 initialDelaySeconds: 60
358 periodSeconds: 10
359 successThreshold: 1
360 timeoutSeconds: 1
361 readinessProbe:
362 failureThreshold: 3
363 initialDelaySeconds: 5
364 periodSeconds: 5
365 successThreshold: 1
366 timeoutSeconds: 1
367
368 nodeSelector:
369 kubernetes.io/os: linux
370
371 affinity: {}
372
373 tolerations: []
374
375 topologySpreadConstraints: []
376
377 # Optional additional labels to add to the Webhook Pods
378 podLabels: {}
379
380 # Optional additional labels to add to the Webhook Service
381 serviceLabels: {}
382
383 image:
384 repository: quay.io/jetstack/cert-manager-webhook
385 # You can manage a registry with
386 # registry: quay.io
387 # repository: jetstack/cert-manager-webhook
388
389 # Override the image tag to deploy by setting this variable.
390 # If no value is set, the chart's appVersion will be used.
391 # tag: canary
392
393 # Setting a digest will override any tag
394 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
395
396 pullPolicy: IfNotPresent
397
398 serviceAccount:
399 # Specifies whether a service account should be created
400 create: true
401 # The name of the service account to use.
402 # If not set and create is true, a name is generated using the fullname template
403 # name: ""
404 # Optional additional annotations to add to the controller's ServiceAccount
405 # annotations: {}
406 # Optional additional labels to add to the webhook's ServiceAccount
407 # labels: {}
408 # Automount API credentials for a Service Account.
409 automountServiceAccountToken: true
410
411 # Automounting API credentials for a particular pod
412 # automountServiceAccountToken: true
413
414 # The port that the webhook should listen on for requests.
415 # In GKE private clusters, by default kubernetes apiservers are allowed to
416 # talk to the cluster nodes only on 443 and 10250. so configuring
417 # securePort: 10250, will work out of the box without needing to add firewall
418 # rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000
419 securePort: 10250
420
421 # Specifies if the webhook should be started in hostNetwork mode.
422 #
423 # Required for use in some managed kubernetes clusters (such as AWS EKS) with custom
424 # CNI (such as calico), because control-plane managed by AWS cannot communicate
425 # with pods' IP CIDR and admission webhooks are not working
426 #
427 # Since the default port for the webhook conflicts with kubelet on the host
428 # network, `webhook.securePort` should be changed to an available port if
429 # running in hostNetwork mode.
430 hostNetwork: false
431
432 # Specifies how the service should be handled. Useful if you want to expose the
433 # webhook to outside of the cluster. In some cases, the control plane cannot
434 # reach internal services.
435 serviceType: ClusterIP
436 # loadBalancerIP:
437
438 # Overrides the mutating webhook and validating webhook so they reach the webhook
439 # service using the `url` field instead of a service.
440 url: {}
441 # host:
442
443 # Enables default network policies for webhooks.
444 networkPolicy:
445 enabled: false
446 ingress:
447 - from:
448 - ipBlock:
449 cidr: 0.0.0.0/0
450 egress:
451 - ports:
452 - port: 80
453 protocol: TCP
454 - port: 443
455 protocol: TCP
456 - port: 53
457 protocol: TCP
458 - port: 53
459 protocol: UDP
460 # On OpenShift and OKD, the Kubernetes API server listens on
461 # port 6443.
462 - port: 6443
463 protocol: TCP
464 to:
465 - ipBlock:
466 cidr: 0.0.0.0/0
467
468 volumes: []
469 volumeMounts: []
470
471cainjector:
472 enabled: true
473 replicaCount: 1
474
475 strategy: {}
476 # type: RollingUpdate
477 # rollingUpdate:
478 # maxSurge: 0
479 # maxUnavailable: 1
480
481 # Pod Security Context to be set on the cainjector component Pod
482 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
483 securityContext:
484 runAsNonRoot: true
485 seccompProfile:
486 type: RuntimeDefault
487
488 podDisruptionBudget:
489 enabled: false
490
491 minAvailable: 1
492 # maxUnavailable: 1
493
494 # minAvailable and maxUnavailable can either be set to an integer (e.g. 1)
495 # or a percentage value (e.g. 25%)
496
497 # Container Security Context to be set on the cainjector component container
498 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
499 containerSecurityContext:
500 allowPrivilegeEscalation: false
501 capabilities:
502 drop:
503 - ALL
504 # readOnlyRootFilesystem: true
505 # runAsNonRoot: true
506
507
508 # Optional additional annotations to add to the cainjector Deployment
509 # deploymentAnnotations: {}
510
511 # Optional additional annotations to add to the cainjector Pods
512 # podAnnotations: {}
513
514 # Additional command line flags to pass to cert-manager cainjector binary.
515 # To see all available flags run docker run quay.io/jetstack/cert-manager-cainjector:<version> --help
516 extraArgs: []
517 # Enable profiling for cainjector
518 # - --enable-profiling=true
519
520 resources: {}
521 # requests:
522 # cpu: 10m
523 # memory: 32Mi
524
525 nodeSelector:
526 kubernetes.io/os: linux
527
528 affinity: {}
529
530 tolerations: []
531
532 topologySpreadConstraints: []
533
534 # Optional additional labels to add to the CA Injector Pods
535 podLabels: {}
536
537 image:
538 repository: quay.io/jetstack/cert-manager-cainjector
539 # You can manage a registry with
540 # registry: quay.io
541 # repository: jetstack/cert-manager-cainjector
542
543 # Override the image tag to deploy by setting this variable.
544 # If no value is set, the chart's appVersion will be used.
545 # tag: canary
546
547 # Setting a digest will override any tag
548 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
549
550 pullPolicy: IfNotPresent
551
552 serviceAccount:
553 # Specifies whether a service account should be created
554 create: true
555 # The name of the service account to use.
556 # If not set and create is true, a name is generated using the fullname template
557 # name: ""
558 # Optional additional annotations to add to the controller's ServiceAccount
559 # annotations: {}
560 # Automount API credentials for a Service Account.
561 # Optional additional labels to add to the cainjector's ServiceAccount
562 # labels: {}
563 automountServiceAccountToken: true
564
565 # Automounting API credentials for a particular pod
566 # automountServiceAccountToken: true
567
568 volumes: []
569 volumeMounts: []
570
571acmesolver:
572 image:
573 repository: quay.io/jetstack/cert-manager-acmesolver
574 # You can manage a registry with
575 # registry: quay.io
576 # repository: jetstack/cert-manager-acmesolver
577
578 # Override the image tag to deploy by setting this variable.
579 # If no value is set, the chart's appVersion will be used.
580 # tag: canary
581
582 # Setting a digest will override any tag
583 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
584
585# This startupapicheck is a Helm post-install hook that waits for the webhook
586# endpoints to become available.
587# The check is implemented using a Kubernetes Job- if you are injecting mesh
588# sidecar proxies into cert-manager pods, you probably want to ensure that they
589# are not injected into this Job's pod. Otherwise the installation may time out
590# due to the Job never being completed because the sidecar proxy does not exit.
591# See https://github.com/cert-manager/cert-manager/pull/4414 for context.
592startupapicheck:
593 enabled: true
594
595 # Pod Security Context to be set on the startupapicheck component Pod
596 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
597 securityContext:
598 runAsNonRoot: true
599 seccompProfile:
600 type: RuntimeDefault
601
602 # Container Security Context to be set on the controller component container
603 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
604 containerSecurityContext:
605 allowPrivilegeEscalation: false
606 capabilities:
607 drop:
608 - ALL
609 # readOnlyRootFilesystem: true
610 # runAsNonRoot: true
611
612 # Timeout for 'kubectl check api' command
613 timeout: 1m
614
615 # Job backoffLimit
616 backoffLimit: 4
617
618 # Optional additional annotations to add to the startupapicheck Job
619 jobAnnotations:
620 helm.sh/hook: post-install
621 helm.sh/hook-weight: "1"
622 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
623
624 # Optional additional annotations to add to the startupapicheck Pods
625 # podAnnotations: {}
626
627 # Additional command line flags to pass to startupapicheck binary.
628 # To see all available flags run docker run quay.io/jetstack/cert-manager-ctl:<version> --help
629 extraArgs: []
630
631 resources: {}
632 # requests:
633 # cpu: 10m
634 # memory: 32Mi
635
636 nodeSelector:
637 kubernetes.io/os: linux
638
639 affinity: {}
640
641 tolerations: []
642
643 # Optional additional labels to add to the startupapicheck Pods
644 podLabels: {}
645
646 image:
647 repository: quay.io/jetstack/cert-manager-ctl
648 # You can manage a registry with
649 # registry: quay.io
650 # repository: jetstack/cert-manager-ctl
651
652 # Override the image tag to deploy by setting this variable.
653 # If no value is set, the chart's appVersion will be used.
654 # tag: canary
655
656 # Setting a digest will override any tag
657 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
658
659 pullPolicy: IfNotPresent
660
661 rbac:
662 # annotations for the startup API Check job RBAC and PSP resources
663 annotations:
664 helm.sh/hook: post-install
665 helm.sh/hook-weight: "-5"
666 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
667
668 # Automounting API credentials for a particular pod
669 # automountServiceAccountToken: true
670
671 serviceAccount:
672 # Specifies whether a service account should be created
673 create: true
674
675 # The name of the service account to use.
676 # If not set and create is true, a name is generated using the fullname template
677 # name: ""
678
679 # Optional additional annotations to add to the Job's ServiceAccount
680 annotations:
681 helm.sh/hook: post-install
682 helm.sh/hook-weight: "-5"
683 helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
684
685 # Automount API credentials for a Service Account.
686 automountServiceAccountToken: true
687
688 # Optional additional labels to add to the startupapicheck's ServiceAccount
689 # labels: {}
690
691 volumes: []
692 volumeMounts: []