DirectorySecurity AdvisoriesPricing
Sign in
Directory
trivy-operator logoHELM

trivy-operator

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart tags
Default values
Chart metadata
Images

Tag:
Compare:

1
# Default values for the trivy-operator Helm chart, these are used to render
2
# the templates into valid k8s Resources.
3
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
6
global:
7
image:
8
registry: ""
9
# -- managedBy is similar to .Release.Service but allows to overwrite the value
10
managedBy: Helm
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.
14
targetNamespaces: ""
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.
18
excludeNamespaces: ""
19
# -- extraEnv is a list of extra environment variables for the trivy-operator.
20
extraEnv: []
21
# -- hostAliases for `deployment` (TrivyOperator) and `statefulset` (TrivyServer)
22
hostAliases: []
23
# - ip: "127.0.0.1"
24
# hostnames:
25
# - "foo.local"
26
# - "bar.local"
27
# - ip: "10.1.2.3"
28
# hostnames:
29
# - "foo.remote"
30
# - "bar.remote"
31
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
35
targetWorkloads: "pod,replicaset,replicationcontroller,statefulset,daemonset,cronjob,job"
36
# -- nameOverride override operator name
37
nameOverride: ""
38
# -- fullnameOverride override operator full name
39
fullnameOverride: ""
40
operator:
41
# -- namespace to install the operator, defaults to the .Release.Namespace
42
namespace: ""
43
# -- replicas the number of replicas of the operator's pod
44
replicas: 1
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
48
annotations: {}
49
# -- additional labels for the operator deployment
50
labels: {}
51
# -- additional labels for the operator pod
52
podLabels: {}
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)
57
logDevMode: false
58
# -- scanJobTTL the set automatic cleanup time after the job is completed
59
scanJobTTL: ""
60
# -- scanSecretTTL set an automatic cleanup for scan job secrets
61
scanSecretTTL: ""
62
# -- scanJobTimeout the length of time to wait before giving up on a scan job
63
scanJobTimeout: 5m
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.
89
batchDeleteLimit: 10
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.
95
batchDeleteDelay: 10s
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.
148
httpProxy: ~
149
# -- httpsProxy is the HTTPS proxy used by Trivy operator to download the default policies from GitHub.
150
httpsProxy: ~
151
# -- noProxy is a comma separated list of IPs and domain names that are not subject to proxy settings.
152
noProxy: ~
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.
156
valuesFromSecret: ""
157
# -- pprofBindAddress the address to bind the pprof server to. By default, it is not enabled.
158
pprofBindAddress: ""
159
image:
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
168
pullSecrets: []
169
# -- service only expose a metrics endpoint for prometheus to scrape,
170
# trivy-operator does not have a user interface.
171
service:
172
# -- if true, the Service doesn't allocate any IP
173
headless: true
174
# -- port exposed by the Service
175
metricsPort: 80
176
# -- annotations added to the operator's service
177
annotations: {}
178
# -- appProtocol of the monitoring service
179
metricsAppProtocol: TCP
180
# -- the Service type
181
type: ClusterIP
182
# -- the nodeport to use when service type is LoadBalancer or NodePort. If not set, Kubernetes automatically select one.
183
nodePort:
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
186
# produce an error.
187
serviceMonitor:
188
# -- enabled determines whether a serviceMonitor should be deployed
189
enabled: false
190
# -- The namespace where Prometheus expects to find service monitors
191
namespace: ~
192
# -- Interval at which metrics should be scraped. If not specified Prometheus’ global scrape interval is used.
193
interval: ~
194
# -- Additional annotations for the serviceMonitor
195
annotations: {}
196
# -- Additional labels for the serviceMonitor
197
labels: {}
198
# -- HonorLabels chooses the metric’s labels on collisions with target labels
199
honorLabels: true
200
# -- EndpointAdditionalProperties allows setting additional properties on the endpoint such as relabelings, metricRelabelings etc.
201
endpointAdditionalProperties: {}
202
trivyOperator:
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
212
scanJobAffinity: {}
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:'.
217
# - key: "key1"
218
# operator: "Equal"
219
# value: "value1"
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:'.
225
# nodeType: worker
226
# cpu: sandylake
227
# teamOwner: operators
228
229
# -- scanJobCustomVolumesMount add custom volumes mount to the scan job
230
scanJobCustomVolumesMount: []
231
# - name: var-lib-etcd
232
# mountPath: /var/lib/etcd
233
# readOnly: true
234
235
# -- scanJobCustomVolumes add custom volumes to the scan job
236
scanJobCustomVolumes: []
237
# - name: var-lib-etcd
238
# hostPath:
239
# path: /var/lib/etcd
240
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.
254
# Example:
255
# RunAsUser: 10000
256
# RunAsGroup: 10000
257
# RunAsNonRoot: true
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
263
capabilities:
264
drop:
265
- ALL
266
privileged: false
267
readOnlyRootFilesystem: true
268
# -- For filesystem scanning, Trivy needs to run as the root user
269
# runAsUser: 0
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.
287
policiesConfig: ""
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`.
290
excludeImages: ""
291
trivy:
292
# -- createConfig indicates whether to create config objects
293
createConfig: true
294
image:
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
303
imagePullSecret: ~
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.
308
mode: Standalone
309
# -- sbomSources trivy will try to retrieve SBOM from the specified sources (oci,rekor)
310
sbomSources: ""
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
317
storageClassName: ""
318
# -- storageSize is the size of the trivy server PVC
319
storageSize: "5Gi"
320
# -- labels is the extra labels to be used for trivy server statefulset
321
labels: {}
322
# -- podLabels is the extra pod labels to be used for trivy server
323
podLabels: {}
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.
330
httpProxy: ~
331
# -- httpsProxy is the HTTPS proxy used by Trivy to download the vulnerabilities database from GitHub.
332
httpsProxy: ~
333
# -- noProxy is a comma separated list of IPs and domain names that are not subject to proxy settings.
334
noProxy: ~
335
# -- Registries without SSL. There can be multiple registries with different keys.
336
nonSslRegistries: {}
337
# pocRegistry: poc.myregistry.harbor.com.pl
338
# qaRegistry: qa.registry.aquasec.com
339
# internalRegistry: registry.registry.svc:5000
340
341
# -- sslCertDir can be used to override the system default locations for SSL certificate files directory, example: /ssl/certs
342
sslCertDir: ~
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
348
349
# -- Mirrored registries. There can be multiple registries with different keys.
350
# Make sure to quote registries containing dots
351
registry:
352
mirror: {}
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
357
slow: true
358
# -- ignoreUnfixed is the flag to show only fixed vulnerabilities in
359
# vulnerabilities reported by Trivy. Set to true to enable it.
360
#
361
ignoreUnfixed: false
362
# -- a comma separated list of file paths for Trivy to skip
363
skipFiles:
364
# -- a comma separated list of directories for Trivy to skip
365
skipDirs:
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
368
offlineScan: false
369
# -- timeout is the duration to wait for scan completion.
370
timeout: "5m0s"
371
# -- ignoreFile can be used to tell Trivy to ignore vulnerabilities by ID (one per line)
372
ignoreFile: ~
373
# ignoreFile:
374
# - CVE-1970-0001
375
# - CVE-1970-0002
376
377
# -- ignoreFileName sets the file name that will be mounted inside the scanner container.
378
# Defaults to ".trivyignore" if not set.
379
ignoreFileName: ""
380
# -- configFile can be used to tell Trivy to use specific options available only in the config file (e.g. Mirror registries).
381
configFile: ~
382
# configFile:
383
# registry:
384
# mirrors:
385
# index.docker.io:
386
# - mirror.with.bad.auth
387
# - mirror.without.image
388
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.
393
#
394
# ignorePolicy.application.my-app-.: |
395
# package trivy
396
397
# import data.lib.trivy
398
399
# default ignore = true
400
# applies to all workloads in namespace "application" with the name pattern "my-app-*"
401
# ignorePolicy.kube-system: |
402
# package trivy
403
404
# import data.lib.trivy
405
406
# default ignore = true
407
# applies to all workloads in namespace "kube-system"
408
# ignorePolicy: |
409
# package trivy
410
411
# import data.lib.trivy
412
413
# default ignore = true
414
# applies to all other workloads
415
416
# -- vulnType can be used to tell Trivy to filter vulnerabilities by a pkg-type (library, os)
417
vulnType: ~
418
# -- resources resource requests and limits for scan job containers
419
resources:
420
requests:
421
cpu: 100m
422
memory: 100M
423
# ephemeralStorage: "2Gi"
424
limits:
425
cpu: 500m
426
memory: 500M
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.
430
githubToken: ~
431
# -- serverURL is the endpoint URL of the Trivy server. Required in ClientServer mode.
432
#
433
# serverURL: "https://trivy.trivy:4975"
434
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.
444
serverToken: ~
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"
458
459
dbRegistry: "mirror.gcr.io"
460
dbRepository: "aquasec/trivy-db"
461
# -- The username for dbRepository authentication
462
#
463
dbRepositoryUsername: ~
464
# -- The password for dbRepository authentication
465
#
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)
471
#
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
474
#
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
477
#
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
483
#
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).
488
command: image
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
496
serverUser: ""
497
# -- serverPassword this param is the server user to be used to download db from private registry
498
serverPassword: ""
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.
502
debug: false
503
server:
504
# -- resources set trivy-server resource
505
resources:
506
requests:
507
cpu: 200m
508
memory: 512Mi
509
# ephemeral-storage: "2Gi"
510
limits:
511
cpu: 1
512
memory: 1Gi
513
# ephemeral-storage: "2Gi"
514
# -- podSecurityContext set trivy-server podSecurityContext
515
podSecurityContext:
516
runAsUser: 65534
517
runAsNonRoot: true
518
fsGroup: 65534
519
# -- securityContext set trivy-server securityContext
520
securityContext:
521
privileged: false
522
readOnlyRootFilesystem: true
523
# -- the number of replicas of the trivy-server
524
replicas: 1
525
# -- volumes set trivy-server volumes
526
extraServerVolumes:
527
# Statefulset volumeMounts
528
volumeMounts: []
529
# - name: trusted-ca
530
# mountPath: /etc/ssl/trusted-ca
531
# subPath: trusted-ca.crt
532
# readOnly: true
533
# Statefulset volumes
534
volumes: []
535
# - name: trusted-ca
536
# secret:
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.
541
valuesFromSecret: ""
542
compliance:
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
545
failEntriesLimit: 10
546
# -- reportType this flag control the type of report generated (summary or all)
547
reportType: summary
548
# -- cron this flag control the cron interval for compliance report generation
549
cron: 0 */6 * * *
550
# -- specs is a list of compliance specs to be used by the cluster compliance scanner
551
# - k8s-cis-1.23
552
# - k8s-nsa-1.0
553
# - k8s-pss-baseline-0.1
554
# - k8s-pss-restricted-0.1
555
# - eks-cis-1.4
556
# - rke2-cis-1.24
557
specs:
558
- k8s-cis-1.23
559
- k8s-nsa-1.0
560
- k8s-pss-baseline-0.1
561
- k8s-pss-restricted-0.1
562
rbac:
563
create: true
564
serviceAccount:
565
# -- Specifies whether a service account should be created.
566
create: true
567
annotations: {}
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.
570
name: ""
571
# -- podAnnotations annotations added to the operator's pod
572
podAnnotations: {}
573
podSecurityContext: {}
574
# fsGroup: 2000
575
576
# -- securityContext security context
577
securityContext:
578
privileged: false
579
allowPrivilegeEscalation: false
580
readOnlyRootFilesystem: true
581
capabilities:
582
drop:
583
- ALL
584
volumeMounts:
585
# do not remove , required for policies bundle
586
- mountPath: /tmp
587
name: cache-policies
588
readOnly: false
589
volumes:
590
# do not remove , required for policies bundle
591
- name: cache-policies
592
emptyDir: {}
593
resources: {}
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:'.
598
# limits:
599
# cpu: 100m
600
# memory: 128Mi
601
# requests:
602
# cpu: 100m
603
# memory: 128Mi
604
605
# -- nodeSelector set the operator nodeSelector
606
nodeSelector: {}
607
# -- tolerations set the operator tolerations
608
tolerations: []
609
# -- affinity set the operator affinity
610
affinity: {}
611
# -- priorityClassName set the operator priorityClassName
612
priorityClassName: ""
613
# -- automountServiceAccountToken the flag to enable automount for service account token
614
automountServiceAccountToken: true
615
policiesBundle:
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
621
tag: 1
622
# -- registryUser is the user for the registry
623
registryUser: ~
624
# -- registryPassword is the password for the registry
625
registryPassword: ~
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
632
insecure: false
633
nodeCollector:
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
637
registry: ghcr.io
638
# -- repository of the node-collector image
639
repository: aquasecurity/node-collector
640
# -- tag version of the node-collector image
641
tag: 0.3.1
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
644
imagePullSecret: ~
645
# -- excludeNodes comma-separated node labels that the node-collector job should exclude from scanning (example kubernetes.io/arch=arm64,team=dev)
646
excludeNodes:
647
# -- tolerations to be applied to the node-collector so that they can run on nodes with matching taints
648
tolerations: []
649
# -- If you do want to specify tolerations, uncomment the following lines, adjust them as necessary, and remove the
650
# square brackets after 'scanJobTolerations:'.
651
# - key: "key1"
652
# operator: "Equal"
653
# value: "value1"
654
# effect: "NoSchedule"
655
# -- node-collector pod volume mounts definition for collecting config files information
656
volumeMounts:
657
- name: var-lib-etcd
658
mountPath: /var/lib/etcd
659
readOnly: true
660
- name: var-lib-kubelet
661
mountPath: /var/lib/kubelet
662
readOnly: true
663
- name: var-lib-kube-scheduler
664
mountPath: /var/lib/kube-scheduler
665
readOnly: true
666
- name: var-lib-kube-controller-manager
667
mountPath: /var/lib/kube-controller-manager
668
readOnly: true
669
- name: etc-systemd
670
mountPath: /etc/systemd
671
readOnly: true
672
- name: lib-systemd
673
mountPath: /lib/systemd/
674
readOnly: true
675
- name: etc-kubernetes
676
mountPath: /etc/kubernetes
677
readOnly: true
678
- name: etc-cni-netd
679
mountPath: /etc/cni/net.d/
680
readOnly: true
681
# -- node-collector pod volumes definition for collecting config files information
682
volumes:
683
- name: var-lib-etcd
684
hostPath:
685
path: /var/lib/etcd
686
- name: var-lib-kubelet
687
hostPath:
688
path: /var/lib/kubelet
689
- name: var-lib-kube-scheduler
690
hostPath:
691
path: /var/lib/kube-scheduler
692
- name: var-lib-kube-controller-manager
693
hostPath:
694
path: /var/lib/kube-controller-manager
695
- name: etc-systemd
696
hostPath:
697
path: /etc/systemd
698
- name: lib-systemd
699
hostPath:
700
path: /lib/systemd
701
- name: etc-kubernetes
702
hostPath:
703
path: /etc/kubernetes
704
- name: etc-cni-netd
705
hostPath:
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
708
alternateReportStorage:
709
enabled: false
710
mountPath: "/mnt/data/trivy-operator"
711
volumeName: "trivy-operator-pvc"
712
storage: "10Gi"
713
# -- storageClassName for the PVC (optional, uses cluster default if not specified)
714
storageClassName: ""
715
podSecurityContext:
716
runAsUser: 10000
717
fsGroup: 10000
718

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.