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 # -- Global priority class name for pod priority. Non-global values will override the global value.
34 # -- Additional container environment variables to apply to all containers and init containers
36 # Example setting proxy
39 # value: 'https://proxy.example.com:3128'
41 # -- Global node labels for pod assignment. Non-global values will override the global value.
43 # -- Global List of node taints to tolerate. Non-global values will override the global value.
45# -- (string) Override the name of the chart
47# -- (string) Override the expanded name of the chart
49# -- (string) Override the namespace the chart deploys to
52 # -- Upgrading from v2 to v3 is not allowed by default, set this to true once changes have been reviewed.
55 # -- (string) Override api version used to create `PodDisruptionBudget`` resources.
56 # When not specified the chart will check if `policy/v1/PodDisruptionBudget` is available to
57 # determine the api version automatically.
58 podDisruptionBudget: ~
61 # -- 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)
65# Use openreports.io as the API group for reporting
67 # -- Enable OpenReports feature in controllers
69 # -- Whether to install CRDs from the upstream OpenReports chart. Setting this to true requires enabled to also be true.
71# Reports Server configuration
73 # -- Enable reports-server deployment alongside Kyverno
75 # -- Wait for reports-server to be ready before starting Kyverno components
77 # -- Timeout for waiting for reports-server readiness (as duration string, e.g. 300s, 5m)
78 readinessTimeout: 300s
81 # -- 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
84 # -- Kyverno reports-server is used in your cluster
87 # -- Install CRDs in group `kyverno.io`
90 clustercleanuppolicies: true
92 globalcontextentries: true
94 policyexceptions: true
96 # -- Install CRDs in group `policies.kyverno.io`
98 validatingpolicies: true
99 policyexceptions: true
100 imagevalidatingpolicies: true
101 namespacedimagevalidatingpolicies: true
102 mutatingpolicies: true
103 namespacedmutatingpolicies: true
104 generatingpolicies: true
105 deletingpolicies: true
106 namespaceddeletingpolicies: true
107 namespacedvalidatingpolicies: true
108 # -- Install CRDs in group `reports.kyverno.io`
110 clusterephemeralreports: true
111 ephemeralreports: true
112 # -- Install CRDs in group `wgpolicyk8s.io`
114 clusterpolicyreports: true
116 # -- Additional CRDs annotations
118 # argocd.argoproj.io/sync-options: Replace=true
119 # strategy.spinnaker.io/replace: 'true'
121 # -- Additional CRDs labels
124 # -- Enable CRDs migration using helm post upgrade hook
126 # -- Resources to migrate
128 - cleanuppolicies.kyverno.io
129 - clustercleanuppolicies.kyverno.io
130 - clusterpolicies.kyverno.io
131 - globalcontextentries.kyverno.io
132 - policies.kyverno.io
133 - policyexceptions.kyverno.io
134 - updaterequests.kyverno.io
135 # policies.kyverno.io
136 - deletingpolicies.policies.kyverno.io
137 - generatingpolicies.policies.kyverno.io
138 - imagevalidatingpolicies.policies.kyverno.io
139 - mutatingpolicies.policies.kyverno.io
140 - namespaceddeletingpolicies.policies.kyverno.io
141 - namespacedgeneratingpolicies.policies.kyverno.io
142 - namespacedimagevalidatingpolicies.policies.kyverno.io
143 - namespacedmutatingpolicies.policies.kyverno.io
144 - namespacedvalidatingpolicies.policies.kyverno.io
145 - policyexceptions.policies.kyverno.io
146 - validatingpolicies.policies.kyverno.io
148 # -- (string) Image registry
150 defaultRegistry: reg.kyverno.io
151 # -- (string) Image repository
152 repository: scratch-images/test-tmp/kyverno-cli
153 # -- (string) Image tag
154 # Defaults to appVersion in Chart.yaml if omitted
155 tag: 1.18.0-r1@sha256:07dace408af85bb8b1c4388709a48a9f5f5f3a5be85527236d97603e3db879e5
156 # -- (string) Image pull policy
157 pullPolicy: IfNotPresent
158 # -- Image pull secrets
162 # -- Security context for the pod
163 podSecurityContext: {}
164 # -- Node labels for pod assignment
166 # -- List of node taints to tolerate
168 # -- Pod anti affinity constraints.
170 # -- Pod affinity constraints.
174 # -- Pod annotations.
176 # -- Node affinity constraints.
178 # -- Security context for the hook containers
184 allowPrivilegeEscalation: false
185 readOnlyRootFilesystem: true
192 # -- Pod resource limits
196 # -- Pod resource requests
201 # -- Toggle automounting of the ServiceAccount.
202 # When set to false, a projected service account token is used instead
203 # which provides time-limited and audience-bound tokens for improved security.
204 automountServiceAccountToken: true
205 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
206 projectedServiceAccountToken:
207 # -- Token expiration time in seconds.
208 # The kubelet will request a new token before the token expires.
209 expirationSeconds: 3600
210 # -- Audience for the projected service account token.
211 # If not set, the token will have no audience restriction.
213# -- Scoped token injected into outbound APICall and CEL http requests.
214# This token carries a custom audience so that if leaked to an external service
215# it cannot be replayed against the Kubernetes API server.
217 # -- Audience for the projected token used in outbound requests.
218 # Set this to the audience your receiving service validates in the OIDC token's
219 # `aud` claim. The default is `kyverno-svc.kyverno.io`, which is a Kyverno-specific
220 # audience and prevents the token from being accepted by the Kubernetes API server.
221 audience: "kyverno-svc.kyverno.io"
222 # -- Token lifetime in seconds for the projected outbound API call token.
223 # The default is `3600` (1 hour). The kubelet requests a replacement before the
224 # token expires, so lowering this reduces token lifetime while increasing rotation
226 expirationSeconds: 3600
229 # -- Create the configmap.
231 # -- Preserve the configmap settings during upgrade.
233 # -- (string) The configmap name (required if `create` is `false`).
235 # -- Additional annotations to add to the configmap.
237 # -- Enable registry mutation for container images. Enabled by default.
238 enableDefaultRegistryMutation: true
239 # -- The registry hostname used for the image mutation.
240 defaultRegistry: docker.io
244 # -- Exclude usernames
246 # - '!system:kube-scheduler'
251 excludeClusterRoles: []
252 # -- Generate success events.
253 generateSuccessEvents: false
254 # -- Comma-separated list of event actions for which success events should be generated.
255 # When set, only success events matching the specified actions are emitted.
256 # Requires `generateSuccessEvents` to be `true`.
257 # Valid values: "Resource Mutated", "Resource Passed", "Resource Generated", "Resource Cleaned Up".
258 # Example: "Resource Mutated" or "Resource Mutated,Resource Generated".
259 # @default -- "" (empty, all success events are emitted when generateSuccessEvents is true)
260 successEventActions: ""
261 # -- Maximum cumulative size of context data during policy evaluation.
262 # Supports Kubernetes quantity format (e.g., 100Mi, 2Gi) or plain bytes (e.g., 2097152).
263 # Limits memory used by context variables to prevent unbounded growth.
264 # Increase if policies legitimately need large context data (e.g., processing large ConfigMaps).
265 # Set to 0 to disable the limit (not recommended for production).
268 # -- Resource types to be skipped by the Kyverno policy engine.
269 # Make sure to surround each entry in quotes so that it doesn't get parsed as a nested YAML list.
270 # These are joined together without spaces, run through `tpl`, and the result is set in the config map.
271 # @default -- See [values.yaml](values.yaml)
274 - '[*/*,kube-system,*]'
275 - '[*/*,kube-public,*]'
276 - '[*/*,kube-node-lease,*]'
280 - '[APIService/?*,*,*]'
281 - '[TokenReview,*,*]'
282 - '[SubjectAccessReview,*,*]'
283 - '[SelfSubjectAccessReview,*,*]'
285 - '[Pod/binding,*,*]'
287 - '[ReplicaSet/?*,*,*]'
288 - '[EphemeralReport,*,*]'
289 - '[ClusterEphemeralReport,*,*]'
290 # exclude resources from the chart
291 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}]'
292 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:core]'
293 - '[ClusterRole,*,{{ template "kyverno.admission-controller.roleName" . }}:additional]'
294 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}]'
295 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:core]'
296 - '[ClusterRole,*,{{ template "kyverno.background-controller.roleName" . }}:additional]'
297 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
298 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:core]'
299 - '[ClusterRole,*,{{ template "kyverno.cleanup-controller.roleName" . }}:additional]'
300 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}]'
301 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:core]'
302 - '[ClusterRole,*,{{ template "kyverno.reports-controller.roleName" . }}:additional]'
303 - '[ClusterRoleBinding,*,{{ template "kyverno.admission-controller.roleName" . }}]'
304 - '[ClusterRoleBinding,*,{{ template "kyverno.background-controller.roleName" . }}]'
305 - '[ClusterRoleBinding,*,{{ template "kyverno.cleanup-controller.roleName" . }}]'
306 - '[ClusterRoleBinding,*,{{ template "kyverno.reports-controller.roleName" . }}]'
307 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
308 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceAccountName" . }}]'
309 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
310 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.serviceAccountName" . }}]'
311 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
312 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.serviceAccountName" . }}]'
313 - '[ServiceAccount,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
314 - '[ServiceAccount/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.serviceAccountName" . }}]'
315 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
316 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
317 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
318 - '[Role,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
319 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.roleName" . }}]'
320 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.roleName" . }}]'
321 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.roleName" . }}]'
322 - '[RoleBinding,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.roleName" . }}]'
323 - '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.configMapName" . }}]'
324 - '[ConfigMap,{{ include "kyverno.namespace" . }},{{ template "kyverno.config.metricsConfigMapName" . }}]'
325 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
326 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
327 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
328 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
329 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
330 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
331 - '[Deployment,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
332 - '[Deployment/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
333 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
334 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}-*]'
335 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
336 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-*]'
337 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
338 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-*]'
339 - '[Pod,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
340 - '[Pod/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-*]'
341 - '[Job,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
342 - '[Job/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.fullname" . }}-hook-pre-delete]'
343 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
344 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
345 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
346 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
347 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
348 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
349 - '[NetworkPolicy,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
350 - '[NetworkPolicy/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
351 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
352 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.name" . }}]'
353 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
354 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}]'
355 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
356 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
357 - '[PodDisruptionBudget,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
358 - '[PodDisruptionBudget/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}]'
359 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
360 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}]'
361 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
362 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}-metrics]'
363 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
364 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.background-controller.name" . }}-metrics]'
365 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
366 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}]'
367 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
368 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}-metrics]'
369 - '[Service,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
370 - '[Service/?*,{{ include "kyverno.namespace" . }},{{ template "kyverno.reports-controller.name" . }}-metrics]'
371 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.admission-controller.name" . }}]'
372 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.background-controller.name" . }}]'
373 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.cleanup-controller.name" . }}]'
374 - '[ServiceMonitor,{{ if .Values.admissionController.serviceMonitor.namespace }}{{ .Values.admissionController.serviceMonitor.namespace }}{{ else }}{{ template "kyverno.namespace" . }}{{ end }},{{ template "kyverno.reports-controller.name" . }}]'
375 - '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.admission-controller.serviceName" . }}.{{ template "kyverno.namespace" . }}.svc.*]'
376 - '[Secret,{{ include "kyverno.namespace" . }},{{ template "kyverno.cleanup-controller.name" . }}.{{ template "kyverno.namespace" . }}.svc.*]'
377 # -- Sets the threshold for the total number of UpdateRequests generated for mutateExisitng and generate policies.
378 updateRequestThreshold: 1000
379 # -- Defines the `namespaceSelector`/`objectSelector` in the webhook configurations.
380 # The Kyverno namespace is excluded if `excludeKyvernoNamespace` is `true` (default)
385 - key: kubernetes.io/metadata.name
392 # - key: webhooks.kyverno.io/exclude
393 # operator: DoesNotExist
394 # -- Defines annotations to set on webhook configurations.
396 # Example to disable admission enforcer on AKS:
397 'admissions.enforcer/disabled': 'true'
398 # -- Defines labels to set on webhook configurations.
400 # Example to adopt webhook resources in ArgoCD:
401 # 'argocd.argoproj.io/instance': 'kyverno'
403 # -- Defines match conditions to set on webhook configurations (requires Kubernetes 1.27+).
405 # -- Exclude Kyverno namespace
406 # Determines if default Kyverno namespace exclusion is enabled for webhooks and resourceFilters
407 excludeKyvernoNamespace: true
408 # -- resourceFilter namespace exclude
409 # Namespaces to exclude from the default resourceFilters
410 resourceFiltersExcludeNamespaces: []
411 # -- resourceFilters exclude list
412 # Items to exclude from config.resourceFilters
413 resourceFiltersExclude: []
414 # -- resourceFilter namespace include
415 # Namespaces to include to the default resourceFilters
416 resourceFiltersIncludeNamespaces: []
417 # -- resourceFilters include list
418 # Items to include to config.resourceFilters
419 resourceFiltersInclude: []
420# Metrics configuration
422 # -- Create the configmap.
424 # -- (string) The configmap name (required if `create` is `false`).
426 # -- Additional annotations to add to the configmap.
429 # -- List of namespaces to capture metrics for.
431 # -- list of namespaces to NOT capture metrics for.
433 # -- (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
434 metricsRefreshInterval: ~
435 # metricsRefreshInterval: 24h
437 # -- (list) Configures the bucket boundaries for all Histogram metrics, changing this configuration requires restart of the kyverno admission controller
438 bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 15, 20, 25, 30]
439 # -- (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
441 kyverno_policy_execution_duration_seconds:
442 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
443 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
444 kyverno_validating_policy_execution_duration_seconds:
445 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
446 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
447 kyverno_image_validating_policy_execution_duration_seconds:
448 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
449 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
450 kyverno_mutating_policy_execution_duration_seconds:
451 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
452 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
453 kyverno_generating_policy_execution_duration_seconds:
454 # bucketBoundaries: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5]
455 disabledLabelDimensions: ["resource_namespace", "resource_request_operation"]
456 kyverno_admission_review_duration_seconds:
458 disabledLabelDimensions: ["resource_namespace"]
459 kyverno_policy_rule_info_total:
460 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
461 kyverno_policy_results_total:
462 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
463 kyverno_admission_requests_total:
464 disabledLabelDimensions: ["resource_namespace"]
465 kyverno_cleanup_controller_deletedobjects_total:
466 disabledLabelDimensions: ["resource_namespace", "policy_namespace"]
467# -- Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
470# registry: foo.example.com
474# registry: bar.example.com
478# -- Existing Image pull secrets for image verification policies, this will define the `--imagePullSecrets` argument
479existingImagePullSecrets: []
481# - other-test-registry
485 # -- Sleep time before running test
488 # -- (string) Image registry
490 # -- Image repository
491 repository: scratch-images/test-tmp/kyverno-readiness-checker
493 # Defaults to `latest` if omitted
494 tag: 1.18.0-r1@sha256:07e2f2e0b22029293f375fdb3640c58252523869909899546c971f5ae8127e46
495 # -- (string) Image pull policy
496 # Defaults to image.pullPolicy if omitted
498 # -- Image pull secrets
503 # -- Pod resource limits
507 # -- Pod resource requests
511 # -- Security context for the test containers
517 allowPrivilegeEscalation: false
518 readOnlyRootFilesystem: true
524 # -- Toggle automounting of the ServiceAccount.
525 # When set to false, a projected service account token is used instead
526 # which provides time-limited and audience-bound tokens for improved security.
527 automountServiceAccountToken: true
528 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
529 projectedServiceAccountToken:
530 # -- Token expiration time in seconds.
531 # The kubelet will request a new token before the token expires.
532 expirationSeconds: 3600
533 # -- Audience for the projected service account token.
534 # If not set, the token will have no audience restriction.
536 # -- Node labels for pod assignment
538 # -- Additional Pod annotations
540 # -- List of node taints to tolerate
542# -- Additional labels
545 # -- Create a helm pre-delete hook to cleanup webhooks.
548 # -- (string) Image registry
550 # -- Image repository
551 repository: scratch-images/test-tmp/kubectl
553 # Defaults to `latest` if omitted
554 tag: 1.36.0-r0@sha256:7a93e691227757aa829b9dc7826e90fc4234d4616b951bf09dc0c358e822c848
555 # -- (string) Image pull policy
556 # Defaults to image.pullPolicy if omitted
558 # -- Image pull secrets
560 # -- Security context for the pod
561 podSecurityContext: {}
562 # -- Node labels for pod assignment
564 # -- List of node taints to tolerate
566 # -- Pod anti affinity constraints.
568 # -- Pod affinity constraints.
572 # -- Pod annotations.
574 # -- Node affinity constraints.
576 # -- Security context for the hook containers
582 allowPrivilegeEscalation: false
583 readOnlyRootFilesystem: true
590 # -- Pod resource limits
594 # -- Pod resource requests
599 # -- Toggle automounting of the ServiceAccount.
600 # When set to false, a projected service account token is used instead
601 # which provides time-limited and audience-bound tokens for improved security.
602 automountServiceAccountToken: true
603 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
604 projectedServiceAccountToken:
605 # -- Token expiration time in seconds.
606 # The kubelet will request a new token before the token expires.
607 expirationSeconds: 3600
608 # -- Audience for the projected service account token.
609 # If not set, the token will have no audience restriction.
612 # -- Enable grafana dashboard creation.
614 # -- Configmap name template.
615 configMapName: '{{ include "kyverno.fullname" . }}-grafana'
616 # -- (string) Namespace to create the grafana dashboard configmap.
617 # If not set, it will be created in the same namespace where the chart is deployed.
619 # -- Grafana dashboard configmap annotations.
621 # -- Grafana dashboard configmap labels
623 grafana_dashboard: "1"
624 # -- create GrafanaDashboard custom resource referencing to the configMap.
625 # according to https://grafana-operator.github.io/grafana-operator/docs/examples/dashboard_from_configmap/readme/
629 allowCrossNamespaceImport: true
631 dashboards: "grafana"
632# Features configuration
635 # -- Enables the feature
638 # -- Enables the feature
641 # -- Enables the feature
643 validatingAdmissionPolicyReports:
644 # -- Enables the feature
646 mutatingAdmissionPolicyReports:
647 # -- Enables the feature
650 # -- Enables the feature
652 # -- Enables the feature
654 # -- Enables the feature
656 # -- Enables the feature
658 # -- Enables the feature
661 # -- Enables the feature
664 # -- Enables the feature
666 # -- Number of background scan workers
667 backgroundScanWorkers: 2
668 # -- Background scan interval
669 backgroundScanInterval: 1h
670 # -- Skips resource filters in background scan
671 skipResourceFilters: true
673 # -- Enables the feature
675 controllerRuntimeMetrics:
676 # -- Bind address for controller-runtime metrics (use "0" to disable it)
679 # -- Enables the feature
682 # -- Enables the feature
684 forceFailurePolicyIgnore:
685 # -- Enables the feature
687 generateValidatingAdmissionPolicy:
688 # -- Enables the feature
690 generateMutatingAdmissionPolicy:
691 # -- Enables the feature
694 # -- Enables the feature
697 # -- Maximum allowed response size from API Calls. A value of 0 bypasses checks (not recommended)
698 maxApiCallResponseLength: 2000000
699 # -- Timeout for HTTP API calls made by policies. A value of 0s means no timeout.
704 # -- Logging verbosity
707 # -- Events which should not be emitted (possible values `PolicyViolation`, `PolicyApplied`, `PolicyError`, and `PolicySkipped`)
714 # -- Enables the feature
716 # -- Restrict policy exceptions to a single namespace
717 # Set to "*" to allow exceptions in all namespaces
719 protectManagedResources:
720 # -- Enables the feature
723 # -- Allow insecure registry
725 # -- Enable registry client helpers
733 # -- Reconciliation interval for the label based cleanup manager
734 reconciliationInterval: 1m
736 # -- Enables the feature
738 # -- (string) Path to Tuf root
740 # -- (string) Raw Tuf root
742 # -- (string) Tuf mirror
744# Admission controller configuration
747 # -- Enable horizontal pod autoscaling
749 # -- Minimum number of pods
751 # -- Maximum number of pods
753 # -- Target CPU utilization percentage
754 targetCPUUtilizationPercentage: 80
755 # -- (int) Target memory utilization percentage
756 targetMemoryUtilizationPercentage: ~
757 # -- Configurable scaling behavior
759 # -- Overrides features defined at the root level
762 # -- Max number of admission reports allowed in flight until the admission controller stops creating new ones
763 backPressureThreshold: 1000
765 # -- Create RBAC resources
767 # -- Create rolebinding to view role
768 createViewRoleBinding: true
769 # -- The view role to use in the rolebinding
772 # -- The ServiceAccount name
774 # -- Annotations for the ServiceAccount
776 # example.com/annotation: value
778 # -- Toggle automounting of the ServiceAccount.
779 # When set to false, a projected service account token is used instead
780 # which provides time-limited and audience-bound tokens for improved security.
781 automountServiceAccountToken: true
782 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
783 projectedServiceAccountToken:
784 # -- Token expiration time in seconds.
785 # The kubelet will request a new token before the token expires.
786 expirationSeconds: 3600
787 # -- Audience for the projected service account token.
788 # If not set, the token will have no audience restriction.
791 # -- Extra resource permissions to add in the core cluster role.
792 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
793 # @default -- See [values.yaml](values.yaml)
796 # -- Extra resource permissions to add in the cluster role
806 # -- Create self-signed certificates at deployment time.
807 # The certificates won't be automatically renewed if this is set to `true`.
808 createSelfSignedCert: false
809 # -- Key algorithm for self-signed TLS certificates.
810 # Supported values: RSA, ECDSA, Ed25519
811 # Only used when createSelfSignedCert is false (Kyverno-managed certificates).
813 # -- Configure cert-manager to manage TLS certificates.
814 # When enabled, cert-manager Certificate resources will be created to provision
815 # the TLS certificates for the admission controller.
816 # Requires cert-manager to be installed in the cluster.
817 # Takes precedence over createSelfSignedCert when enabled.
819 # -- Enable cert-manager integration for certificate management
821 # -- Create a self-signed ClusterIssuer for CA generation.
822 # Set to false if you want to use an existing issuer specified in issuerRef.
823 createSelfSignedIssuer: true
824 # -- Reference to an existing issuer for signing CA certificates.
825 # Only used when createSelfSignedIssuer is false.
827 # -- Name of the issuer
829 # -- Kind of the issuer (ClusterIssuer or Issuer)
831 # -- Group of the issuer
832 group: cert-manager.io
833 # -- Key algorithm for certificates (RSA, ECDSA, Ed25519)
835 # -- Key size for RSA (2048, 4096) or ECDSA (256, 384).
836 # Ignored for Ed25519.
838 # -- CA certificate configuration
840 # -- Duration of the CA certificate (default 10 years)
842 # -- Time before expiry to renew the CA certificate (default 30 days)
844 # -- TLS certificate configuration
846 # -- Duration of the TLS certificate (default 1 year)
848 # -- Time before expiry to renew the TLS certificate (default 30 days)
850 # -- (int) Desired number of pods
852 # -- The number of revisions to keep
853 revisionHistoryLimit: 10
854 # -- Resync period for informers
856 # -- Enable/Disable custom resource watcher to invalidate cache
858 # -- Additional labels to add to each pod
860 # example.com/label: foo
862 # -- Additional annotations to add to each pod
864 # example.com/annotation: foo
866 # -- Deployment labels.
868 # -- Deployment annotations.
870 # -- Deployment update strategy.
871 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
872 # @default -- See [values.yaml](values.yaml)
878 # -- Optional priority class
879 priorityClassName: ''
880 # -- Change `apiPriorityAndFairness` to `true` if you want to insulate the API calls made by Kyverno admission controller activities.
881 # This will help ensure Kyverno stability in busy clusters.
882 # Ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/
883 apiPriorityAndFairness: false
884 # -- Priority level configuration.
885 # The block is directly forwarded into the priorityLevelConfiguration, so you can use whatever specification you want.
886 # ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/#prioritylevelconfiguration
887 # @default -- See [values.yaml](values.yaml)
888 priorityLevelConfigurationSpec:
891 nominalConcurrencyShares: 10
896 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
897 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
898 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
900 # -- admissionController webhook server port
901 # in case you are using hostNetwork: true, you might want to change the port the webhookServer is listening to
904 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
905 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
906 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
907 dnsPolicy: ClusterFirst
908 # -- `dnsConfig` allows to specify DNS configuration for the pod.
909 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
916 # The block is directly forwarded into the deployment, so you can use whatever startupProbes configuration you want.
917 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
918 # @default -- See [values.yaml](values.yaml)
921 path: /health/liveness
925 initialDelaySeconds: 2
928 # The block is directly forwarded into the deployment, so you can use whatever livenessProbe configuration you want.
929 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
930 # @default -- See [values.yaml](values.yaml)
933 path: /health/liveness
936 initialDelaySeconds: 15
941 # -- Readiness Probe.
942 # The block is directly forwarded into the deployment, so you can use whatever readinessProbe configuration you want.
943 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
944 # @default -- See [values.yaml](values.yaml)
947 path: /health/readiness
950 initialDelaySeconds: 5
955 # -- Node labels for pod assignment
957 kubernetes.io/os: linux
958 # -- List of node taints to tolerate
961 # -- Pod antiAffinities toggle.
962 # Enabled by default but can be disabled if you want to schedule pods to the same node.
964 # -- Pod anti affinity constraints.
965 # @default -- See [values.yaml](values.yaml)
967 preferredDuringSchedulingIgnoredDuringExecution:
972 - key: app.kubernetes.io/component
975 - admission-controller
976 topologyKey: kubernetes.io/hostname
977 # -- Pod affinity constraints.
979 # -- Node affinity constraints.
981 # -- Topology spread constraints.
982 topologySpreadConstraints: []
983 # -- Security context for the pod
984 podSecurityContext: {}
986 # -- Enable PodDisruptionBudget.
987 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
989 # -- Configures the minimum available pods for disruptions.
990 # Cannot be used if `maxUnavailable` is set.
992 # -- Configures the maximum unavailable pods for disruptions.
993 # Cannot be used if `minAvailable` is set.
995 # -- Unhealthy pod eviction policy to be used.
996 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
997 unhealthyPodEvictionPolicy:
998 # -- A writable volume to use for the TUF root initialization.
999 tufRootMountPath: /.sigstore
1000 # -- Volume to be mounted in pods for TUF/cosign work.
1004 # -- CA certificates to use with Kyverno deployments
1005 # This value is expected to be one large string of CA certificates
1007 # -- Volume to be mounted for CA certificates
1008 # Not used when `.Values.admissionController.caCertificates.data` is defined
1010 # Example to use hostPath:
1012 # path: /etc/pki/tls/ca-certificates.crt
1014 # -- Image pull secrets
1015 imagePullSecrets: []
1022 defaultRegistry: reg.kyverno.io
1023 # -- Image repository
1024 repository: scratch-images/test-tmp/kyvernopre
1025 # -- (string) Image tag
1026 # If missing, defaults to image.tag
1027 tag: 1.18.0-r1@sha256:2c42583af12dae0872eb3ee9d81161c8f77e0d52f840a40e3dbf29fb9805cf82
1028 # -- (string) Image pull policy
1029 # If missing, defaults to image.pullPolicy
1032 # -- Pod resource limits
1036 # -- Pod resource requests
1040 # -- Container security context
1046 allowPrivilegeEscalation: false
1047 readOnlyRootFilesystem: true
1052 type: RuntimeDefault
1053 # -- Additional container args.
1055 # -- Additional container environment variables.
1057 # Example setting proxy
1059 # - name: HTTPS_PROXY
1060 # value: 'https://proxy.example.com:3128'
1065 defaultRegistry: reg.kyverno.io
1066 # -- Image repository
1067 repository: scratch-images/test-tmp/kyverno
1068 # -- (string) Image tag
1069 # Defaults to appVersion in Chart.yaml if omitted
1070 tag: 1.18.0-r1@sha256:e711bf0773531be81cbedb8abf746a82ffdffa572f650bfc727d49d0d7a31c6d
1071 # -- Image pull policy
1072 pullPolicy: IfNotPresent
1074 # -- Pod resource limits
1077 # -- Pod resource requests
1081 # -- Container security context
1087 allowPrivilegeEscalation: false
1088 readOnlyRootFilesystem: true
1093 type: RuntimeDefault
1094 # -- Additional container args.
1096 # -- Additional container environment variables.
1098 # Example setting proxy
1100 # - name: HTTPS_PROXY
1101 # value: 'https://proxy.example.com:3128'
1102 # -- Array of extra init containers
1103 extraInitContainers: []
1104 # - name: init-container
1106 # command: ['sh', '-c', 'echo Hello']
1108 # -- Array of extra containers to run alongside kyverno
1110 # - name: myapp-container
1112 # command: ['sh', '-c', 'echo Hello && sleep 3600']
1114 # -- Additional volumes to be mounted in the pod
1119 # -- Additional volumeMounts to be mounted to the main container
1120 extraVolumeMounts: []
1122 # mountPath: /path/to/mount
1129 # -- Service node port.
1130 # Only used if `type` is `NodePort`.
1132 # -- Service annotations.
1134 # -- (string) Service traffic distribution policy.
1135 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1136 trafficDistribution: ~
1138 # -- Create service.
1141 # Kyverno's metrics server will be exposed at this port.
1145 # -- Service node port.
1146 # Only used if `type` is `NodePort`.
1148 # -- Service annotations.
1150 # -- (string) Service traffic distribution policy.
1151 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1152 trafficDistribution: ~
1154 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1155 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1157 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1160 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1162 # -- Additional annotations
1163 additionalAnnotations: {}
1164 # -- Additional labels
1165 additionalLabels: {}
1166 # -- (string) Override namespace
1168 # -- Interval to scrape metrics
1170 # -- Timeout if metrics can't be retrieved in given time interval
1172 # -- Is TLS required for endpoint
1174 # -- TLS Configuration for endpoint
1176 # -- RelabelConfigs to apply to samples before scraping
1178 # -- MetricRelabelConfigs to apply to samples before ingestion.
1179 metricRelabelings: []
1183 # -- Traces receiver address
1185 # -- Traces receiver port
1187 # -- Traces receiver credentials
1190 # -- Disable metrics export
1192 # -- Otel configuration, can be `prometheus` or `grpc`
1194 # -- Prometheus endpoint port
1196 # -- Is TLS required for endpoint
1198 # -- Key algorithm for self-signed TLS certificates.
1199 # Supported values: RSA, ECDSA, Ed25519
1200 tlsKeyAlgorithm: RSA
1201 # -- Otel collector endpoint
1203 # -- Otel collector credentials
1206 # -- Enable profiling
1208 # -- Profiling endpoint port
1211 serviceType: ClusterIP
1212 # -- Service node port.
1213 # Only used if `type` is `NodePort`.
1215# Background controller configuration
1216backgroundController:
1217 # -- Overrides features defined at the root level
1218 featuresOverride: {}
1219 # -- Enable background controller.
1222 # -- Create RBAC resources
1224 # -- Create rolebinding to view role
1225 createViewRoleBinding: true
1226 # -- The view role to use in the rolebinding
1229 # -- Service account name
1231 # -- Annotations for the ServiceAccount
1233 # example.com/annotation: value
1235 # -- Toggle automounting of the ServiceAccount.
1236 # When set to false, a projected service account token is used instead
1237 # which provides time-limited and audience-bound tokens for improved security.
1238 automountServiceAccountToken: true
1239 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
1240 projectedServiceAccountToken:
1241 # -- Token expiration time in seconds.
1242 # The kubelet will request a new token before the token expires.
1243 expirationSeconds: 3600
1244 # -- Audience for the projected service account token.
1245 # If not set, the token will have no audience restriction.
1248 # -- Extra resource permissions to add in the core cluster role.
1249 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
1250 # @default -- See [values.yaml](values.yaml)
1264 - rbac.authorization.k8s.io
1288 - resourceclaimtemplates
1296 # -- Extra resource permissions to add in the cluster role
1310 defaultRegistry: reg.kyverno.io
1311 # -- Image repository
1312 repository: scratch-images/test-tmp/kyverno-background-controller
1314 # Defaults to appVersion in Chart.yaml if omitted
1315 tag: 1.18.0-r1@sha256:16579a383cdf1453f488d310bbf625257f151aff0853eb7f0702915efc9e39f2
1316 # -- Image pull policy
1317 pullPolicy: IfNotPresent
1318 # -- Image pull secrets
1319 imagePullSecrets: []
1322 # -- (int) Desired number of pods
1324 # -- The number of revisions to keep
1325 revisionHistoryLimit: 10
1326 # -- Resync period for informers
1328 # -- Additional labels to add to each pod
1330 # example.com/label: foo
1332 # -- Additional annotations to add to each pod
1334 # example.com/annotation: foo
1336 # -- Deployment labels.
1338 # -- Deployment annotations.
1340 # -- Deployment update strategy.
1341 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1342 # @default -- See [values.yaml](values.yaml)
1348 # -- Optional priority class
1349 priorityClassName: ''
1350 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
1351 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
1352 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
1354 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
1355 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
1356 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
1357 dnsPolicy: ClusterFirst
1358 # -- `dnsConfig` allows to specify DNS configuration for the pod.
1359 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
1365 # -- Extra arguments passed to the container on the command line
1367 # -- Additional container environment variables.
1369 # Example setting proxy
1371 # - name: HTTPS_PROXY
1372 # value: 'https://proxy.example.com:3128'
1375 # -- Pod resource limits
1378 # -- Pod resource requests
1382 # -- Node labels for pod assignment
1384 kubernetes.io/os: linux
1385 # -- List of node taints to tolerate
1388 # -- Pod antiAffinities toggle.
1389 # Enabled by default but can be disabled if you want to schedule pods to the same node.
1391 # -- Pod anti affinity constraints.
1392 # @default -- See [values.yaml](values.yaml)
1394 preferredDuringSchedulingIgnoredDuringExecution:
1399 - key: app.kubernetes.io/component
1402 - background-controller
1403 topologyKey: kubernetes.io/hostname
1404 # -- Pod affinity constraints.
1406 # -- Node affinity constraints.
1408 # -- Topology spread constraints.
1409 topologySpreadConstraints: []
1410 # -- Security context for the pod
1411 podSecurityContext: {}
1412 # -- Security context for the containers
1418 allowPrivilegeEscalation: false
1419 readOnlyRootFilesystem: true
1424 type: RuntimeDefault
1425 podDisruptionBudget:
1426 # -- Enable PodDisruptionBudget.
1427 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
1429 # -- Configures the minimum available pods for disruptions.
1430 # Cannot be used if `maxUnavailable` is set.
1432 # -- Configures the maximum unavailable pods for disruptions.
1433 # Cannot be used if `minAvailable` is set.
1435 # -- Unhealthy pod eviction policy to be used.
1436 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
1437 unhealthyPodEvictionPolicy:
1439 # -- CA certificates to use with Kyverno deployments
1440 # This value is expected to be one large string of CA certificates
1442 # -- Volume to be mounted for CA certificates
1443 # Not used when `.Values.backgroundController.caCertificates.data` is defined
1445 # Example to use hostPath:
1447 # path: /etc/pki/tls/ca-certificates.crt
1449 # -- Additional volumes to be mounted in the pod
1454 # -- Additional volumeMounts to be mounted to the main container
1455 extraVolumeMounts: []
1457 # mountPath: /path/to/mount
1460 # -- Create service.
1463 # Metrics server will be exposed at this port.
1467 # -- Service node port.
1468 # Only used if `metricsService.type` is `NodePort`.
1470 # -- Service annotations.
1472 # -- (string) Service traffic distribution policy.
1473 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1474 trafficDistribution: ~
1476 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1477 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1479 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1482 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1484 # -- Additional annotations
1485 additionalAnnotations: {}
1486 # -- Additional labels
1487 additionalLabels: {}
1488 # -- (string) Override namespace
1490 # -- Interval to scrape metrics
1492 # -- Timeout if metrics can't be retrieved in given time interval
1494 # -- Is TLS required for endpoint
1496 # -- TLS Configuration for endpoint
1498 # -- RelabelConfigs to apply to samples before scraping
1500 # -- MetricRelabelConfigs to apply to samples before ingestion.
1501 metricRelabelings: []
1505 # -- Traces receiver address
1507 # -- Traces receiver port
1509 # -- Traces receiver credentials
1512 # -- Disable metrics export
1514 # -- Otel configuration, can be `prometheus` or `grpc`
1516 # -- Prometheus endpoint port
1518 # -- Is TLS required for endpoint
1520 # -- Key algorithm for self-signed TLS certificates.
1521 # Supported values: RSA, ECDSA, Ed25519
1522 tlsKeyAlgorithm: RSA
1523 # -- Otel collector endpoint
1525 # -- Otel collector credentials
1527 # -- backgroundController server port
1528 # in case you are using hostNetwork: true, you might want to change the port the backgroundController is listening to
1532 # -- Enable profiling
1534 # -- Profiling endpoint port
1537 serviceType: ClusterIP
1538 # -- Service node port.
1539 # Only used if `type` is `NodePort`.
1541# Cleanup controller configuration
1543 # -- Overrides features defined at the root level
1544 featuresOverride: {}
1545 # -- Enable cleanup controller.
1548 # -- Create RBAC resources
1551 # -- Service account name
1553 # -- Annotations for the ServiceAccount
1555 # example.com/annotation: value
1557 # -- Toggle automounting of the ServiceAccount.
1558 # When set to false, a projected service account token is used instead
1559 # which provides time-limited and audience-bound tokens for improved security.
1560 automountServiceAccountToken: true
1561 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
1562 projectedServiceAccountToken:
1563 # -- Token expiration time in seconds.
1564 # The kubelet will request a new token before the token expires.
1565 expirationSeconds: 3600
1566 # -- Audience for the projected service account token.
1567 # If not set, the token will have no audience restriction.
1570 # -- Extra resource permissions to add in the cluster role
1580 # -- Create self-signed certificates at deployment time.
1581 # The certificates won't be automatically renewed if this is set to `true`.
1582 createSelfSignedCert: false
1583 # -- Key algorithm for self-signed TLS certificates.
1584 # Supported values: RSA, ECDSA, Ed25519
1585 # Only used when createSelfSignedCert is false (Kyverno-managed certificates).
1586 tlsKeyAlgorithm: RSA
1587 # -- Configure cert-manager to manage TLS certificates.
1588 # When enabled, cert-manager Certificate resources will be created to provision
1589 # the TLS certificates for the cleanup controller.
1590 # Requires cert-manager to be installed in the cluster.
1591 # Takes precedence over createSelfSignedCert when enabled.
1593 # -- Enable cert-manager integration for certificate management
1595 # -- Create a self-signed ClusterIssuer for CA generation.
1596 # Set to false if you want to use an existing issuer specified in issuerRef.
1597 createSelfSignedIssuer: true
1598 # -- Reference to an existing issuer for signing CA certificates.
1599 # Only used when createSelfSignedIssuer is false.
1601 # -- Name of the issuer
1603 # -- Kind of the issuer (ClusterIssuer or Issuer)
1605 # -- Group of the issuer
1606 group: cert-manager.io
1607 # -- Key algorithm for certificates (RSA, ECDSA, Ed25519)
1609 # -- Key size for RSA (2048, 4096) or ECDSA (256, 384).
1610 # Ignored for Ed25519.
1612 # -- CA certificate configuration
1614 # -- Duration of the CA certificate (default 10 years)
1616 # -- Time before expiry to renew the CA certificate (default 30 days)
1618 # -- TLS certificate configuration
1620 # -- Duration of the TLS certificate (default 1 year)
1622 # -- Time before expiry to renew the TLS certificate (default 30 days)
1627 defaultRegistry: reg.kyverno.io
1628 # -- Image repository
1629 repository: scratch-images/test-tmp/kyverno-cleanup-controller
1630 # -- (string) Image tag
1631 # Defaults to appVersion in Chart.yaml if omitted
1632 tag: 1.18.0-r1@sha256:d886ec9eb5fbe61d95fd815e4548a4064cab4554064983671eefcd842bacc18e
1633 # -- Image pull policy
1634 pullPolicy: IfNotPresent
1635 # -- Image pull secrets
1636 imagePullSecrets: []
1639 # -- (int) Desired number of pods
1641 # -- The number of revisions to keep
1642 revisionHistoryLimit: 10
1643 # -- Resync period for informers
1645 # -- Additional labels to add to each pod
1647 # example.com/label: foo
1649 # -- Additional annotations to add to each pod
1651 # example.com/annotation: foo
1653 # -- Deployment labels.
1655 # -- Deployment annotations.
1657 # -- Deployment update strategy.
1658 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1659 # @default -- See [values.yaml](values.yaml)
1665 # -- Optional priority class
1666 priorityClassName: ''
1667 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
1668 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
1669 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
1671 # -- cleanupController server port
1672 # in case you are using hostNetwork: true, you might want to change the port the cleanupController is listening to
1675 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
1676 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
1677 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
1678 dnsPolicy: ClusterFirst
1679 # -- `dnsConfig` allows to specify DNS configuration for the pod.
1680 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
1686 # -- Extra arguments passed to the container on the command line
1688 # -- Additional container environment variables.
1690 # Example setting proxy
1692 # - name: HTTPS_PROXY
1693 # value: 'https://proxy.example.com:3128'
1696 # -- Pod resource limits
1699 # -- Pod resource requests
1704 # The block is directly forwarded into the deployment, so you can use whatever startupProbes configuration you want.
1705 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1706 # @default -- See [values.yaml](values.yaml)
1709 path: /health/liveness
1712 failureThreshold: 20
1713 initialDelaySeconds: 2
1715 # -- Liveness probe.
1716 # The block is directly forwarded into the deployment, so you can use whatever livenessProbe configuration you want.
1717 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1718 # @default -- See [values.yaml](values.yaml)
1721 path: /health/liveness
1724 initialDelaySeconds: 15
1729 # -- Readiness Probe.
1730 # The block is directly forwarded into the deployment, so you can use whatever readinessProbe configuration you want.
1731 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
1732 # @default -- See [values.yaml](values.yaml)
1735 path: /health/readiness
1738 initialDelaySeconds: 5
1743 # -- Node labels for pod assignment
1745 kubernetes.io/os: linux
1746 # -- List of node taints to tolerate
1749 # -- Pod antiAffinities toggle.
1750 # Enabled by default but can be disabled if you want to schedule pods to the same node.
1752 # -- Pod anti affinity constraints.
1753 # @default -- See [values.yaml](values.yaml)
1755 preferredDuringSchedulingIgnoredDuringExecution:
1760 - key: app.kubernetes.io/component
1763 - cleanup-controller
1764 topologyKey: kubernetes.io/hostname
1765 # -- Pod affinity constraints.
1767 # -- Node affinity constraints.
1769 # -- Topology spread constraints.
1770 topologySpreadConstraints: []
1771 # -- Security context for the pod
1772 podSecurityContext: {}
1773 # -- Security context for the containers
1779 allowPrivilegeEscalation: false
1780 readOnlyRootFilesystem: true
1785 type: RuntimeDefault
1786 podDisruptionBudget:
1787 # -- Enable PodDisruptionBudget.
1788 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
1790 # -- Configures the minimum available pods for disruptions.
1791 # Cannot be used if `maxUnavailable` is set.
1793 # -- Configures the maximum unavailable pods for disruptions.
1794 # Cannot be used if `minAvailable` is set.
1796 # -- Unhealthy pod eviction policy to be used.
1797 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
1798 unhealthyPodEvictionPolicy:
1799 # -- Additional volumes to be mounted in the pod
1804 # -- Additional volumeMounts to be mounted to the main container
1805 extraVolumeMounts: []
1807 # mountPath: /path/to/mount
1814 # -- Service node port.
1815 # Only used if `service.type` is `NodePort`.
1817 # -- Service annotations.
1819 # -- (string) Service traffic distribution policy.
1820 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1821 trafficDistribution: ~
1823 # -- Create service.
1826 # Metrics server will be exposed at this port.
1830 # -- Service node port.
1831 # Only used if `metricsService.type` is `NodePort`.
1833 # -- Service annotations.
1835 # -- (string) Service traffic distribution policy.
1836 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
1837 trafficDistribution: ~
1839 # -- When true, use a NetworkPolicy to allow ingress to the webhook
1840 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
1842 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
1845 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
1847 # -- Additional annotations
1848 additionalAnnotations: {}
1849 # -- Additional labels
1850 additionalLabels: {}
1851 # -- (string) Override namespace
1853 # -- Interval to scrape metrics
1855 # -- Timeout if metrics can't be retrieved in given time interval
1857 # -- Is TLS required for endpoint
1859 # -- TLS Configuration for endpoint
1861 # -- RelabelConfigs to apply to samples before scraping
1863 # -- MetricRelabelConfigs to apply to samples before ingestion.
1864 metricRelabelings: []
1868 # -- Traces receiver address
1870 # -- Traces receiver port
1872 # -- Traces receiver credentials
1875 # -- Disable metrics export
1877 # -- Otel configuration, can be `prometheus` or `grpc`
1879 # -- Prometheus endpoint port
1881 # -- Is TLS required for endpoint
1883 # -- Key algorithm for self-signed TLS certificates.
1884 # Supported values: RSA, ECDSA, Ed25519
1885 tlsKeyAlgorithm: RSA
1886 # -- Otel collector endpoint
1888 # -- Otel collector credentials
1891 # -- Enable profiling
1893 # -- Profiling endpoint port
1896 serviceType: ClusterIP
1897 # -- Service node port.
1898 # Only used if `type` is `NodePort`.
1900# Reports controller configuration
1902 # -- Overrides features defined at the root level
1903 featuresOverride: {}
1904 # -- Enable reports controller.
1907 # -- Create RBAC resources
1909 # -- Create rolebinding to view role
1910 createViewRoleBinding: true
1911 # -- The view role to use in the rolebinding
1914 # -- Service account name
1916 # -- Annotations for the ServiceAccount
1918 # example.com/annotation: value
1920 # -- Toggle automounting of the ServiceAccount.
1921 # When set to false, a projected service account token is used instead
1922 # which provides time-limited and audience-bound tokens for improved security.
1923 automountServiceAccountToken: true
1924 # -- Projected service account token configuration (only used when automountServiceAccountToken is false)
1925 projectedServiceAccountToken:
1926 # -- Token expiration time in seconds.
1927 # The kubelet will request a new token before the token expires.
1928 expirationSeconds: 3600
1929 # -- Audience for the projected service account token.
1930 # If not set, the token will have no audience restriction.
1933 # -- Extra resource permissions to add in the core cluster role.
1934 # This was introduced to avoid breaking change in the chart but should ideally be moved in `clusterRole.extraResources`.
1935 # @default -- See [values.yaml](values.yaml)
1938 # -- Extra resource permissions to add in the cluster role
1947 defaultRegistry: reg.kyverno.io
1948 # -- Image repository
1949 repository: scratch-images/test-tmp/kyverno-reports-controller
1950 # -- (string) Image tag
1951 # Defaults to appVersion in Chart.yaml if omitted
1952 tag: 1.18.0-r1@sha256:3b426ba7a77c8b7b499fe20be95ee83ddf7dd2136e5ad253e34981d59a11f8ca
1953 # -- Image pull policy
1954 pullPolicy: IfNotPresent
1955 # -- Image pull secrets
1956 imagePullSecrets: []
1959 # -- (int) Desired number of pods
1961 # -- The number of revisions to keep
1962 revisionHistoryLimit: 10
1963 # -- Resync period for informers
1965 # -- Additional labels to add to each pod
1967 # example.com/label: foo
1969 # -- Additional annotations to add to each pod
1971 # example.com/annotation: foo
1973 # -- Deployment labels.
1975 # -- Deployment annotations.
1977 # -- Deployment update strategy.
1978 # Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1979 # @default -- See [values.yaml](values.yaml)
1985 # -- Optional priority class
1986 priorityClassName: ''
1987 # -- Change `apiPriorityAndFairness` to `true` if you want to insulate the API calls made by Kyverno reports controller activities.
1988 # This will help ensure Kyverno reports stability in busy clusters.
1989 # Ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/
1990 apiPriorityAndFairness: false
1991 # -- Priority level configuration.
1992 # The block is directly forwarded into the priorityLevelConfiguration, so you can use whatever specification you want.
1993 # ref: https://kubernetes.io/docs/concepts/cluster-administration/flow-control/#prioritylevelconfiguration
1994 # @default -- See [values.yaml](values.yaml)
1995 priorityLevelConfigurationSpec:
1998 nominalConcurrencyShares: 10
2001 queueLengthLimit: 50
2003 # -- Change `hostNetwork` to `true` when you want the pod to share its host's network namespace.
2004 # Useful for situations like when you end up dealing with a custom CNI over Amazon EKS.
2005 # Update the `dnsPolicy` accordingly as well to suit the host network mode.
2007 # -- `dnsPolicy` determines the manner in which DNS resolution happens in the cluster.
2008 # In case of `hostNetwork: true`, usually, the `dnsPolicy` is suitable to be `ClusterFirstWithHostNet`.
2009 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy.
2010 dnsPolicy: ClusterFirst
2011 # -- `dnsConfig` allows to specify DNS configuration for the pod.
2012 # For further reference: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config.
2018 # -- Extra arguments passed to the container on the command line
2020 # -- Additional container environment variables.
2022 # Example setting proxy
2024 # - name: HTTPS_PROXY
2025 # value: 'https://proxy.example.com:3128'
2028 # -- Pod resource limits
2031 # -- Pod resource requests
2035 # -- Node labels for pod assignment
2037 kubernetes.io/os: linux
2038 # -- List of node taints to tolerate
2041 # -- Pod antiAffinities toggle.
2042 # Enabled by default but can be disabled if you want to schedule pods to the same node.
2044 # -- Pod anti affinity constraints.
2045 # @default -- See [values.yaml](values.yaml)
2047 preferredDuringSchedulingIgnoredDuringExecution:
2052 - key: app.kubernetes.io/component
2055 - reports-controller
2056 topologyKey: kubernetes.io/hostname
2057 # -- Pod affinity constraints.
2059 # -- Node affinity constraints.
2061 # -- Topology spread constraints.
2062 topologySpreadConstraints: []
2063 # -- Security context for the pod
2064 podSecurityContext: {}
2065 # -- Security context for the containers
2071 allowPrivilegeEscalation: false
2072 readOnlyRootFilesystem: true
2077 type: RuntimeDefault
2078 podDisruptionBudget:
2079 # -- Enable PodDisruptionBudget.
2080 # Will always be enabled if replicas > 1. This non-declarative behavior should ideally be avoided, but changing it now would be breaking.
2082 # -- Configures the minimum available pods for disruptions.
2083 # Cannot be used if `maxUnavailable` is set.
2085 # -- Configures the maximum unavailable pods for disruptions.
2086 # Cannot be used if `minAvailable` is set.
2088 # -- Unhealthy pod eviction policy to be used.
2089 # Possible values are `IfHealthyBudget` or `AlwaysAllow`.
2090 unhealthyPodEvictionPolicy:
2091 # -- A writable volume to use for the TUF root initialization.
2092 tufRootMountPath: /.sigstore
2093 # -- Volume to be mounted in pods for TUF/cosign work.
2097 # -- CA certificates to use with Kyverno deployments
2098 # This value is expected to be one large string of CA certificates
2100 # -- Volume to be mounted for CA certificates
2101 # Not used when `.Values.reportsController.caCertificates.data` is defined
2103 # Example to use hostPath:
2105 # path: /etc/pki/tls/ca-certificates.crt
2107 # -- Additional volumes to be mounted in the pod
2112 # -- Additional volumeMounts to be mounted to the main container
2113 extraVolumeMounts: []
2115 # mountPath: /path/to/mount
2118 # -- Create service.
2121 # Metrics server will be exposed at this port.
2125 # -- (string) Service node port.
2126 # Only used if `type` is `NodePort`.
2128 # -- Service annotations.
2130 # -- (string) Service traffic distribution policy.
2131 # Set to `PreferClose` to route traffic to nearby endpoints, reducing latency and cross-zone costs.
2132 trafficDistribution: ~
2134 # -- When true, use a NetworkPolicy to allow ingress to the webhook
2135 # This is useful on clusters using Calico and/or native k8s network policies in a default-deny setup.
2137 # -- A list of valid from selectors according to https://kubernetes.io/docs/concepts/services-networking/network-policies.
2140 # -- Create a `ServiceMonitor` to collect Prometheus metrics.
2142 # -- Additional annotations
2143 additionalAnnotations: {}
2144 # -- Additional labels
2145 additionalLabels: {}
2146 # -- (string) Override namespace
2148 # -- Interval to scrape metrics
2150 # -- Timeout if metrics can't be retrieved in given time interval
2152 # -- Is TLS required for endpoint
2154 # -- TLS Configuration for endpoint
2156 # -- RelabelConfigs to apply to samples before scraping
2158 # -- MetricRelabelConfigs to apply to samples before ingestion.
2159 metricRelabelings: []
2163 # -- (string) Traces receiver address
2165 # -- (string) Traces receiver port
2167 # -- (string) Traces receiver credentials
2170 # -- Disable metrics export
2172 # -- Otel configuration, can be `prometheus` or `grpc`
2174 # -- Prometheus endpoint port
2176 # -- Is TLS required for endpoint
2178 # -- Key algorithm for self-signed TLS certificates.
2179 # Supported values: RSA, ECDSA, Ed25519
2180 tlsKeyAlgorithm: RSA
2181 # -- (string) Otel collector endpoint
2183 # -- (string) Otel collector credentials
2185 # -- reportsController server port
2186 # in case you are using hostNetwork: true, you might want to change the port the reportsController is listening to
2190 # -- Enable profiling
2192 # -- Profiling endpoint port
2195 serviceType: ClusterIP
2196 # -- Service node port.
2197 # Only used if `type` is `NodePort`.
2199 # -- Enable sanity check for reports CRDs