4 # Create required ClusterRoles, Roles, ClusterRoleBindings and RoleBindings for trust-manager.
8 # This option decides if the CRDs should be installed
9 # as part of the Helm installation.
11 # This option makes it so that the "helm.sh/resource-policy": keep
12 # annotation is added to the CRD. This will prevent Helm from uninstalling
13 # the CRD when the Helm release is uninstalled.
14 # WARNING: when the CRDs are removed, all cert-manager custom resources
15 # (Certificates, Issuers, ...) will be removed too by the garbage collector.
17# +docs:section=Trust Manager
19# The number of replicas of trust-manager to run.
22# Use integer to set a fixed number of replicas
25# Use null, if you want to omit the replicas field and use the Kubernetes default value.
28# Use a string if you want to insert a variable for post-processing of the rendered template.
29# replicaCount: ${REPLICAS_OVERRIDE:=3}
31# +docs:type=number,string,null
33# The number of old ReplicaSets to retain to allow rollback.
34# This is used to control the number of old ReplicaSets that are retained to allow rollback.
35# If set to 0, no old ReplicaSets are retained.
36# +docs:type=number,null
37revisionHistoryLimit: 10
39# The namespace to install trust-manager into.
40# If not set, the namespace of the release is used.
41# This is helpful when installing trust-manager as a chart dependency (sub chart).
43# For Private docker registries, authentication is needed. Registry secrets are applied to the service account.
45# The container registry used for trust-manager images by default.
46# This can include path prefixes (e.g. "artifactory.example.com/docker").
49# The repository namespace used for trust-manager images by default.
54imageNamespace: jetstack
56 # Target image registry. This value is prepended to the target image repository, if set.
58 # registry: legacy.example.io
59 # Deprecated: per-component registry prefix.
61 # If set, this value is *prepended* to the image repository that the chart would otherwise render.
62 # This applies both when `image.repository` is set and when the repository is computed from
63 # `imageRegistry` + `imageNamespace` + `image.name`.
65 # This can produce "double registry" style references such as
66 # `legacy.example.io/quay.io/jetstack/...`. Prefer using the global
67 # `imageRegistry`/`imageNamespace` values.
71 # Full repository override (takes precedence over `imageRegistry`, `imageNamespace`,
73 # Example: quay.io/jetstack/trust-manager
75 repository: chainreg.biz/chainguard-private/trust-manager
76 # The image name for trust-manager.
77 # This is used (together with `imageRegistry` and `imageNamespace`) to construct the full
81 # Override the image tag to deploy by setting this variable.
82 # If no value is set, the chart's appVersion is used.
86 # Target image digest. Override any tag, if set.
88 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
92 # Kubernetes imagePullPolicy on Deployment.
93 pullPolicy: IfNotPresent
95 digest: sha256:9830eb5eb6e8a50ba2d57da218ce65aa3e127181aa2167d0600d22add5b576bf
97 # Whether to load the default trust package during pod initialization, and include it in main container args. This container enables the 'useDefaultCAs' source on Bundles.
99 # Kubernetes pod resource limits for default package init container.
111 # Target image registry. This value is prepended to the target image repository, if set.
114 # repository: jetstack/cert-manager-package-debian
115 # Deprecated: per-component registry prefix.
117 # If set, this value is *prepended* to the image repository that the chart would otherwise render.
118 # This applies both when `image.repository` is set and when the repository is computed from
119 # `imageRegistry` + `imageNamespace` + `image.name`.
121 # This can produce "double registry" style references such as
122 # `legacy.example.io/quay.io/jetstack/...`. Prefer using the global
123 # `imageRegistry`/`imageNamespace` values.
127 # Full repository override (takes precedence over `imageRegistry`, `imageNamespace`,
129 # Example: quay.io/jetstack/trust-manager
131 repository: chainreg.biz/chainguard-private/cert-manager-package-12
132 # The image name for trust-manager.
133 # This is used (together with `imageRegistry` and `imageNamespace`) to construct the full
136 name: trust-pkg-debian-trixie
137 # Override the image tag of the default package image.
138 # Is set at chart build time to the version specified in ./make/00_debian_trixie_version.mk.
142 # Target image digest. Override any tag, if set.
144 # digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20
148 # WARNING: For internal use only, is overwritten before releasing the chart.
150 _defaultReference: :20230311-deb12u1.7
151 # imagePullPolicy for the default package image.
152 pullPolicy: IfNotPresent
154 digest: sha256:9e551f7889283ebc07c64c92ed5415fed5f831f03d647b630c5f78c5912643f6
155# Automounting API credentials for the trust-manager pod.
157automountServiceAccountToken: true
159 # Specifies whether a service account should be created.
161 # The name of the service account to use.
162 # If not set and create is true, a name is generated using the fullname template.
166 # Automount API credentials for a Service Account.
168 automountServiceAccountToken: true
169# Additional volumes to add to the trust-manager pod.
171# Additional volume mounts to add to the trust-manager container.
174 # If set to true, enable writing trust bundles to Kubernetes Secrets as a target.
175 # trust-manager can only write to secrets which are explicitly allowed via either authorizedSecrets or authorizedSecretsAll.
176 # Note that enabling secret targets will grant trust-manager read access to all secrets in the cluster.
178 # If set to true, grant read/write permission to all secrets across the cluster. Use with caution!
179 # If set, ignores the authorizedSecrets list.
180 authorizedSecretsAll: false
181 # A list of secret names which trust-manager will be permitted to read and write across all namespaces.
182 # These are the only allowable Secrets that can be used as targets. If the list is empty (and authorizedSecretsAll is false),
183 # trust-manager can't write to secrets and can only read secrets in the trust namespace for use as sources.
184 authorizedSecrets: []
185# Kubernetes pod resource limits for trust.
196# Configure the priority class of the pod. For more information, see [PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass).
198# Configure the nodeSelector; defaults to any Linux node (trust-manager doesn't support Windows nodes)
201 kubernetes.io/os: linux
202# Kubernetes Affinity. For more information, see [Affinity v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core).
206# requiredDuringSchedulingIgnoredDuringExecution:
209# - key: foo.bar.com/role
214# 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).
217# - key: foo.bar.com/role
222# List of Kubernetes TopologySpreadConstraints. For more information, see [TopologySpreadConstraint v1 core](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#topologyspreadconstraint-v1-core).
224# topologySpreadConstraints:
226# topologyKey: topology.kubernetes.io/zone
227# whenUnsatisfiable: ScheduleAnyway
230# app.kubernetes.io/name: trust-manager
231topologySpreadConstraints: []
232filterExpiredCertificates:
233 # Whether to filter expired certificates from the trust bundle.
236 # Filter non-CA certificates, only CAs are used in the resulting Bundle.
239 # Minimum TLS version supported. If omitted, the default Go minimum version will be used.
241 # Comma-separated list of cipher suites for the server. If omitted, the default Go cipher suites will be used.
243 # The format of trust-manager logging. Accepted values are text or json.
245 # The verbosity of trust-manager logging. This takes a value from 1-5, with the higher value being more verbose.
248 # Whether to enable leader election for trust-manager.
250 # The duration that non-leader candidates will wait to force acquire leadership.
251 # The default should be sufficient in a healthy cluster but can be slightly increased to prevent trust-manager from restart-looping when the API server is overloaded.
253 # The interval between attempts by the acting leader to renew a leadership slot before it stops leading.
254 # This MUST be less than or equal to the lease duration.
255 # The default should be sufficient in a healthy cluster but can be slightly increased to prevent trust-manager from restart-looping when the API server is overloaded.
258 # The container port on which to expose the trust-manager HTTP readiness probe using the default network interface.
260 # The path on which to expose the trust-manager HTTP readiness probe using the default network interface.
263 # The namespace used as the trust source. Note that the namespace _must_ exist
264 # before installing trust-manager.
265 namespace: cert-manager
266 # List of target namespaces that trust-manager can write to. By default, trust-manager can write targets in any namespace.
268 # targetNamespaces: ["ns-1", "ns-2"]
270 # If false, disables the default seccomp profile, which might be required to run on certain platforms.
271 seccompProfileEnabled: true
272 # Pod labels to add to trust-manager pods.
274 # Pod annotations to add to trust-manager pods.
276 # +docs:section=Webhook
278 # Host that the webhook listens on.
280 # Port that the webhook listens on.
282 # Timeout of webhook HTTP request.
285 # The type of Kubernetes Service used by the Webhook.
287 # Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
289 # Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
291 # The nodePort set on the Service used by the webhook.
296 # Whether to issue a webhook cert using Helm, which removes the need to install cert-manager.
297 # Helm-issued certificates can be challenging to rotate and maintain, and the issued cert will have a duration of 10 years and be modified when trust-manager is updated.
298 # It's safer and easier to rely on cert-manager for issuing the webhook cert - avoid using Helm-generated certs in production.
301 # Whether to create an approver-policy CertificateRequestPolicy allowing auto-approval of the trust-manager webhook certificate. If you have approver-policy installed, you almost certainly want to enable this.
303 # The namespace in which cert-manager was installed. Only used if `app.webhook.tls.approverPolicy.enabled` is true.
304 certManagerNamespace: "cert-manager"
305 # The name of cert-manager's Service Account. Only used if `app.webhook.tls.approverPolicy.enabled` is true.
306 certManagerServiceAccount: "cert-manager"
307 # Configure certificate duration and add labels/annotations to secrets created by Certificate resources when using cert-manager provisioned TLS certificate.
309 # Certificate duration, if unset/empty the default from cert-manager will be used. Example configuration to set 1 year: duration: 8766h
314 # my-secret-annotation-1: "foo"
315 # my-secret-annotation-2: "bar"
317 # my-secret-label: foo
318 # This value specifies if the app should be started in hostNetwork mode. It is required for use in some managed Kubernetes clusters (such as AWS EKS) with custom CNI.
320 # +docs:section=Metrics
322 # The port for exposing Prometheus metrics on 0.0.0.0 on path '/metrics'.
324 # The service to expose metrics endpoint.
326 # Create a Service resource to expose the metrics endpoint.
328 # The Service type to expose metrics.
330 # Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
332 # Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
334 # The ServiceMonitor resource for this Service.
336 # Create a Prometheus ServiceMonitor for trust-manager.
338 # Sets the value of the "prometheus" label on the ServiceMonitor.
339 # This is used so that separate Prometheus instances can select different ServiceMonitors using labels.
340 prometheusInstance: default
341 # The interval to scrape the metrics.
343 # The timeout for a metrics scrape.
345 # Additional labels to add to the ServiceMonitor.
347 # EndpointAdditionalProperties allows setting additional properties on the
348 # endpoint such as relabelings, metricRelabelings etc.
351 # endpointAdditionalProperties:
355 # - __meta_kubernetes_pod_node_name
356 # targetLabel: instance
359 endpointAdditionalProperties: {}
361 # Enable or disable the PodDisruptionBudget resource.
363 # This prevents downtime during voluntary disruptions such as during a Node upgrade.
364 # For example, the PodDisruptionBudget will block `kubectl drain`
365 # if it is used on the Node where the only remaining trust-manager
366 # Pod is currently running.
368 # This configures the minimum available pods for disruptions. It can either be set to
369 # an integer (e.g. 1) or a percentage value (e.g. 25%).
370 # It cannot be used if `maxUnavailable` is set.
374# This configures the maximum unavailable pods for disruptions. It can either be set to
375# an integer (e.g. 1) or a percentage value (e.g. 25%).
376# it cannot be used if `minAvailable` is set.
381# Labels to apply to all resources
383# Annotations to apply to all resources
384# NOTE: These annotations won't be added to the CRDs.
386# Extra manifests to be deployed. This is useful for deploying additional resources that are not part of the chart.
389# - apiVersion: cilium.io/v2
390# kind: CiliumNetworkPolicy
393# namespace: trust-manager
397# io.cilium.k8s.policy.serviceaccount: trust-manager
402# Field to optionally disable installation of the chart when wrapping it as a
403# dependency in another chart.
404# This matched the helm best practices:
405# https://helm.sh/docs/chart_best_practices/dependencies/#conditions-and-tags