1# Default values for the trivy-operator Helm chart, these are used to render
2# the templates into valid k8s Resources.
4# -- global values provide a centralized configuration for 'image.registry', reducing the potential for errors.
5# If left blank, the chart will default to the individually set 'image.registry' values
9# -- managedBy is similar to .Release.Service but allows to overwrite the value
11# -- targetNamespace defines where you want trivy-operator to operate. By
12# default, it's a blank string to select all namespaces, but you can specify
13# another namespace, or a comma separated list of namespaces.
15# -- excludeNamespaces is a comma separated list of namespaces (or glob patterns)
16# to be excluded from scanning. Only applicable in the all namespaces install
17# mode, i.e. when the targetNamespaces values is a blank string.
19# -- extraEnv is a list of extra environment variables for the trivy-operator.
21# -- hostAliases for `deployment` (TrivyOperator) and `statefulset` (TrivyServer)
32# -- targetWorkloads is a comma seperated list of Kubernetes workload resources
33# to be included in the vulnerability and config-audit scans
34# if left blank, all workload resources will be scanned
35targetWorkloads: "pod,replicaset,replicationcontroller,statefulset,daemonset,cronjob,job"
36# -- nameOverride override operator name
38# -- fullnameOverride override operator full name
41 # -- namespace to install the operator, defaults to the .Release.Namespace
43 # -- replicas the number of replicas of the operator's pod
45 # -- number of old history to retain to allow rollback (if not set, default Kubernetes value is set to 10)
46 revisionHistoryLimit: ~
47 # -- additional annotations for the operator deployment
49 # -- additional labels for the operator deployment
51 # -- additional labels for the operator pod
53 # -- leaderElectionId determines the name of the resource that leader election
54 # will use for holding the leader lock.
55 leaderElectionId: "trivyoperator-lock"
56 # -- logDevMode the flag to enable development mode (more human-readable output, extra stack traces and logging information, etc)
58 # -- scanJobTTL the set automatic cleanup time after the job is completed
60 # -- scanSecretTTL set an automatic cleanup for scan job secrets
62 # -- scanJobTimeout the length of time to wait before giving up on a scan job
64 # -- scanJobsConcurrentLimit the maximum number of scan jobs create by the operator
65 scanJobsConcurrentLimit: 10
66 # -- scanNodeCollectorLimit the maximum number of node collector jobs create by the operator
67 scanNodeCollectorLimit: 1
68 # -- scanJobsRetryDelay the duration to wait before retrying a failed scan job
69 scanJobsRetryDelay: 30s
70 # -- the flag to enable vulnerability scanner
71 vulnerabilityScannerEnabled: true
72 # -- the flag to enable sbom generation, required for enabling ClusterVulnerabilityReports
73 sbomGenerationEnabled: true
74 # -- the flag to enable cluster sbom cache generation
75 clusterSbomCacheEnabled: false
76 # -- scannerReportTTL the flag to set how long a report should exist. "" means that the ScannerReportTTL feature is disabled
77 scannerReportTTL: "24h"
78 # -- cacheReportTTL the flag to set how long a cluster sbom report should exist. "" means that the cacheReportTTL feature is disabled
79 cacheReportTTL: "120h"
80 # -- configAuditScannerEnabled the flag to enable configuration audit scanner
81 configAuditScannerEnabled: true
82 # -- rbacAssessmentScannerEnabled the flag to enable rbac assessment scanner
83 rbacAssessmentScannerEnabled: true
84 # -- infraAssessmentScannerEnabled the flag to enable infra assessment scanner
85 infraAssessmentScannerEnabled: true
86 # -- clusterComplianceEnabled the flag to enable cluster compliance scanner
87 clusterComplianceEnabled: true
88 # -- batchDeleteLimit the maximum number of config audit reports deleted by the operator when the plugin's config has changed.
90 # -- vulnerabilityScannerScanOnlyCurrentRevisions the flag to only create vulnerability scans on the current revision of a deployment.
91 vulnerabilityScannerScanOnlyCurrentRevisions: true
92 # -- configAuditScannerScanOnlyCurrentRevisions the flag to only create config audit scans on the current revision of a deployment.
93 configAuditScannerScanOnlyCurrentRevisions: true
94 # -- batchDeleteDelay the duration to wait before deleting another batch of config audit reports.
96 # -- accessGlobalSecretsAndServiceAccount The flag to enable access to global secrets/service accounts to allow `vulnerability scan job` to pull images from private registries
97 accessGlobalSecretsAndServiceAccount: true
98 # -- builtInTrivyServer The flag enables the usage of built-in trivy server in cluster. It also overrides the following trivy params with built-in values
99 # trivy.mode = ClientServer and serverURL = http://<serverServiceName>.<trivy operator namespace>:4975
100 builtInTrivyServer: false
101 # -- builtInServerRegistryInsecure is the flag to enable insecure connection from the built-in Trivy server to the registry.
102 builtInServerRegistryInsecure: false
103 # -- controllerCacheSyncTimeout the duration to wait for controller resources cache sync (default: 5m).
104 controllerCacheSyncTimeout: "5m"
105 # -- trivyServerHealthCheckCacheExpiration The flag to set the interval for trivy server health cache before it invalidate
106 trivyServerHealthCheckCacheExpiration: 10h
107 # -- metricsFindingsEnabled the flag to enable metrics for findings
108 metricsFindingsEnabled: true
109 # -- metricsVulnIdEnabled the flag to enable metrics about cve vulns id
110 # be aware of metrics cardinality is significantly increased with this feature enabled.
111 metricsVulnIdEnabled: false
112 # -- exposedSecretScannerEnabled the flag to enable exposed secret scanner
113 exposedSecretScannerEnabled: true
114 # -- MetricsExposedSecretInfo the flag to enable metrics about exposed secrets
115 # be aware of metrics cardinality is significantly increased with this feature enabled.
116 metricsExposedSecretInfo: false
117 # -- MetricsConfigAuditInfo the flag to enable metrics about configuration audits
118 # be aware of metrics cardinality is significantly increased with this feature enabled.
119 metricsConfigAuditInfo: false
120 # -- MetricsRbacAssessmentInfo the flag to enable metrics about Rbac Assessment
121 # be aware of metrics cardinality is significantly increased with this feature enabled.
122 metricsRbacAssessmentInfo: false
123 # -- MetricsInfraAssessmentInfo the flag to enable metrics about Infra Assessment
124 # be aware of metrics cardinality is significantly increased with this feature enabled.
125 metricsInfraAssessmentInfo: false
126 # -- MetricsImageInfo the flag to enable metrics about Image Information of scanned images
127 # This information has image os information including os family, name/version, and if end of service life has been reached
128 # be aware of metrics cardinality is significantly increased with this feature enabled.
129 metricsImageInfo: false
130 # -- MetricsClusterComplianceInfo the flag to enable metrics about Cluster Compliance
131 # be aware of metrics cardinality is significantly increased with this feature enabled.
132 metricsClusterComplianceInfo: false
133 # -- serverAdditionalAnnotations the flag to set additional annotations for the trivy server pod
134 serverAdditionalAnnotations: {}
135 # -- webhookBroadcastURL the flag to set reports should be sent to a webhook endpoint. "" means that the webhookBroadcastURL feature is disabled
136 webhookBroadcastURL: ""
137 # -- webhookBroadcastTimeout the flag to set timeout for webhook requests if webhookBroadcastURL is enabled
138 webhookBroadcastTimeout: 30s
139 # -- webhookBroadcastCustomHeaders the flag to set webhook endpoint sent with custom defined headers if webhookBroadcastURL is enabled
140 webhookBroadcastCustomHeaders: ""
141 # -- webhookSendDeletedReports the flag to enable sending deleted reports if webhookBroadcastURL is enabled
142 webhookSendDeletedReports: false
143 # -- privateRegistryScanSecretsNames is map of namespace:secrets, secrets are comma seperated which can be used to authenticate in private registries in case if there no imagePullSecrets provided example : {"mynamespace":"mySecrets,anotherSecret"}
144 privateRegistryScanSecretsNames: {}
145 # -- mergeRbacFindingWithConfigAudit the flag to enable merging rbac finding with config-audit report
146 mergeRbacFindingWithConfigAudit: false
147 # -- httpProxy is the HTTP proxy used by Trivy operator to download the default policies from GitHub.
149 # -- httpsProxy is the HTTPS proxy used by Trivy operator to download the default policies from GitHub.
151 # -- noProxy is a comma separated list of IPs and domain names that are not subject to proxy settings.
153 # -- vaulesFromConfigMap name of a ConfigMap to apply OPERATOR_* environment variables. Will override Helm values.
154 valuesFromConfigMap: ""
155 # -- valuesFromSecret name of a Secret to apply OPERATOR_* environment variables. Will override Helm AND ConfigMap values.
157 # -- pprofBindAddress the address to bind the pprof server to. By default, it is not enabled.
160 registry: chainreg.biz
161 repository: chainguard-private/trivy-operator
162 # -- tag is an override of the image tag, which is by default set by the
163 # appVersion field in Chart.yaml.
164 tag: 0.35.0-r0@sha256:a37ed86c441874066827a4fd3222bc235398ade6fd455bbb933fadd1030d3957
165 # -- pullPolicy set the operator pullPolicy
166 pullPolicy: IfNotPresent
167 # -- pullSecrets set the operator pullSecrets
169# -- service only expose a metrics endpoint for prometheus to scrape,
170# trivy-operator does not have a user interface.
172 # -- if true, the Service doesn't allocate any IP
174 # -- port exposed by the Service
176 # -- annotations added to the operator's service
178 # -- appProtocol of the monitoring service
179 metricsAppProtocol: TCP
180 # -- the Service type
182 # -- the nodeport to use when service type is LoadBalancer or NodePort. If not set, Kubernetes automatically select one.
184# -- Prometheus ServiceMonitor configuration -- to install the trivy operator with the ServiceMonitor
185# you must have Prometheus already installed and running. If you do not have Prometheus installed, enabling this will
188 # -- enabled determines whether a serviceMonitor should be deployed
190 # -- The namespace where Prometheus expects to find service monitors
192 # -- Interval at which metrics should be scraped. If not specified Prometheus’ global scrape interval is used.
194 # -- Additional annotations for the serviceMonitor
196 # -- Additional labels for the serviceMonitor
198 # -- HonorLabels chooses the metric’s labels on collisions with target labels
200 # -- EndpointAdditionalProperties allows setting additional properties on the endpoint such as relabelings, metricRelabelings etc.
201 endpointAdditionalProperties: {}
203 # -- vulnerabilityReportsPlugin the name of the plugin that generates vulnerability reports `Trivy`
204 vulnerabilityReportsPlugin: "Trivy"
205 # -- configAuditReportsPlugin the name of the plugin that generates config audit reports.
206 configAuditReportsPlugin: "Trivy"
207 # -- scanJobCompressLogs control whether scanjob output should be compressed or plain
208 scanJobCompressLogs: true
209 # -- scanJobsInSameNamespace control whether to run vulnerability scan jobs in same namespace of workload
210 scanJobsInSameNamespace: false
211 # -- scanJobAffinity affinity to be applied to the scanner pods and node-collector
213 # -- scanJobTolerations tolerations to be applied to the scanner pods so that they can run on nodes with matching taints
214 scanJobTolerations: []
215 # -- If you do want to specify tolerations, uncomment the following lines, adjust them as necessary, and remove the
216 # square brackets after 'scanJobTolerations:'.
220 # effect: "NoSchedule"
221 # -- scanJobNodeSelector nodeSelector to be applied to the scanner pods so that they can run on nodes with matching labels
222 scanJobNodeSelector: {}
223 # -- If you do want to specify nodeSelector, uncomment the following lines, adjust them as necessary, and remove the
224 # square brackets after 'scanJobNodeSelector:'.
227 # teamOwner: operators
229 # -- scanJobCustomVolumesMount add custom volumes mount to the scan job
230 scanJobCustomVolumesMount: []
231 # - name: var-lib-etcd
232 # mountPath: /var/lib/etcd
235 # -- scanJobCustomVolumes add custom volumes to the scan job
236 scanJobCustomVolumes: []
237 # - name: var-lib-etcd
239 # path: /var/lib/etcd
241 # -- useGCRServiceAccount the flag to enable the usage of GCR service account for scanning images in GCR
242 useGCRServiceAccount: true
243 # -- scanJobAutomountServiceAccountToken the flag to enable automount for service account token on scan job
244 scanJobAutomountServiceAccountToken: false
245 # -- scanJobAnnotations comma-separated representation of the annotations which the user wants the scanner jobs and pods to be
246 # annotated with. Example: `foo=bar,env=stage` will annotate the scanner jobs and pods with the annotations `foo: bar` and `env: stage`
247 scanJobAnnotations: ""
248 # -- scanJobPodTemplateLabels comma-separated representation of the labels which the user wants the scanner pods to be
249 # labeled with. Example: `foo=bar,env=stage` will labeled the scanner pods with the labels `foo: bar` and `env: stage`
250 scanJobPodTemplateLabels: ""
251 # -- skipInitContainers when this flag is set to true, the initContainers will be skipped for the scanner and node collector pods
252 skipInitContainers: false
253 # -- scanJobPodTemplatePodSecurityContext podSecurityContext the user wants the scanner and node collector pods to be amended with.
258 scanJobPodTemplatePodSecurityContext: {}
259 # -- scanJobPodTemplateContainerSecurityContext SecurityContext the user wants the scanner and node collector containers (and their
260 # initContainers) to be amended with.
261 scanJobPodTemplateContainerSecurityContext:
262 allowPrivilegeEscalation: false
267 readOnlyRootFilesystem: true
268 # -- For filesystem scanning, Trivy needs to run as the root user
270 # -- scanJobPodPriorityClassName Priority class name to be set on the pods created by trivy operator jobs. This accepts a string value
271 scanJobPodPriorityClassName: ""
272 # -- reportResourceLabels comma-separated scanned resource labels which the user wants to include in the Prometheus
273 # metrics report. Example: `owner,app`
274 reportResourceLabels: ""
275 # -- reportRecordFailedChecksOnly flag is to record only failed checks on misconfiguration reports (config-audit and rbac assessment)
276 reportRecordFailedChecksOnly: true
277 # -- skipResourceByLabels comma-separated labels keys which trivy-operator will skip scanning on resources with matching labels
278 skipResourceByLabels: ""
279 # -- metricsResourceLabelsPrefix Prefix that will be prepended to the labels names indicated in `reportResourceLabels`
280 # when including them in the Prometheus metrics
281 metricsResourceLabelsPrefix: "k8s_label_"
282 # -- additionalReportLabels comma-separated representation of the labels which the user wants the scanner pods to be
283 # labeled with. Example: `foo=bar,env=stage` will labeled the reports with the labels `foo: bar` and `env: stage`
284 additionalReportLabels: ""
285 # -- policiesConfig Custom Rego Policies to be used by the config audit scanner
286 # See https://github.com/aquasecurity/trivy-operator/blob/main/docs/tutorials/writing-custom-configuration-audit-policies.md for more details.
288 # -- excludeImages is comma separated glob patterns for excluding images from scanning.
289 # Example: pattern: `k8s.gcr.io/*/*` will exclude image: `k8s.gcr.io/coredns/coredns:v1.8.0`.
292 # -- createConfig indicates whether to create config objects
295 # -- registry of the Trivy image
296 registry: chainreg.biz
297 # -- repository of the Trivy image
298 repository: chainguard-private/trivy
299 # -- tag version of the Trivy image
300 tag: latest@sha256:ad4cdc0c00ffe96eadc01ff8754b885e16a68cced3b225ea20d9c6c43681a56e
301 # -- imagePullSecret is the secret name to be used when pulling trivy image from private registries example : reg-secret
302 # It is the user responsibility to create the secret for the private registry in `trivy-operator` namespace
304 # -- pullPolicy is the imge pull policy used for trivy image , valid values are (Always, Never, IfNotPresent)
305 pullPolicy: IfNotPresent
306 # -- mode is the Trivy client mode. Either Standalone or ClientServer. Depending
307 # on the active mode other settings might be applicable or required.
309 # -- sbomSources trivy will try to retrieve SBOM from the specified sources (oci,rekor)
311 # -- includeDevDeps include development dependencies in the report (supported: npm, yarn) (default: false)
312 # note: this flag is only applicable when trivy.command is set to filesystem
313 includeDevDeps: false
314 # -- whether to use a storage class for trivy server or emptydir (one mey want to use ephemeral storage)
315 storageClassEnabled: true
316 # -- storageClassName is the name of the storage class to be used for trivy server PVC. If empty, tries to find default storage class
318 # -- storageSize is the size of the trivy server PVC
320 # -- labels is the extra labels to be used for trivy server statefulset
322 # -- podLabels is the extra pod labels to be used for trivy server
324 # -- priorityClassName is the name of the priority class used for trivy server
325 priorityClassName: ""
326 # -- additionalVulnerabilityReportFields is a comma separated list of additional fields which
327 # can be added to the VulnerabilityReport. Supported parameters: Description, Links, CVSS, Target, Class, PackagePath and PackageType
328 additionalVulnerabilityReportFields: ""
329 # -- httpProxy is the HTTP proxy used by Trivy to download the vulnerabilities database from GitHub.
331 # -- httpsProxy is the HTTPS proxy used by Trivy to download the vulnerabilities database from GitHub.
333 # -- noProxy is a comma separated list of IPs and domain names that are not subject to proxy settings.
335 # -- Registries without SSL. There can be multiple registries with different keys.
337 # pocRegistry: poc.myregistry.harbor.com.pl
338 # qaRegistry: qa.registry.aquasec.com
339 # internalRegistry: registry.registry.svc:5000
341 # -- sslCertDir can be used to override the system default locations for SSL certificate files directory, example: /ssl/certs
343 # -- The registry to which insecure connections are allowed. There can be multiple registries with different keys.
344 insecureRegistries: {}
345 # pocRegistry: poc.myregistry.harbor.com.pl
346 # qaRegistry: qa.registry.aquasec.com
347 # internalRegistry: registry.registry.svc:5000
349 # -- Mirrored registries. There can be multiple registries with different keys.
350 # Make sure to quote registries containing dots
353 # "docker.io": docker-mirror.example.com
354 # -- severity is a comma separated list of severity levels reported by Trivy.
355 severity: UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL
356 # -- slow this flag is to use less CPU/memory for scanning though it takes more time than normal scanning. It fits small-footprint
358 # -- ignoreUnfixed is the flag to show only fixed vulnerabilities in
359 # vulnerabilities reported by Trivy. Set to true to enable it.
362 # -- a comma separated list of file paths for Trivy to skip
364 # -- a comma separated list of directories for Trivy to skip
366 # -- offlineScan is the flag to enable the offline scan functionality in Trivy
367 # This will prevent outgoing HTTP requests, e.g. to search.maven.org
369 # -- timeout is the duration to wait for scan completion.
371 # -- ignoreFile can be used to tell Trivy to ignore vulnerabilities by ID (one per line)
377 # -- ignoreFileName sets the file name that will be mounted inside the scanner container.
378 # Defaults to ".trivyignore" if not set.
380 # -- configFile can be used to tell Trivy to use specific options available only in the config file (e.g. Mirror registries).
386 # - mirror.with.bad.auth
387 # - mirror.without.image
389 # -- ignorePolicy can be used to tell Trivy to ignore vulnerabilities by a policy
390 # If multiple policies would match, then the most specific one has precedence over the others.
391 # See https://aquasecurity.github.io/trivy/latest/docs/configuration/filtering/#by-open-policy-agent for more details.
392 # See https://github.com/aquasecurity/trivy/blob/v0.19.2/contrib/example_policy/basic.rego for more details on ignorePolicy filtering.
394 # ignorePolicy.application.my-app-.: |
397 # import data.lib.trivy
399 # default ignore = true
400 # applies to all workloads in namespace "application" with the name pattern "my-app-*"
401 # ignorePolicy.kube-system: |
404 # import data.lib.trivy
406 # default ignore = true
407 # applies to all workloads in namespace "kube-system"
411 # import data.lib.trivy
413 # default ignore = true
414 # applies to all other workloads
416 # -- vulnType can be used to tell Trivy to filter vulnerabilities by a pkg-type (library, os)
418 # -- resources resource requests and limits for scan job containers
423 # ephemeralStorage: "2Gi"
427 # ephemeralStorage: "2Gi"
428 # -- githubToken is the GitHub access token used by Trivy to download the vulnerabilities
429 # database from GitHub. Only applicable in Standalone mode.
431 # -- serverURL is the endpoint URL of the Trivy server. Required in ClientServer mode.
433 # serverURL: "https://trivy.trivy:4975"
435 # -- clientServerSkipUpdate is the flag to enable skip databases update for Trivy client.
436 # Only applicable in ClientServer mode.
437 clientServerSkipUpdate: false
438 # -- skipJavaDBUpdate is the flag to enable skip Java index databases update for Trivy client.
439 skipJavaDBUpdate: false
440 # -- serverInsecure is the flag to enable insecure connection to the Trivy server.
441 serverInsecure: false
442 # -- serverToken is the token to authenticate Trivy client with Trivy server. Only
443 # applicable in ClientServer mode.
445 # -- existingSecret if a secret containing gitHubToken, serverToken or serverCustomHeaders has been created outside the chart (e.g external-secrets, sops, etc...).
446 # Keys must be at least one of the following: trivy.githubToken, trivy.serverToken, trivy.serverCustomHeaders
447 # Overrides trivy.gitHubToken, trivy.serverToken, trivy.serverCustomHeaders values.
448 # Note: The secret has to be named "trivy-operator-trivy-config".
449 existingSecret: false
450 # -- serverTokenHeader is the name of the HTTP header used to send the authentication
451 # token to Trivy server. Only application in ClientServer mode when
452 # trivy.serverToken is specified.
453 serverTokenHeader: "Trivy-Token"
454 # -- serverCustomHeaders is a comma separated list of custom HTTP headers sent by
455 # Trivy client to Trivy server. Only applicable in ClientServer mode.
456 serverCustomHeaders: ~
457 # serverCustomHeaders: "foo=bar"
459 dbRegistry: "mirror.gcr.io"
460 dbRepository: "aquasec/trivy-db"
461 # -- The username for dbRepository authentication
463 dbRepositoryUsername: ~
464 # -- The password for dbRepository authentication
466 dbRepositoryPassword: ~
467 # -- javaDbRegistry is the registry for the Java vulnerability database.
468 javaDbRegistry: "mirror.gcr.io"
469 javaDbRepository: "aquasec/trivy-java-db"
470 # -- The Flag to enable insecure connection for downloading trivy-db via proxy (air-gaped env)
472 dbRepositoryInsecure: "false"
473 # -- The Flag to enable the usage of builtin rego policies by default, these policies are downloaded by default from mirror.gcr.io/aquasec/trivy-checks
475 useBuiltinRegoPolicies: "false"
476 # -- The Flag to enable the usage of external rego policies config-map, this should be used when the user wants to use their own rego policies
478 externalRegoPoliciesEnabled: false
479 # -- To enable the usage of embedded rego policies, set the flag useEmbeddedRegoPolicies. This should serve as a fallback for air-gapped environments.
480 # When useEmbeddedRegoPolicies is set to true, useBuiltinRegoPolicies should be set to false.
481 useEmbeddedRegoPolicies: "true"
482 # -- The Flag is the list of supported kinds separated by comma delimiter to be scanned by the config audit scanner
484 supportedConfigAuditKinds: "Workload,Service,Role,ClusterRole,NetworkPolicy,Ingress,LimitRange,ResourceQuota,PersistentVolume,PersistentVolumeClaim"
485 # -- command. One of `image`, `filesystem` or `rootfs` scanning, depending on the target type required for the scan.
486 # For 'filesystem' and `rootfs` scanning, ensure that the `trivyOperator.scanJobPodTemplateContainerSecurityContext` is configured
487 # to run as the root user (runAsUser = 0).
489 # -- imageScanCacheDir the flag to set custom path for trivy image scan `cache-dir` parameter.
490 # Only applicable in image scan mode.
491 imageScanCacheDir: "/tmp/trivy/.cache"
492 # -- filesystemScanCacheDir the flag to set custom path for trivy filesystem scan `cache-dir` parameter.
493 # Only applicable in filesystem scan mode.
494 filesystemScanCacheDir: "/var/trivyoperator/trivy-db"
495 # -- serverUser this param is the server user to be used to download db from private registry
497 # -- serverPassword this param is the server user to be used to download db from private registry
499 # -- serverServiceName this param is the server service name to be used in cluster
500 serverServiceName: "trivy-service"
501 # -- debug One of `true` or `false`. Enables debug mode.
504 # -- resources set trivy-server resource
509 # ephemeral-storage: "2Gi"
513 # ephemeral-storage: "2Gi"
514 # -- podSecurityContext set trivy-server podSecurityContext
519 # -- securityContext set trivy-server securityContext
522 readOnlyRootFilesystem: true
523 # -- the number of replicas of the trivy-server
525 # -- volumes set trivy-server volumes
527 # Statefulset volumeMounts
530 # mountPath: /etc/ssl/trusted-ca
531 # subPath: trusted-ca.crt
533 # Statefulset volumes
537 # secretName: trusted-ca
538 # -- vaulesFromConfigMap name of a ConfigMap to apply TRIVY_* environment variables. Will override Helm values.
539 valuesFromConfigMap: ""
540 # -- valuesFromSecret name of a Secret to apply TRIVY_* environment variables. Will override Helm AND ConfigMap values.
543 # -- failEntriesLimit the flag to limit the number of fail entries per control check in the cluster compliance detail report
544 # this limit is for preventing the report from being too large per control checks
546 # -- reportType this flag control the type of report generated (summary or all)
548 # -- cron this flag control the cron interval for compliance report generation
550 # -- specs is a list of compliance specs to be used by the cluster compliance scanner
553 # - k8s-pss-baseline-0.1
554 # - k8s-pss-restricted-0.1
560 - k8s-pss-baseline-0.1
561 - k8s-pss-restricted-0.1
565 # -- Specifies whether a service account should be created.
568 # -- name specifies the name of the k8s Service Account. If not set and create is
569 # true, a name is generated using the fullname template.
571# -- podAnnotations annotations added to the operator's pod
573podSecurityContext: {}
576# -- securityContext security context
579 allowPrivilegeEscalation: false
580 readOnlyRootFilesystem: true
585 # do not remove , required for policies bundle
590 # do not remove , required for policies bundle
591 - name: cache-policies
594# -- We usually recommend not to specify default resources and to leave this as a conscious
595# choice for the user. This also increases chances charts run on environments with little
596# resources, such as Minikube. If you do want to specify resources, uncomment the following
597# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
605# -- nodeSelector set the operator nodeSelector
607# -- tolerations set the operator tolerations
609# -- affinity set the operator affinity
611# -- priorityClassName set the operator priorityClassName
613# -- automountServiceAccountToken the flag to enable automount for service account token
614automountServiceAccountToken: true
616 # -- registry of the policies bundle
617 registry: mirror.gcr.io
618 # -- repository of the policies bundle
619 repository: aquasec/trivy-checks
620 # -- tag version of the policies bundle
622 # -- registryUser is the user for the registry
624 # -- registryPassword is the password for the registry
626 # -- existingSecret if a secret containing registry credentials that have been created outside the chart (e.g external-secrets, sops, etc...).
627 # Keys must be at least one of the following: policies.bundle.oci.user, policies.bundle.oci.password
628 # Overrides policiesBundle.registryUser, policiesBundle.registryPassword values.
629 # Note: The secret has to be named "trivy-operator".
630 existingSecret: false
631 # -- insecure is the flag to enable insecure connection to the policy bundle registry
634 # -- useNodeSelector determine if to use nodeSelector (by auto detecting node name) with node-collector scan job
635 useNodeSelector: true
636 # -- registry of the node-collector image
638 # -- repository of the node-collector image
639 repository: aquasecurity/node-collector
640 # -- tag version of the node-collector image
642 # -- imagePullSecret is the secret name to be used when pulling node-collector image from private registries example : reg-secret
643 # It is the user responsibility to create the secret for the private registry in `trivy-operator` namespace
645 # -- excludeNodes comma-separated node labels that the node-collector job should exclude from scanning (example kubernetes.io/arch=arm64,team=dev)
647 # -- tolerations to be applied to the node-collector so that they can run on nodes with matching taints
649 # -- If you do want to specify tolerations, uncomment the following lines, adjust them as necessary, and remove the
650 # square brackets after 'scanJobTolerations:'.
654 # effect: "NoSchedule"
655 # -- node-collector pod volume mounts definition for collecting config files information
658 mountPath: /var/lib/etcd
660 - name: var-lib-kubelet
661 mountPath: /var/lib/kubelet
663 - name: var-lib-kube-scheduler
664 mountPath: /var/lib/kube-scheduler
666 - name: var-lib-kube-controller-manager
667 mountPath: /var/lib/kube-controller-manager
670 mountPath: /etc/systemd
673 mountPath: /lib/systemd/
675 - name: etc-kubernetes
676 mountPath: /etc/kubernetes
679 mountPath: /etc/cni/net.d/
681 # -- node-collector pod volumes definition for collecting config files information
686 - name: var-lib-kubelet
688 path: /var/lib/kubelet
689 - name: var-lib-kube-scheduler
691 path: /var/lib/kube-scheduler
692 - name: var-lib-kube-controller-manager
694 path: /var/lib/kube-controller-manager
701 - name: etc-kubernetes
703 path: /etc/kubernetes
706 path: /etc/cni/net.d/
707# -- alternateReportStorage is the flag to enable alternate storage for all trivy reports (crds) in the form json files inside of a persistent volume
708alternateReportStorage:
710 mountPath: "/mnt/data/trivy-operator"
711 volumeName: "trivy-operator-pvc"
713 # -- storageClassName for the PVC (optional, uses cluster default if not specified)