2 # -- Internal settings used with `helm template` to generate install manifest
9 # -- (string) Global value that allows to set a single image registry across all deployments.
10 # When set, it will override any values set under `.image.registry` across the chart.
12 # -- (list) Global list of Image pull secrets
13 # When set, it will override any values set under `imagePullSecrets` under different components across the chart.
15 # -- Resync period for informers
17 # -- Enable/Disable custom resource watcher to invalidate cache
20 # -- Global CA certificates to use with Kyverno deployments
21 # This value is expected to be one large string of CA certificates
22 # Individual controller values will override this global value
24 # -- Global value to set single volume to be mounted for CA certificates for all deployments.
25 # Not used when `.Values.global.caCertificates.data` is defined
26 # Individual controller values will override this global value
28 # Example to use hostPath:
30 # path: /etc/pki/tls/ca-certificates.crt
32 # -- Additional container environment variables to apply to all containers and init containers
34 # Example setting proxy
37 # value: 'https://proxy.example.com:3128'
39 # -- Global node labels for pod assignment. Non-global values will override the global value.
41 # -- Global List of node taints to tolerate. Non-global values will override the global value.
43# -- (string) Override the name of the chart
45# -- (string) Override the expanded name of the chart
47# -- (string) Override the namespace the chart deploys to
50 # -- Upgrading from v2 to v3 is not allowed by default, set this to true once changes have been reviewed.
53 # -- (string) Override api version used to create `PodDisruptionBudget`` resources.
54 # When not specified the chart will check if `policy/v1/PodDisruptionBudget` is available to
55 # determine the api version automatically.
56 podDisruptionBudget: ~
59 # -- 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)
63# Use openreports.io as the API group for reporting
65 # -- Enable OpenReports feature in controllers
67 # -- Whether to install CRDs from the upstream OpenReports chart. Setting this to true requires enabled to also be true.
69# Reports Server configuration
71 # -- Enable reports-server deployment alongside Kyverno
73 # -- Wait for reports-server to be ready before starting Kyverno components
75 # -- Timeout for waiting for reports-server readiness (as duration string, e.g. 300s, 5m)
76 readinessTimeout: 300s
79 # -- Whether to have Helm install the Kyverno CRDs, if the CRDs are not installed by Helm, they must be added before policies can be created
82 # -- Kyverno reports-server is used in your cluster
85 # -- Install CRDs in group `kyverno.io`
88 clustercleanuppolicies: true
90 globalcontextentries: true
92 policyexceptions: true
94 # -- Install CRDs in group `policies.kyverno.io`
96 validatingpolicies: true
97 policyexceptions: true
98 imagevalidatingpolicies: true
99 namespacedimagevalidatingpolicies: true
100 mutatingpolicies: true
101 namespacedmutatingpolicies: true
102 generatingpolicies: true
103 deletingpolicies: true
104 namespaceddeletingpolicies: true
105 namespacedvalidatingpolicies: true
106 # -- Install CRDs in group `reports.kyverno.io`
108 clusterephemeralreports: true
109 ephemeralreports: true
110 # -- Install CRDs in group `wgpolicyk8s.io`
112 clusterpolicyreports: true
114 # -- Additional CRDs annotations
116 # argocd.argoproj.io/sync-options: Replace=true
117 # strategy.spinnaker.io/replace: 'true'
119 # -- Additional CRDs labels
122 # -- Enable CRDs migration using helm post upgrade hook
124 # -- Resources to migrate
126 - cleanuppolicies.kyverno.io
127 - clustercleanuppolicies.kyverno.io
128 - clusterpolicies.kyverno.io
129 - globalcontextentries.kyverno.io
130 - policies.kyverno.io
131 - policyexceptions.kyverno.io
132 - updaterequests.kyverno.io
133 # policies.kyverno.io
134 - deletingpolicies.policies.kyverno.io
135 - generatingpolicies.policies.kyverno.io
136 - imagevalidatingpolicies.policies.kyverno.io
137 - mutatingpolicies.policies.kyverno.io
138 - namespaceddeletingpolicies.policies.kyverno.io
139 - namespacedgeneratingpolicies.policies.kyverno.io
140 - namespacedimagevalidatingpolicies.policies.kyverno.io
141 - namespacedmutatingpolicies.policies.kyverno.io
142 - namespacedvalidatingpolicies.policies.kyverno.io
143 - policyexceptions.policies.kyverno.io
144 - validatingpolicies.policies.kyverno.io
146 # -- (string) Image registry
148 defaultRegistry: reg.kyverno.io
149 # -- (string) Image repository
150 repository: chainguard-private/kyverno-cli
151 # -- (string) Image tag
152 # Defaults to appVersion in Chart.yaml if omitted
153 tag: latest@sha256:485fe86eaa7c8d9670edf62c54774cae6c9891c3de11d58e4cc9301b798c8792
154 # -- (string) Image pull policy
155 pullPolicy: IfNotPresent
156 # -- Image pull secrets
160 # -- Security context for the pod
161 podSecurityContext: {}
162 # -- Node labels for pod assignment
164 # -- List of node taints to tolerate
166 # -- Pod anti affinity constraints.
168 # -- Pod affinity constraints.
172 # -- Pod annotations.
174 # -- Node affinity constraints.
176 # -- Security context for the hook containers
182 allowPrivilegeEscalation: false
183 readOnlyRootFilesystem: true
190 # -- Pod resource limits
194 # -- Pod resource requests
199 # -- Toggle automounting of the ServiceAccount
200 automountServiceAccountToken: true
201# -- Scoped token injected into outbound APICall and CEL HTTP requests.
202# This token carries a custom audience so that if leaked to an external service
203# it cannot be replayed against the Kubernetes API server.
205 # -- Audience for the projected token used in outbound requests.
206 # Set this to the audience your receiving service validates in the OIDC token's
207 # `aud` claim. The default is `kyverno-svc.kyverno.io`, which is a Kyverno-specific
208 # audience and prevents the token from being accepted by the Kubernetes API server.
209 audience: "kyverno-svc.kyverno.io"
210 # -- Token lifetime in seconds for the projected outbound API call token.
211 # The default is `3600` (1 hour). The kubelet requests a replacement before the
212 # token expires, so lowering this reduces token lifetime while increasing rotation
214 expirationSeconds: 3600
217 # -- Create the configmap.
219 # -- Preserve the configmap settings during upgrade.
221 # -- (string) The configmap name (required if `create` is `false`).
223 # -- Additional annotations to add to the configmap.
225 # -- Enable registry mutation for container images. Enabled by default.
226 enableDefaultRegistryMutation: true
227 # -- The registry hostname used for the image mutation.
228 defaultRegistry: docker.io
232 # -- Exclude usernames
234 # - '!system:kube-scheduler'
239 excludeClusterRoles: []
240 # -- Generate success events.
241 generateSuccessEvents: false
242 # -- Maximum cumulative size of context data during policy evaluation.
243 # Supports Kubernetes quantity format (e.g., 100Mi, 2Gi) or plain bytes (e.g., 2097152).
244 # Limits memory used by context variables to prevent unbounded growth.
245 # Increase if policies legitimately need large context data (e.g., processing large ConfigMaps).
246 # Set to 0 to disable the limit (not recommended for production).
249 # -- Resource types to be skipped by the Kyverno policy engine.
250 # Make sure to surround each entry in quotes so that it doesn't get parsed as a nested YAML list.
251 # These are joined together without spaces, run through `tpl`, and the result is set in the config map.
252 # @default -- See [values.yaml](values.yaml)
255 - '[*/*,kube-system,*]'
256 - '[*/*,kube-public,*]'
257 - '[*/*,kube-node-lease,*]'
261 - '[APIService/?*,*,*]'
262 - '[TokenReview,*,*]'
263 - '[SubjectAccessReview,*,*]'
264 - '[SelfSubjectAccessReview,*,*]'
266 - '[Pod/binding,*,*]'
268 - '[ReplicaSet/?*,*,*]'
269 - '[EphemeralReport,*,*]'
270 - '[ClusterEphemeralReport,*,*]'
271 # exclude resources from the chart
272 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}]'
273 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:core]'
274 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:additional]'
275 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}]'
276 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:core]'
277 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:additional]'
278 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
279 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:core]'
280 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:additional]'
281 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}]'
282 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:core]'
283 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:additional]'
284 - '[ClusterRoleBinding,*,{{ template "kyverno.admission-controller.roleName" . }}]'
285 - '[ClusterRoleBinding,*,{{ template "kyverno.background-controller.roleName" . }}]'
286 - '[ClusterRoleBinding,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
287 - '[ClusterRoleBinding,*,{{ template "kyverno.reports-controller.roleName" . }}]'
288 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
289 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
290 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
291 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
292 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
293 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
294 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
295 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
296 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
297 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
298 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
299 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
300 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
301 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
302 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
303 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
304 - '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.configMapName" . }}]'
305 - '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.metricsConfigMapName" . }}]'
306 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
307 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
308 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
309 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
310 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
311 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
312 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
313 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
314 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
315 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
316 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
317 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
318 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
319 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
320 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
321 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
322 - '[Job,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
323 - '[Job/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
324 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
325 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
326 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
327 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
328 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
329 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
330 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
331 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
332 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
333 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
334 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
335 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
336 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
337 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
338 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
339 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
340 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
341 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
342 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
343 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
344 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
345 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
346 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
347 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
348 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
349 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
350 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
351 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
352 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.admission-controller.name" . }}]'
353 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.background-controller.name" . }}]'
354 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.cleanup-controller.name" . }}]'
355 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.reports-controller.name" . }}]'
356 - '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}.{{ template "kyverno.namespace" . }}.svc.*]'
357 - '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}.{{ template "kyverno.namespace" . }}.svc.*]'
358 # -- Sets the threshold for the total number of UpdateRequests generated for mutateExisitng and generate policies.
359 updateRequestThreshold: 1000
360 # -- Defines the `namespaceSelector`/`objectSelector` in the webhook configurations.
361 # The Kyverno namespace is excluded if `excludeKyvernoNamespace` is `true` (default)
366 - key: kubernetes.io/metadata.name
373 # - key: webhooks.kyverno.io/exclude
374 # operator: DoesNotExist
375 # -- Defines annotations to set on webhook configurations.
377 # Example to disable admission enforcer on AKS:
378 'admissions.enforcer/disabled': 'true'
379 # -- Defines labels to set on webhook configurations.
381 # Example to adopt webhook resources in ArgoCD:
382 # 'argocd.argoproj.io/instance': 'kyverno'
384 # -- Defines match conditions to set on webhook configurations (requires Kubernetes 1.27+).
386 # -- Exclude Kyverno namespace
387 # Determines if default Kyverno namespace exclusion is enabled for webhooks and resourceFilters
388 excludeKyvernoNamespace: true
389 # -- resourceFilter namespace exclude
390 # Namespaces to exclude from the default resourceFilters
391 resourceFiltersExcludeNamespaces: []
392 # -- resourceFilters exclude list
393 # Items to exclude from config.resourceFilters
394 resourceFiltersExclude: []
395 # -- resourceFilter namespace include
396 # Namespaces to include to the default resourceFilters
397 resourceFiltersIncludeNamespaces: []
398 # -- resourceFilters include list
399 # Items to include to config.resourceFilters
400 resourceFiltersInclude: []
401# Metrics configuration
403 # -- Create the configmap.
405 # -- (string) The configmap name (required if `create` is `false`).
407 # -- Additional annotations to add to the configmap.
410 # -- List of namespaces to capture metrics for.
412 # -- list of namespaces to NOT capture metrics for.
414 # -- (string) Rate at which metrics should reset so as to clean up the memory footprint of kyverno metrics, if you might be expecting high memory footprint of Kyverno's metrics. Default: 0, no refresh of metrics. WARNING: This flag is not working since Kyverno 1.8.0
415 metricsRefreshInterval: ~
416 # metricsRefreshInterval: 24h
418 # -- (list) Configures the bucket boundaries for all Histogram metrics, changing this configuration requires restart of the kyverno admission controller
419 bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 15, 20, 25, 30]
420 # -- (map) Configures the exposure of individual metrics, by default all metrics and all labels are exported, changing this configuration requires restart of the kyverno admission controller
422 kyverno_policy_execution_duration_seconds:
423 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
424 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
425 kyverno_validating_policy_execution_duration_seconds:
426 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
427 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
428 kyverno_image_validating_policy_execution_duration_seconds:
429 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
430 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
431 kyverno_mutating_policy_execution_duration_seconds:
432 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
433 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
434 kyverno_generating_policy_execution_duration_seconds:
435 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
436 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
437 kyverno_admission_review_duration_seconds:
439 disabledLabelDimensions: ["resource_namespace"]
440 kyverno_policy_rule_info_total:
441 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
442 kyverno_policy_results_total:
443 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
444 kyverno_admission_requests_total:
445 disabledLabelDimensions: ["resource_namespace"]
446 kyverno_cleanup_controller_deletedobjects_total:
447 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
448# -- Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
451# registry: foo.example.com
455# registry: bar.example.com
459# -- Existing Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
460existingImagePullSecrets: []
462# - other-test-registry
466 # -- Sleep time before running test
469 # -- (string) Image registry
471 # -- Image repository
472 repository: chainguard-private/kyverno-readiness-checker
474 # Defaults to `latest` if omitted
475 tag: latest@sha256:f7fd92b4f64c70b8ff327b6377f02a23e57987c6271687fcee79f7a561b19441
476 # -- (string) Image pull policy
477 # Defaults to image.pullPolicy if omitted
479 # -- Image pull secrets
484 # -- Pod resource limits
488 # -- Pod resource requests
492 # -- Security context for the test containers
498 allowPrivilegeEscalation: false
499 readOnlyRootFilesystem: true
505 # -- Toggle automounting of the ServiceAccount
506 automountServiceAccountToken: true
507 # -- Node labels for pod assignment
509 # -- Additional Pod annotations
511 # -- List of node taints to tolerate
513# -- Additional labels
516 # -- Create a helm pre-delete hook to cleanup webhooks.
519 # -- Allow webhooks controller to delete webhooks using finalizers
522 # -- (string) Image registry
524 # -- Image repository
525 repository: chainguard-private/kubectl
527 # Defaults to `latest` if omitted
528 tag: latest@sha256:f51a127d9e1cd1b687557167139ff23d81ce5362d8d58fff3d539d2bf9fd3612
529 # -- (string) Image pull policy
530 # Defaults to image.pullPolicy if omitted
532 # -- Image pull secrets
534 # -- Security context for the pod
535 podSecurityContext: {}
536 # -- Node labels for pod assignment
538 # -- List of node taints to tolerate
540 # -- Pod anti affinity constraints.
542 # -- Pod affinity constraints.
546 # -- Pod annotations.
548 # -- Node affinity constraints.
550 # -- Security context for the hook containers
556 allowPrivilegeEscalation: false
557 readOnlyRootFilesystem: true
564 # -- Pod resource limits
568 # -- Pod resource requests
573 # -- Toggle automounting of the ServiceAccount
574 automountServiceAccountToken: true
576 # -- Enable grafana dashboard creation.
578 # -- Configmap name template.
579 configMapName: '{{ include "kyverno.fullname" . }}-grafana'
580 # -- (string) Namespace to create the grafana dashboard configmap.
581 # If not set, it will be created in the same namespace where the chart is deployed.
583 # -- Grafana dashboard configmap annotations.
585 # -- Grafana dashboard configmap labels
587 grafana_dashboard: "1"
588 # -- create GrafanaDashboard custom resource referencing to the configMap.
589 # according to https://grafana-operator.github.io/grafana-operator/docs/examples/dashboard_from_configmap/readme/
593 allowCrossNamespaceImport: true
595 dashboards: "grafana"
596# Features configuration
599 # -- Enables the feature
602 # -- Enables the feature
605 # -- Enables the feature
607 validatingAdmissionPolicyReports:
608 # -- Enables the feature
610 mutatingAdmissionPolicyReports:
611 # -- Enables the feature
614 # -- Enables the feature
616 # -- Enables the feature
618 # -- Enables the feature
620 # -- Enables the feature
622 # -- Enables the feature
625 # -- Enables the feature
628 # -- Enables the feature
630 # -- Number of background scan workers
631 backgroundScanWorkers: 2
632 # -- Background scan interval
633 backgroundScanInterval: 1h
634 # -- Skips resource filters in background scan
635 skipResourceFilters: true
637 # -- Enables the feature
639 controllerRuntimeMetrics:
640 # -- Bind address for controller-runtime metrics (use "0" to disable it)
643 # -- Enables the feature
646 # -- Enables the feature
648 forceFailurePolicyIgnore:
649 # -- Enables the feature
651 generateValidatingAdmissionPolicy:
652 # -- Enables the feature
654 generateMutatingAdmissionPolicy:
655 # -- Enables the feature
658 # -- Enables the feature
661 # -- Maximum allowed response size from API Calls. A value of 0 bypasses checks (not recommended)
662 maxApiCallResponseLength: 2000000
666 # -- Logging verbosity
669 # -- Events which should not be emitted (possible values `PolicyViolation`, `PolicyApplied`, `PolicyError`, and `PolicySkipped`)
676 # -- Enables the feature
678 # -- Restrict policy exceptions to a single namespace
679 # Set to "*" to allow exceptions in all namespaces
681 protectManagedResources:
682 # -- Enables the feature
685 # -- Allow insecure registry
687 # -- Enable registry client helpers
695 # -- Reconciliation interval for the label based cleanup manager
696 reconciliationInterval: 1m
698 # -- Enables the feature
700 # -- (string) Path to Tuf root
702 # -- (string) Raw Tuf root
704 # -- (string) Tuf mirror
706# Admission controller configuration
709 # -- Enable horizontal pod autoscaling
711 # -- Minimum number of pods
713 # -- Maximum number of pods
715 # -- Target CPU utilization percentage
716 targetCPUUtilizationPercentage: 80
717 # -- Configurable scaling behavior
719 # -- Overrides features defined at the root level
722 # -- Max number of admission reports allowed in flight until the admission controller stops creating new ones
723 backPressureThreshold: 1000
725 # -- Create RBAC resources
727 # -- Create rolebinding to view role
728 createViewRoleBinding: true
729 # -- The view role to use in the rolebinding
732 # -- The ServiceAccount name
734 # -- Annotations for the ServiceAccount
736 # example.com/annotation: value
738 # -- Toggle automounting of the ServiceAccount
739 automountServiceAccountToken: true
741 # -- Extra resource permissions to add in the core cluster role.
742 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
743 # @default -- See [values.yaml](values.yaml)
746 # -- Extra resource permissions to add in the cluster role
756 # -- Create self-signed certificates at deployment time.
757 # The certificates won't be automatically renewed if this is set to `true`.
758 createSelfSignedCert: false
759 # -- Key algorithm for self-signed TLS certificates.
760 # Supported values: RSA, ECDSA, Ed25519
761 # Only used when createSelfSignedCert is false (Kyverno-managed certificates).
763 # -- Configure cert-manager to manage TLS certificates.
764 # When enabled, cert-manager Certificate resources will be created to provision
765 # the TLS certificates for the admission controller.
766 # Requires cert-manager to be installed in the cluster.
767 # Takes precedence over createSelfSignedCert when enabled.
769 # -- Enable cert-manager integration for certificate management
771 # -- Create a self-signed ClusterIssuer for CA generation.
772 # Set to false if you want to use an existing issuer specified in issuerRef.
773 createSelfSignedIssuer: true
774 # -- Reference to an existing issuer for signing CA certificates.
775 # Only used when createSelfSignedIssuer is false.
777 # -- Name of the issuer
779 # -- Kind of the issuer (ClusterIssuer or Issuer)
781 # -- Group of the issuer
782 group: cert-manager.io
783 # -- Key algorithm for certificates (RSA, ECDSA, Ed25519)
785 # -- Key size for RSA (2048, 4096) or ECDSA (256, 384).
786 # Ignored for Ed25519.
788 # -- CA certificate configuration
790 # -- Duration of the CA certificate (default 10 years)
792 # -- Time before expiry to renew the CA certificate (default 30 days)
794 # -- TLS certificate configuration
796 # -- Duration of the TLS certificate (default 1 year)
798 # -- Time before expiry to renew the TLS certificate (default 30 days)
800 # -- (int) Desired number of pods
802 # -- The number of revisions to keep
803 revisionHistoryLimit: 10
804 # -- Resync period for informers
806 # -- Enable/Disable custom resource watcher to invalidate cache
808 # -- Additional labels to add to each pod
810 # example.com/label: foo
812 # -- Additional annotations to add to each pod
814 # example.com/annotation: foo
816 # -- Deployment annotations.
818 # -- Deployment update strategy.
819 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
820 # @default -- See [values.yaml](values.yaml)
826 # -- Optional priority class
827 priorityClassName: ''
828 # -- Change `apiPriorityAndFairness` to `true` if you want to insulate the API calls made by Kyverno admission controller activities.
829 # This will help ensure Kyverno stability in busy clusters.
830 # Ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/
831 apiPriorityAndFairness: false
832 # -- Priority level configuration.
833 # The block is directly forwarded into the priorityLevelConfiguration, so you can use whatever specification you want.
834 # ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/#prioritylevelconfiguration
835 # @default -- See [values.yaml](values.yaml)
836 priorityLevelConfigurationSpec:
839 nominalConcurrencyShares: 10
844 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
845 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
846 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
848 # -- admissionController webhook server port
849 # in case you are using hostNetwork: true, you might want to change the port the webhookServer is listening to
852 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
853 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
854 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
855 dnsPolicy: ClusterFirst
856 # -- `dnsConfig` allows to specify DNS configuration for the pod.
857 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
864 # The block is directly forwarded into the deployment, so you can use whatever startupProbes configuration you want.
865 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
866 # @default -- See [values.yaml](values.yaml)
869 path: /health/liveness
873 initialDelaySeconds: 2
876 # The block is directly forwarded into the deployment, so you can use whatever livenessProbe configuration you want.
877 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
878 # @default -- See [values.yaml](values.yaml)
881 path: /health/liveness
884 initialDelaySeconds: 15
889 # -- Readiness Probe.
890 # The block is directly forwarded into the deployment, so you can use whatever readinessProbe configuration you want.
891 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
892 # @default -- See [values.yaml](values.yaml)
895 path: /health/readiness
898 initialDelaySeconds: 5
903 # -- Node labels for pod assignment
905 kubernetes.io/os: linux
906 # -- List of node taints to tolerate
909 # -- Pod antiAffinities toggle.
910 # Enabled by default but can be disabled if you want to schedule pods to the same node.
912 # -- Pod anti affinity constraints.
913 # @default -- See [values.yaml](values.yaml)
915 preferredDuringSchedulingIgnoredDuringExecution:
920 - key: app.kubernetes.io/component
923 - admission-controller
924 topologyKey: kubernetes.io/hostname
925 # -- Pod affinity constraints.
927 # -- Node affinity constraints.
929 # -- Topology spread constraints.
930 topologySpreadConstraints: []
931 # -- Security context for the pod
932 podSecurityContext: {}
934 # -- Enable PodDisruptionBudget.
935 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
937 # -- Configures the minimum available pods for disruptions.
938 # Cannot be used if `maxUnavailable` is set.
940 # -- Configures the maximum unavailable pods for disruptions.
941 # Cannot be used if `minAvailable` is set.
943 # -- Unhealthy pod eviction policy to be used.
944 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
945 unhealthyPodEvictionPolicy:
946 # -- A writable volume to use for the TUF root initialization.
947 tufRootMountPath: /.sigstore
948 # -- Volume to be mounted in pods for TUF/cosign work.
952 # -- CA certificates to use with Kyverno deployments
953 # This value is expected to be one large string of CA certificates
955 # -- Volume to be mounted for CA certificates
956 # Not used when `.Values.admissionController.caCertificates.data` is defined
958 # Example to use hostPath:
960 # path: /etc/pki/tls/ca-certificates.crt
962 # -- Image pull secrets
970 defaultRegistry: reg.kyverno.io
971 # -- Image repository
972 repository: chainguard-private/kyvernopre
973 # -- (string) Image tag
974 # If missing, defaults to image.tag
975 tag: latest@sha256:73c5661395d1d610f4e1fe7e400c966c0d6d3ca9f4ecc339338210c16a4b355d
976 # -- (string) Image pull policy
977 # If missing, defaults to image.pullPolicy
980 # -- Pod resource limits
984 # -- Pod resource requests
988 # -- Container security context
992 allowPrivilegeEscalation: false
993 readOnlyRootFilesystem: true
999 # -- Additional container args.
1001 # -- Additional container environment variables.
1003 # Example setting proxy
1005 # - name: HTTPS_PROXY
1006 # value: 'https://proxy.example.com:3128'
1011 defaultRegistry: reg.kyverno.io
1012 # -- Image repository
1013 repository: chainguard-private/kyverno
1014 # -- (string) Image tag
1015 # Defaults to appVersion in Chart.yaml if omitted
1016 tag: latest@sha256:32b7a1026067d149bc3136d69439c054b460aa23705feb088271ec2b11e0f805
1017 # -- Image pull policy
1018 pullPolicy: IfNotPresent
1020 # -- Pod resource limits
1023 # -- Pod resource requests
1027 # -- Container security context
1031 allowPrivilegeEscalation: false
1032 readOnlyRootFilesystem: true
1037 type: RuntimeDefault
1038 # -- Additional container args.
1040 # -- Additional container environment variables.
1042 # Example setting proxy
1044 # - name: HTTPS_PROXY
1045 # value: 'https://proxy.example.com:3128'
1046 # -- Array of extra init containers
1047 extraInitContainers: []
1048 # - name: init-container
1050 # command: ['sh', '-c', 'echo Hello']
1052 # -- Array of extra containers to run alongside kyverno
1054 # - name: myapp-container
1056 # command: ['sh', '-c', 'echo Hello && sleep 3600']
1063 # -- Service node port.
1064 # Only used if `type` is `NodePort`.
1066 # -- Service annotations.
1068 # -- (string) Service traffic distribution policy.
1069 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1070 trafficDistribution: ~
1072 # -- Create service.
1075 # Kyverno's metrics server will be exposed at this port.
1079 # -- Service node port.
1080 # Only used if `type` is `NodePort`.
1082 # -- Service annotations.
1084 # -- (string) Service traffic distribution policy.
1085 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1086 trafficDistribution: ~
1088 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1089 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1091 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1094 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1096 # -- Additional annotations
1097 additionalAnnotations: {}
1098 # -- Additional labels
1099 additionalLabels: {}
1100 # -- (string) Override namespace
1102 # -- Interval to scrape metrics
1104 # -- Timeout if metrics can't be retrieved in given time interval
1106 # -- Is TLS required for endpoint
1108 # -- TLS Configuration for endpoint
1110 # -- RelabelConfigs to apply to samples before scraping
1112 # -- MetricRelabelConfigs to apply to samples before ingestion.
1113 metricRelabelings: []
1117 # -- Traces receiver address
1119 # -- Traces receiver port
1121 # -- Traces receiver credentials
1124 # -- Disable metrics export
1126 # -- Otel configuration, can be `prometheus` or `grpc`
1128 # -- Prometheus endpoint port
1130 # -- Otel collector endpoint
1132 # -- Otel collector credentials
1135 # -- Enable profiling
1137 # -- Profiling endpoint port
1140 serviceType: ClusterIP
1141 # -- Service node port.
1142 # Only used if `type` is `NodePort`.
1144# Background controller configuration
1145backgroundController:
1146 # -- Overrides features defined at the root level
1147 featuresOverride: {}
1148 # -- Enable background controller.
1151 # -- Create RBAC resources
1153 # -- Create rolebinding to view role
1154 createViewRoleBinding: true
1155 # -- The view role to use in the rolebinding
1158 # -- Service account name
1160 # -- Annotations for the ServiceAccount
1162 # example.com/annotation: value
1164 # -- Toggle automounting of the ServiceAccount
1165 automountServiceAccountToken: true
1167 # -- Extra resource permissions to add in the core cluster role.
1168 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
1169 # @default -- See [values.yaml](values.yaml)
1183 - rbac.authorization.k8s.io
1207 - resourceclaimtemplates
1215 # -- Extra resource permissions to add in the cluster role
1229 defaultRegistry: reg.kyverno.io
1230 # -- Image repository
1231 repository: chainguard-private/kyverno-background-controller
1233 # Defaults to appVersion in Chart.yaml if omitted
1234 tag: latest@sha256:f3b9109e9edb332250bfcea75273f98789d5fc07cf4801fab4ad71cd78ec5b80
1235 # -- Image pull policy
1236 pullPolicy: IfNotPresent
1237 # -- Image pull secrets
1238 imagePullSecrets: []
1241 # -- (int) Desired number of pods
1243 # -- The number of revisions to keep
1244 revisionHistoryLimit: 10
1245 # -- Resync period for informers
1247 # -- Additional labels to add to each pod
1249 # example.com/label: foo
1251 # -- Additional annotations to add to each pod
1253 # example.com/annotation: foo
1255 # -- Deployment annotations.
1257 # -- Deployment update strategy.
1258 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1259 # @default -- See [values.yaml](values.yaml)
1265 # -- Optional priority class
1266 priorityClassName: ''
1267 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
1268 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
1269 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
1271 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
1272 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
1273 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
1274 dnsPolicy: ClusterFirst
1275 # -- `dnsConfig` allows to specify DNS configuration for the pod.
1276 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
1282 # -- Extra arguments passed to the container on the command line
1284 # -- Additional container environment variables.
1286 # Example setting proxy
1288 # - name: HTTPS_PROXY
1289 # value: 'https://proxy.example.com:3128'
1292 # -- Pod resource limits
1295 # -- Pod resource requests
1299 # -- Node labels for pod assignment
1301 kubernetes.io/os: linux
1302 # -- List of node taints to tolerate
1305 # -- Pod antiAffinities toggle.
1306 # Enabled by default but can be disabled if you want to schedule pods to the same node.
1308 # -- Pod anti affinity constraints.
1309 # @default -- See [values.yaml](values.yaml)
1311 preferredDuringSchedulingIgnoredDuringExecution:
1316 - key: app.kubernetes.io/component
1319 - background-controller
1320 topologyKey: kubernetes.io/hostname
1321 # -- Pod affinity constraints.
1323 # -- Node affinity constraints.
1325 # -- Topology spread constraints.
1326 topologySpreadConstraints: []
1327 # -- Security context for the pod
1328 podSecurityContext: {}
1329 # -- Security context for the containers
1333 allowPrivilegeEscalation: false
1334 readOnlyRootFilesystem: true
1339 type: RuntimeDefault
1340 podDisruptionBudget:
1341 # -- Enable PodDisruptionBudget.
1342 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
1344 # -- Configures the minimum available pods for disruptions.
1345 # Cannot be used if `maxUnavailable` is set.
1347 # -- Configures the maximum unavailable pods for disruptions.
1348 # Cannot be used if `minAvailable` is set.
1350 # -- Unhealthy pod eviction policy to be used.
1351 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
1352 unhealthyPodEvictionPolicy:
1354 # -- CA certificates to use with Kyverno deployments
1355 # This value is expected to be one large string of CA certificates
1357 # -- Volume to be mounted for CA certificates
1358 # Not used when `.Values.backgroundController.caCertificates.data` is defined
1360 # Example to use hostPath:
1362 # path: /etc/pki/tls/ca-certificates.crt
1365 # -- Create service.
1368 # Metrics server will be exposed at this port.
1372 # -- Service node port.
1373 # Only used if `metricsService.type` is `NodePort`.
1375 # -- Service annotations.
1377 # -- (string) Service traffic distribution policy.
1378 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1379 trafficDistribution: ~
1381 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1382 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1384 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1387 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1389 # -- Additional annotations
1390 additionalAnnotations: {}
1391 # -- Additional labels
1392 additionalLabels: {}
1393 # -- (string) Override namespace
1395 # -- Interval to scrape metrics
1397 # -- Timeout if metrics can't be retrieved in given time interval
1399 # -- Is TLS required for endpoint
1401 # -- TLS Configuration for endpoint
1403 # -- RelabelConfigs to apply to samples before scraping
1405 # -- MetricRelabelConfigs to apply to samples before ingestion.
1406 metricRelabelings: []
1410 # -- Traces receiver address
1412 # -- Traces receiver port
1414 # -- Traces receiver credentials
1417 # -- Disable metrics export
1419 # -- Otel configuration, can be `prometheus` or `grpc`
1421 # -- Prometheus endpoint port
1423 # -- Otel collector endpoint
1425 # -- Otel collector credentials
1427 # -- backgroundController server port
1428 # in case you are using hostNetwork: true, you might want to change the port the backgroundController is listening to
1432 # -- Enable profiling
1434 # -- Profiling endpoint port
1437 serviceType: ClusterIP
1438 # -- Service node port.
1439 # Only used if `type` is `NodePort`.
1441# Cleanup controller configuration
1443 # -- Overrides features defined at the root level
1444 featuresOverride: {}
1445 # -- Enable cleanup controller.
1448 # -- Create RBAC resources
1451 # -- Service account name
1453 # -- Annotations for the ServiceAccount
1455 # example.com/annotation: value
1457 # -- Toggle automounting of the ServiceAccount
1458 automountServiceAccountToken: true
1460 # -- Extra resource permissions to add in the cluster role
1470 # -- Create self-signed certificates at deployment time.
1471 # The certificates won't be automatically renewed if this is set to `true`.
1472 createSelfSignedCert: false
1473 # -- Key algorithm for self-signed TLS certificates.
1474 # Supported values: RSA, ECDSA, Ed25519
1475 # Only used when createSelfSignedCert is false (Kyverno-managed certificates).
1476 tlsKeyAlgorithm: RSA
1477 # -- Configure cert-manager to manage TLS certificates.
1478 # When enabled, cert-manager Certificate resources will be created to provision
1479 # the TLS certificates for the cleanup controller.
1480 # Requires cert-manager to be installed in the cluster.
1481 # Takes precedence over createSelfSignedCert when enabled.
1483 # -- Enable cert-manager integration for certificate management
1485 # -- Create a self-signed ClusterIssuer for CA generation.
1486 # Set to false if you want to use an existing issuer specified in issuerRef.
1487 createSelfSignedIssuer: true
1488 # -- Reference to an existing issuer for signing CA certificates.
1489 # Only used when createSelfSignedIssuer is false.
1491 # -- Name of the issuer
1493 # -- Kind of the issuer (ClusterIssuer or Issuer)
1495 # -- Group of the issuer
1496 group: cert-manager.io
1497 # -- Key algorithm for certificates (RSA, ECDSA, Ed25519)
1499 # -- Key size for RSA (2048, 4096) or ECDSA (256, 384).
1500 # Ignored for Ed25519.
1502 # -- CA certificate configuration
1504 # -- Duration of the CA certificate (default 10 years)
1506 # -- Time before expiry to renew the CA certificate (default 30 days)
1508 # -- TLS certificate configuration
1510 # -- Duration of the TLS certificate (default 1 year)
1512 # -- Time before expiry to renew the TLS certificate (default 30 days)
1517 defaultRegistry: reg.kyverno.io
1518 # -- Image repository
1519 repository: chainguard-private/kyverno-cleanup-controller
1520 # -- (string) Image tag
1521 # Defaults to appVersion in Chart.yaml if omitted
1522 tag: latest@sha256:d5609de492060dd40e439aaca32b7396221b328d60f39f044d9cb57f49f82476
1523 # -- Image pull policy
1524 pullPolicy: IfNotPresent
1525 # -- Image pull secrets
1526 imagePullSecrets: []
1529 # -- (int) Desired number of pods
1531 # -- The number of revisions to keep
1532 revisionHistoryLimit: 10
1533 # -- Resync period for informers
1535 # -- Additional labels to add to each pod
1537 # example.com/label: foo
1539 # -- Additional annotations to add to each pod
1541 # example.com/annotation: foo
1543 # -- Deployment annotations.
1545 # -- Deployment update strategy.
1546 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1547 # @default -- See [values.yaml](values.yaml)
1553 # -- Optional priority class
1554 priorityClassName: ''
1555 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
1556 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
1557 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
1559 # -- cleanupController server port
1560 # in case you are using hostNetwork: true, you might want to change the port the cleanupController is listening to
1563 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
1564 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
1565 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
1566 dnsPolicy: ClusterFirst
1567 # -- `dnsConfig` allows to specify DNS configuration for the pod.
1568 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
1574 # -- Extra arguments passed to the container on the command line
1576 # -- Additional container environment variables.
1578 # Example setting proxy
1580 # - name: HTTPS_PROXY
1581 # value: 'https://proxy.example.com:3128'
1584 # -- Pod resource limits
1587 # -- Pod resource requests
1592 # The block is directly forwarded into the deployment, so you can use whatever startupProbes configuration you want.
1593 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1594 # @default -- See [values.yaml](values.yaml)
1597 path: /health/liveness
1600 failureThreshold: 20
1601 initialDelaySeconds: 2
1603 # -- Liveness probe.
1604 # The block is directly forwarded into the deployment, so you can use whatever livenessProbe configuration you want.
1605 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1606 # @default -- See [values.yaml](values.yaml)
1609 path: /health/liveness
1612 initialDelaySeconds: 15
1617 # -- Readiness Probe.
1618 # The block is directly forwarded into the deployment, so you can use whatever readinessProbe configuration you want.
1619 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1620 # @default -- See [values.yaml](values.yaml)
1623 path: /health/readiness
1626 initialDelaySeconds: 5
1631 # -- Node labels for pod assignment
1633 kubernetes.io/os: linux
1634 # -- List of node taints to tolerate
1637 # -- Pod antiAffinities toggle.
1638 # Enabled by default but can be disabled if you want to schedule pods to the same node.
1640 # -- Pod anti affinity constraints.
1641 # @default -- See [values.yaml](values.yaml)
1643 preferredDuringSchedulingIgnoredDuringExecution:
1648 - key: app.kubernetes.io/component
1651 - cleanup-controller
1652 topologyKey: kubernetes.io/hostname
1653 # -- Pod affinity constraints.
1655 # -- Node affinity constraints.
1657 # -- Topology spread constraints.
1658 topologySpreadConstraints: []
1659 # -- Security context for the pod
1660 podSecurityContext: {}
1661 # -- Security context for the containers
1665 allowPrivilegeEscalation: false
1666 readOnlyRootFilesystem: true
1671 type: RuntimeDefault
1672 podDisruptionBudget:
1673 # -- Enable PodDisruptionBudget.
1674 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
1676 # -- Configures the minimum available pods for disruptions.
1677 # Cannot be used if `maxUnavailable` is set.
1679 # -- Configures the maximum unavailable pods for disruptions.
1680 # Cannot be used if `minAvailable` is set.
1682 # -- Unhealthy pod eviction policy to be used.
1683 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
1684 unhealthyPodEvictionPolicy:
1690 # -- Service node port.
1691 # Only used if `service.type` is `NodePort`.
1693 # -- Service annotations.
1695 # -- (string) Service traffic distribution policy.
1696 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1697 trafficDistribution: ~
1699 # -- Create service.
1702 # Metrics server will be exposed at this port.
1706 # -- Service node port.
1707 # Only used if `metricsService.type` is `NodePort`.
1709 # -- Service annotations.
1711 # -- (string) Service traffic distribution policy.
1712 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1713 trafficDistribution: ~
1715 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1716 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1718 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1721 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1723 # -- Additional annotations
1724 additionalAnnotations: {}
1725 # -- Additional labels
1726 additionalLabels: {}
1727 # -- (string) Override namespace
1729 # -- Interval to scrape metrics
1731 # -- Timeout if metrics can't be retrieved in given time interval
1733 # -- Is TLS required for endpoint
1735 # -- TLS Configuration for endpoint
1737 # -- RelabelConfigs to apply to samples before scraping
1739 # -- MetricRelabelConfigs to apply to samples before ingestion.
1740 metricRelabelings: []
1744 # -- Traces receiver address
1746 # -- Traces receiver port
1748 # -- Traces receiver credentials
1751 # -- Disable metrics export
1753 # -- Otel configuration, can be `prometheus` or `grpc`
1755 # -- Prometheus endpoint port
1757 # -- Otel collector endpoint
1759 # -- Otel collector credentials
1762 # -- Enable profiling
1764 # -- Profiling endpoint port
1767 serviceType: ClusterIP
1768 # -- Service node port.
1769 # Only used if `type` is `NodePort`.
1771# Reports controller configuration
1773 # -- Overrides features defined at the root level
1774 featuresOverride: {}
1775 # -- Enable reports controller.
1778 # -- Create RBAC resources
1780 # -- Create rolebinding to view role
1781 createViewRoleBinding: true
1782 # -- The view role to use in the rolebinding
1785 # -- Service account name
1787 # -- Annotations for the ServiceAccount
1789 # example.com/annotation: value
1791 # -- Toggle automounting of the ServiceAccount
1792 automountServiceAccountToken: true
1794 # -- Extra resource permissions to add in the core cluster role.
1795 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
1796 # @default -- See [values.yaml](values.yaml)
1799 # -- Extra resource permissions to add in the cluster role
1808 defaultRegistry: reg.kyverno.io
1809 # -- Image repository
1810 repository: chainguard-private/kyverno-reports-controller
1811 # -- (string) Image tag
1812 # Defaults to appVersion in Chart.yaml if omitted
1813 tag: latest@sha256:1bbe2a3d4818e666d8562125b10614209bd0cd8b1129ae7afaf75a61a3146fea
1814 # -- Image pull policy
1815 pullPolicy: IfNotPresent
1816 # -- Image pull secrets
1817 imagePullSecrets: []
1820 # -- (int) Desired number of pods
1822 # -- The number of revisions to keep
1823 revisionHistoryLimit: 10
1824 # -- Resync period for informers
1826 # -- Additional labels to add to each pod
1828 # example.com/label: foo
1830 # -- Additional annotations to add to each pod
1832 # example.com/annotation: foo
1834 # -- Deployment annotations.
1836 # -- Deployment update strategy.
1837 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1838 # @default -- See [values.yaml](values.yaml)
1844 # -- Optional priority class
1845 priorityClassName: ''
1846 # -- Change `apiPriorityAndFairness` to `true` if you want to insulate the API calls made by Kyverno reports controller activities.
1847 # This will help ensure Kyverno reports stability in busy clusters.
1848 # Ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/
1849 apiPriorityAndFairness: false
1850 # -- Priority level configuration.
1851 # The block is directly forwarded into the priorityLevelConfiguration, so you can use whatever specification you want.
1852 # ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/#prioritylevelconfiguration
1853 # @default -- See [values.yaml](values.yaml)
1854 priorityLevelConfigurationSpec:
1857 nominalConcurrencyShares: 10
1860 queueLengthLimit: 50
1862 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
1863 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
1864 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
1866 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
1867 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
1868 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
1869 dnsPolicy: ClusterFirst
1870 # -- `dnsConfig` allows to specify DNS configuration for the pod.
1871 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
1877 # -- Extra arguments passed to the container on the command line
1879 # -- Additional container environment variables.
1881 # Example setting proxy
1883 # - name: HTTPS_PROXY
1884 # value: 'https://proxy.example.com:3128'
1887 # -- Pod resource limits
1890 # -- Pod resource requests
1894 # -- Node labels for pod assignment
1896 kubernetes.io/os: linux
1897 # -- List of node taints to tolerate
1900 # -- Pod antiAffinities toggle.
1901 # Enabled by default but can be disabled if you want to schedule pods to the same node.
1903 # -- Pod anti affinity constraints.
1904 # @default -- See [values.yaml](values.yaml)
1906 preferredDuringSchedulingIgnoredDuringExecution:
1911 - key: app.kubernetes.io/component
1914 - reports-controller
1915 topologyKey: kubernetes.io/hostname
1916 # -- Pod affinity constraints.
1918 # -- Node affinity constraints.
1920 # -- Topology spread constraints.
1921 topologySpreadConstraints: []
1922 # -- Security context for the pod
1923 podSecurityContext: {}
1924 # -- Security context for the containers
1928 allowPrivilegeEscalation: false
1929 readOnlyRootFilesystem: true
1934 type: RuntimeDefault
1935 podDisruptionBudget:
1936 # -- Enable PodDisruptionBudget.
1937 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
1939 # -- Configures the minimum available pods for disruptions.
1940 # Cannot be used if `maxUnavailable` is set.
1942 # -- Configures the maximum unavailable pods for disruptions.
1943 # Cannot be used if `minAvailable` is set.
1945 # -- Unhealthy pod eviction policy to be used.
1946 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
1947 unhealthyPodEvictionPolicy:
1948 # -- A writable volume to use for the TUF root initialization.
1949 tufRootMountPath: /.sigstore
1950 # -- Volume to be mounted in pods for TUF/cosign work.
1954 # -- CA certificates to use with Kyverno deployments
1955 # This value is expected to be one large string of CA certificates
1957 # -- Volume to be mounted for CA certificates
1958 # Not used when `.Values.reportsController.caCertificates.data` is defined
1960 # Example to use hostPath:
1962 # path: /etc/pki/tls/ca-certificates.crt
1965 # -- Create service.
1968 # Metrics server will be exposed at this port.
1972 # -- (string) Service node port.
1973 # Only used if `type` is `NodePort`.
1975 # -- Service annotations.
1977 # -- (string) Service traffic distribution policy.
1978 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1979 trafficDistribution: ~
1981 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1982 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1984 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1987 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1989 # -- Additional annotations
1990 additionalAnnotations: {}
1991 # -- Additional labels
1992 additionalLabels: {}
1993 # -- (string) Override namespace
1995 # -- Interval to scrape metrics
1997 # -- Timeout if metrics can't be retrieved in given time interval
1999 # -- Is TLS required for endpoint
2001 # -- TLS Configuration for endpoint
2003 # -- RelabelConfigs to apply to samples before scraping
2005 # -- MetricRelabelConfigs to apply to samples before ingestion.
2006 metricRelabelings: []
2010 # -- (string) Traces receiver address
2012 # -- (string) Traces receiver port
2014 # -- (string) Traces receiver credentials
2017 # -- Disable metrics export
2019 # -- Otel configuration, can be `prometheus` or `grpc`
2021 # -- Prometheus endpoint port
2023 # -- (string) Otel collector endpoint
2025 # -- (string) Otel collector credentials
2027 # -- reportsController server port
2028 # in case you are using hostNetwork: true, you might want to change the port the reportsController is listening to
2032 # -- Enable profiling
2034 # -- Profiling endpoint port
2037 serviceType: ClusterIP
2038 # -- Service node port.
2039 # Only used if `type` is `NodePort`.
2041 # -- Enable sanity check for reports CRDs