DirectorySecurity AdvisoriesPricing
Sign in
Directory
trino logoHELM

trino

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 versions
Default values
Chart metadata
Images

Tag:

1
# Default values for trino.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
5
# -- Override resource names to avoid name conflicts when deploying multiple
6
# releases in the same namespace.
7
# @raw
8
# Example:
9
# ```yaml
10
# coordinatorNameOverride: trino-coordinator-adhoc
11
# workerNameOverride: trino-worker-adhoc
12
# nameOverride: trino-adhoc
13
# fullnameOverride: trino-adhoc
14
# ```
15
nameOverride:
16
fullnameOverride:
17
coordinatorNameOverride:
18
workerNameOverride:
19
image:
20
# -- Image registry, defaults to empty, which results in DockerHub usage
21
registry: cgr.dev
22
# -- Repository location of the Trino image, typically `organization/imagename`
23
repository: scratch-images/test-tmp/trino
24
# -- Image tag, defaults to the Trino release version specified as `appVersion` from Chart.yaml
25
tag: 483-r7
26
# -- Optional digest value of the image specified as `sha256:abcd...`. A specified value overrides `tag`.
27
digest: sha256:83230b544f95b50bf82686a86ad2146b38b1fb81e61fd2ec3273bda4b4498720
28
# -- When true, only the content in `repository` is used as image reference
29
useRepositoryAsSoleImageReference: false
30
pullPolicy: IfNotPresent
31
# -- An optional list of references to secrets in the same namespace to use for pulling images.
32
# @raw
33
# Example:
34
# ```yaml
35
# imagePullSecrets:
36
# - name: registry-credentials
37
# ```
38
imagePullSecrets: []
39
server:
40
workers: 2
41
node:
42
# server.node.environment -- Supports templating with `tpl`.
43
environment: production
44
dataDir: /data/trino
45
pluginDir: /usr/lib/trino/plugin
46
log:
47
trino:
48
level: INFO
49
config:
50
path: /etc/trino
51
https:
52
enabled: false
53
port: 8443
54
keystore:
55
path: ""
56
# -- Trino supports multiple [authentication
57
# types](https://trino.io/docs/current/security/authentication-types.html):
58
# PASSWORD, CERTIFICATE, OAUTH2, JWT, KERBEROS, HEADER.
59
authenticationType: ""
60
query:
61
maxMemory: "4GB"
62
exchangeManager: {}
63
# server.exchangeManager -- Mandatory [exchange manager
64
# configuration](https://trino.io/docs/current/admin/fault-tolerant-execution.html#id1).
65
# Used to set the name and location(s) of spooling data storage. For multiple destinations use a list or a comma separated URI locations.
66
# To enable fault-tolerant execution, set the `retry-policy` property in `additionalConfigProperties`.
67
# Additional exchange manager configurations can be added to `additionalExchangeManagerProperties`.
68
# @raw
69
# Example:
70
# ```yaml
71
# server:
72
# exchangeManager:
73
# name: "filesystem"
74
# baseDir:
75
# - "/tmp/trino-local-file-system-exchange-manager"
76
# additionalConfigProperties:
77
# - retry-policy=TASK
78
# additionalExchangeManagerProperties:
79
# - exchange.sink-buffer-pool-min-size=10
80
# - exchange.sink-buffers-per-partition=2
81
# - exchange.source-concurrent-readers=4
82
# ```
83
84
workerExtraConfig: ""
85
coordinatorExtraConfig: ""
86
# server.autoscaling -- Configure [Horizontal Pod Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
87
# for workers (`server.keda.enabled` must be `false`).
88
autoscaling:
89
enabled: false
90
maxReplicas: 5
91
# -- Target average CPU utilization, represented as a percentage of requested CPU. To disable scaling based on CPU,
92
# set to an empty string.
93
targetCPUUtilizationPercentage: 50
94
# -- Target average memory utilization, represented as a percentage of requested memory. To disable scaling
95
# based on memory, set to an empty string.
96
targetMemoryUtilizationPercentage: 80
97
behavior: {}
98
# server.autoscaling.behavior -- Configuration for scaling up and down.
99
# @raw
100
# Example:
101
# ```yaml
102
# scaleDown:
103
# stabilizationWindowSeconds: 300
104
# policies:
105
# - type: Percent
106
# value: 100
107
# periodSeconds: 15
108
# scaleUp:
109
# stabilizationWindowSeconds: 0
110
# policies:
111
# - type: Percent
112
# value: 100
113
# periodSeconds: 15
114
# - type: Pods
115
# value: 4
116
# periodSeconds: 15
117
# selectPolicy: Max
118
# ```
119
# server.keda -- Configure [Kubernetes Event-driven Autoscaling](https://keda.sh/) for workers
120
# (`server.autoscaling.enabled` must be `false`).
121
keda:
122
enabled: false
123
pollingInterval: 30
124
# -- Period (in seconds) to wait after the last trigger reported active before scaling the resource back to 0
125
cooldownPeriod: 300
126
# -- The delay (in seconds) before the `cooldownPeriod` starts after the initial creation of the `ScaledObject`.
127
initialCooldownPeriod: 0
128
# -- Minimum number of replicas KEDA will scale the resource down to.
129
# By default, it’s scale to zero, but you can use it with some other value as well.
130
minReplicaCount: 0
131
# -- This setting is passed to the HPA definition that KEDA will create for a given resource and
132
# holds the maximum number of replicas of the target resource.
133
maxReplicaCount: 5
134
fallback: {}
135
# server.keda.fallback -- Defines a number of replicas to fall back to if a scaler is in an error state.
136
# @raw
137
# Example:
138
# ```yaml
139
# fallback: # Optional. Section to specify fallback options
140
# failureThreshold: 3 # Mandatory if fallback section is included
141
# replicas: 6 # Mandatory if fallback section is included
142
# ```
143
advanced: {}
144
# server.keda.advanced -- Specifies HPA related options
145
# @raw
146
# Example:
147
# ```yaml
148
# advanced:
149
# horizontalPodAutoscalerConfig:
150
# behavior:
151
# scaleDown:
152
# stabilizationWindowSeconds: 300
153
# policies:
154
# - type: Percent
155
# value: 100
156
# periodSeconds: 15
157
# ```
158
triggers: []
159
# server.keda.triggers -- List of triggers to activate scaling of the target resource
160
# @raw
161
# Example:
162
# ```yaml
163
# triggers:
164
# - type: prometheus
165
# metricType: Value
166
# metadata:
167
# serverAddress: "http://prometheus.example.com"
168
# threshold: "1"
169
# metricName: required_workers
170
# query: >-
171
# sum by (service)
172
# (avg_over_time(trino_execution_ClusterSizeMonitor_RequiredWorkers{service={{ include "trino.fullname" . | quote }}}[5s]))
173
# ```
174
annotations: {}
175
# server.keda.annotations -- Annotations to apply to the ScaledObject CRD.
176
# @raw
177
# Example:
178
# ```yaml
179
# annotations:
180
# autoscaling.keda.sh/paused-replicas: "0"
181
# autoscaling.keda.sh/paused: "true"
182
# ```
183
accessControl: {}
184
# accessControl -- [System access
185
# control](https://trino.io/docs/current/security/built-in-system-access-control.html)
186
# configuration.
187
# @raw
188
# Set the type property to either:
189
# * `configmap`, and provide the rule file contents in `rules`,
190
# * `properties`, and provide configuration properties in `properties`.
191
# Properties example:
192
# ```yaml
193
# type: properties
194
# properties: |
195
# access-control.name=custom-access-control
196
# access-control.custom_key=custom_value
197
# ```
198
# Config map example:
199
# ```yaml
200
# type: configmap
201
# refreshPeriod: 60s
202
# # Rules file is mounted to /etc/trino/access-control
203
# configFile: "rules.json"
204
# rules:
205
# rules.json: |-
206
# {
207
# "catalogs": [
208
# {
209
# "user": "admin",
210
# "catalog": "(mysql|system)",
211
# "allow": "all"
212
# },
213
# {
214
# "group": "finance|human_resources",
215
# "catalog": "postgres",
216
# "allow": true
217
# },
218
# {
219
# "catalog": "hive",
220
# "allow": "all"
221
# },
222
# {
223
# "user": "alice",
224
# "catalog": "postgresql",
225
# "allow": "read-only"
226
# },
227
# {
228
# "catalog": "system",
229
# "allow": "none"
230
# }
231
# ],
232
# "schemas": [
233
# {
234
# "user": "admin",
235
# "schema": ".*",
236
# "owner": true
237
# },
238
# {
239
# "user": "guest",
240
# "owner": false
241
# },
242
# {
243
# "catalog": "default",
244
# "schema": "default",
245
# "owner": true
246
# }
247
# ]
248
# }
249
# ```
250
251
headerAuthenticator: {}
252
# headerAuthenticator -- [Header authenticator](https://trino.io/docs/current/develop/header-authenticator.html)
253
# configuration. Required when `server.config.authenticationType` contains `HEADER`.
254
# @raw
255
# Provide the plugin configuration properties. The `header-authenticator.name` value must
256
# match the name of the installed authenticator plugin.
257
# ```yaml
258
# headerAuthenticator:
259
# properties: |
260
# header-authenticator.name=my-header-authenticator
261
# header-authenticator.username-header=X-Authenticated-User
262
# ```
263
264
resourceGroups: {}
265
# resourceGroups -- [Resource groups control](https://trino.io/docs/current/admin/resource-groups.html)
266
# @raw
267
# Set the type property to either:
268
# * `configmap`, and provide the Resource groups file contents in `resourceGroupsConfig`,
269
# * `properties`, and provide configuration properties in `properties`.
270
# Properties example:
271
# ```yaml
272
# type: properties
273
# properties: |
274
# resource-groups.configuration-manager=db
275
# resource-groups.config-db-url=jdbc:postgresql://trino-postgresql.postgresql.svc.cluster.local:3306/resource_groups
276
# resource-groups.config-db-user=username
277
# resource-groups.config-db-password=password
278
# ```
279
# Config map example:
280
# ```yaml
281
# type: configmap
282
# # Resource groups file is mounted to /etc/trino/resource-groups/resource-groups.json
283
# resourceGroupsConfig: |-
284
# {
285
# "rootGroups": [
286
# {
287
# "name": "global",
288
# "softMemoryLimit": "80%",
289
# "hardConcurrencyLimit": 100,
290
# "maxQueued": 100,
291
# "schedulingPolicy": "fair",
292
# "jmxExport": true,
293
# "subGroups": [
294
# {
295
# "name": "admin",
296
# "softMemoryLimit": "30%",
297
# "hardConcurrencyLimit": 20,
298
# "maxQueued": 10
299
# },
300
# {
301
# "name": "finance_human_resources",
302
# "softMemoryLimit": "20%",
303
# "hardConcurrencyLimit": 15,
304
# "maxQueued": 10
305
# },
306
# {
307
# "name": "general",
308
# "softMemoryLimit": "30%",
309
# "hardConcurrencyLimit": 20,
310
# "maxQueued": 10
311
# },
312
# {
313
# "name": "readonly",
314
# "softMemoryLimit": "10%",
315
# "hardConcurrencyLimit": 5,
316
# "maxQueued": 5
317
# }
318
# ]
319
# }
320
# ],
321
# "selectors": [
322
# {
323
# "user": "admin",
324
# "group": "global.admin"
325
# },
326
# {
327
# "group": "finance|human_resources",
328
# "group": "global.finance_human_resources"
329
# },
330
# {
331
# "user": "alice",
332
# "group": "global.readonly"
333
# },
334
# {
335
# "group": "global.general"
336
# }
337
# ]
338
# }
339
# ```
340
341
additionalNodeProperties: []
342
# additionalNodeProperties -- [Additional node
343
# properties](https://trino.io/docs/current/installation/deployment.html#log-levels).
344
# @raw
345
# Example, assuming the NODE_ID environment variable has been set:
346
# ```yaml
347
# - node.id=${NODE_ID}
348
# ```
349
350
additionalConfigProperties: []
351
# additionalConfigProperties -- [Additional config
352
# properties](https://trino.io/docs/current/admin/properties.html).
353
# @raw
354
# Example:
355
# ```yaml
356
# - internal-communication.shared-secret=random-value-999
357
# - http-server.process-forwarded=true
358
# ```
359
360
additionalLogProperties: []
361
# additionalLogProperties -- [Additional log
362
# properties](https://trino.io/docs/current/installation/deployment.html#log-levels).
363
# @raw
364
# Example:
365
# ```yaml
366
# - io.airlift=DEBUG
367
# ```
368
369
additionalExchangeManagerProperties: []
370
# additionalExchangeManagerProperties -- [Exchange manager
371
# properties](https://trino.io/docs/current/admin/fault-tolerant-execution.html#exchange-manager).
372
# @raw
373
# Example:
374
# ```yaml
375
# - exchange.s3.region=object-store-region
376
# - exchange.s3.endpoint=your-object-store-endpoint
377
# - exchange.s3.aws-access-key=your-access-key
378
# - exchange.s3.aws-secret-key=your-secret-key
379
# ```
380
381
sessionProperties: {}
382
# sessionProperties -- [Session properties manager config
383
# file](https://trino.io/docs/current/admin/session-property-managers.html) is
384
# mounted to {{ .Values.server.config.path }}/session-property-config.json
385
# @raw
386
# Set the type property to either:
387
# * `configmap`, and provide the session properties manager file contents in `sessionPropertiesConfig`,
388
# * `properties`, and provide configuration properties in `properties`.
389
390
# Properties example:
391
# ```yaml
392
# type: properties
393
# properties: |
394
# session-property-config.configuration-manager=file
395
# session-property-manager.config-file=/etc/trino/session-property-config.json
396
397
# Configmap Example:
398
# ```yaml
399
# type: configmap
400
# sessionPropertiesConfig: |-
401
# [
402
# {
403
# "group": "global.*",
404
# "sessionProperties": {
405
# "query_max_execution_time": "8h"
406
# }
407
# },
408
# {
409
# "group": "global.interactive.*",
410
# "sessionProperties": {
411
# "query_max_execution_time": "1h"
412
# }
413
# },
414
# {
415
# "group": "global.pipeline.*",
416
# "clientTags": ["etl"],
417
# "sessionProperties": {
418
# "scale_writers": "true",
419
# "hive.insert_existing_partitions_behavior": "overwrite"
420
# }
421
# }
422
# ]
423
# ```
424
eventListenerProperties: []
425
# eventListenerProperties -- [Event
426
# listener](https://trino.io/docs/current/develop/event-listener.html#event-listener)
427
# properties. To configure multiple event listeners, add them in
428
# `coordinator.additionalConfigFiles` and `worker.additionalConfigFiles`, and
429
# set the `event-listener.config-files` property in
430
# `additionalConfigProperties` to their locations.
431
# @raw
432
# Example:
433
# ```yaml
434
# - event-listener.name=custom-event-listener
435
# - custom-property1=custom-value1
436
# - custom-property2=custom-value2
437
# ```
438
439
catalogs:
440
tpch: |
441
connector.name=tpch
442
tpch.splits-per-node=4
443
tpcds: |
444
connector.name=tpcds
445
tpcds.splits-per-node=4
446
# catalogs -- Configure
447
# [catalogs](https://trino.io/docs/current/installation/deployment.html#catalog-properties).
448
# @raw
449
# Example:
450
# ```yaml
451
# objectstore: |
452
# connector.name=iceberg
453
# iceberg.catalog.type=glue
454
# jmx: |
455
# connector.name=memory
456
# memory: |
457
# connector.name=memory
458
# memory.max-data-per-node=128MB
459
# ```
460
# Supports templating with `tpl`.
461
462
additionalCatalogs: {}
463
# additionalCatalogs -- Deprecated, use `catalogs` instead. Configure additional
464
# [catalogs](https://trino.io/docs/current/installation/deployment.html#catalog-properties).
465
466
env: []
467
# env -- additional environment variables added to every pod, specified as a list with explicit values
468
# @raw
469
# Example:
470
# ```yaml
471
# - name: NAME
472
# value: "value"
473
# ```
474
475
envFrom: []
476
# envFrom -- additional environment variables added to every pod, specified as a list of either `ConfigMap`
477
# or `Secret` references
478
# @raw
479
# Example:
480
# ```yaml
481
# - secretRef:
482
# name: extra-secret
483
# ```
484
485
initContainers: {}
486
# initContainers -- Additional [containers that run to
487
# completion](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/)
488
# during pod initialization.
489
# @raw
490
# Example:
491
# ```yaml
492
# coordinator:
493
# - name: init-coordinator
494
# image: busybox:1.28
495
# imagePullPolicy: IfNotPresent
496
# command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"]
497
# worker:
498
# - name: init-worker
499
# image: busybox:1.28
500
# command: ['sh', '-c', 'echo The worker is running! && sleep 3600']
501
# ```
502
503
sidecarContainers: {}
504
# sidecarContainers -- Additional [containers that starts
505
# before](https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/)
506
# the Trino container and continues to run.
507
# @raw
508
# Example:
509
# ```yaml
510
# coordinator:
511
# - name: side-coordinator
512
# image: busybox:1.28
513
# imagePullPolicy: IfNotPresent
514
# command: ['sleep', '1']
515
# worker:
516
# - name: side-worker
517
# image: busybox:1.28
518
# imagePullPolicy: IfNotPresent
519
# command: ['sleep', '1']
520
# ```
521
522
# -- [Pod security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) configuration.
523
# To remove the default, set it to null (or `~`).
524
securityContext:
525
runAsUser: 1000
526
runAsGroup: 1000
527
# -- [Container security context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) configuration.
528
containerSecurityContext:
529
# -- Control whether a process can gain more privileges than its parent process.
530
allowPrivilegeEscalation: false
531
capabilities:
532
# -- A list of the Linux kernel capabilities that are dropped from every container. Valid values are listed in
533
# [the capabilities manual page](https://man7.org/linux/man-pages/man7/capabilities.7.html). Ensure # to remove
534
# the "CAP_" prefix which the kernel attaches to the names of permissions.
535
drop:
536
- ALL
537
shareProcessNamespace:
538
coordinator: false
539
worker: false
540
service:
541
annotations: {}
542
type: ClusterIP
543
port: 8080
544
# service.nodePort -- The port the service listens on the host, for the `NodePort` type. If not set, Kubernetes will
545
# [allocate a port
546
# automatically](https://kubernetes.io/docs/concepts/services-networking/service/#nodeport-custom-port).
547
nodePort: ""
548
auth: {}
549
# auth -- Available authentication methods.
550
# @raw
551
# Use username and password provided as a [password file](https://trino.io/docs/current/security/password-file.html#file-format):
552
# ```yaml
553
# passwordAuth: "username:encrypted-password-with-htpasswd"
554
# ```
555
# Set the name of a secret containing this file in the password.db key
556
# ```yaml
557
# passwordAuthSecret: "trino-password-authentication"
558
# ```
559
# Additionally, set [users' groups](https://trino.io/docs/current/security/group-file.html#file-format):
560
# ```yaml
561
# refreshPeriod: 5s
562
# groups: "group_name:user_1,user_2,user_3"
563
# ```
564
# Set the name of a secret containing this file in the group.db key
565
# ```yaml
566
# groupsAuthSecret: "trino-groups-authentication"
567
# ```
568
569
serviceAccount:
570
# -- Specifies whether a service account should be created
571
create: false
572
# -- The name of the service account to use.
573
# If not set and create is true, a name is generated using the fullname template
574
name: ""
575
# -- Annotations to add to the service account
576
annotations: {}
577
configMounts: []
578
# configMounts -- Allows mounting additional Trino configuration files from
579
# Kubernetes config maps on all nodes.
580
# @raw
581
# Example:
582
# ```yaml
583
# - name: sample-config-mount
584
# configMap: sample-config-map
585
# path: /config-map/sample.json
586
# subPath: sample.json
587
# ```
588
589
secretMounts: []
590
# secretMounts -- Allows mounting additional Trino configuration files from
591
# Kubernetes secrets on all nodes.
592
# @raw
593
# Example:
594
# ```yaml
595
# - name: sample-secret
596
# secretName: sample-secret
597
# path: /secrets/sample.json
598
# subPath: sample.json
599
# ```
600
601
coordinator:
602
deployment:
603
annotations: {}
604
progressDeadlineSeconds: 600
605
# coordinator.deployment.progressDeadlineSeconds -- The maximum time in seconds for a deployment to make progress before it
606
# is considered failed. The deployment controller continues to
607
# process failed deployments and a condition with a ProgressDeadlineExceeded
608
# reason is surfaced in the deployment status.
609
610
revisionHistoryLimit: 10
611
# coordinator.deployment.revisionHistoryLimit -- The number of old ReplicaSets to retain to allow rollback.
612
613
strategy: {}
614
# coordinator.deployment.strategy -- The deployment strategy to use to replace existing pods with new ones.
615
jvm:
616
maxHeapSize: "8G"
617
minHeapSize:
618
maxHeapPercent:
619
# coordinator.jvm.maxHeapPercent -- Alternative method of setting heap size as a percentage of container memory limits, which is recommended for better JVM ergonomics. `maxHeapSize` must be unset for this to work.
620
initialHeapPercent:
621
# coordinator.jvm.initialHeapPercent -- sets the starting heap size as a percentage of container memory limits.
622
#
623
# NOTE: to disable dynamic heap resizing when setting the size as a percent, add `-XX:MaxHeapFreeRatio=100` or `-XX:-UseAdaptiveSizePolicy` to `additionalJVMConfig`.
624
gcMethod:
625
type: "UseG1GC"
626
g1:
627
heapRegionSize: "32M"
628
config:
629
memory:
630
heapHeadroomPerNode: ""
631
nodeScheduler:
632
includeCoordinator: false
633
# coordinator.config.nodeScheduler.includeCoordinator -- Allows scheduling work on the coordinator so that a
634
# single machine can function as both coordinator and worker. For large clusters, processing work on the
635
# coordinator can negatively impact query performance because the machine's resources are not available for the
636
# critical coordinator tasks of scheduling, managing, and monitoring query execution.
637
query:
638
maxMemoryPerNode: "1GB"
639
additionalJVMConfig: []
640
additionalExposedPorts: {}
641
# coordinator.additionalExposedPorts -- Additional ports configured in the coordinator container and the service.
642
# @raw
643
# Example:
644
# ```yaml
645
# https:
646
# servicePort: 8443
647
# name: https
648
# port: 8443
649
# nodePort: 30443
650
# protocol: TCP
651
# ```
652
653
resources: {}
654
# coordinator.resources -- It is recommended not to specify default resources
655
# and to leave this as a conscious choice for the user. This also increases
656
# chances charts run on environments with little resources, such as Minikube.
657
# If you do want to specify resources, use the following example, and adjust
658
# it as necessary.
659
# @raw
660
# Example:
661
# ```yaml
662
# limits:
663
# cpu: 100m
664
# memory: 128Mi
665
# requests:
666
# cpu: 100m
667
# memory: 128Mi
668
# ```
669
670
livenessProbe: {}
671
# coordinator.livenessProbe -- [Liveness
672
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
673
# options
674
# @raw
675
# Example:
676
# ```yaml
677
# initialDelaySeconds: 20
678
# periodSeconds: 10
679
# timeoutSeconds: 5
680
# failureThreshold: 6
681
# successThreshold: 1
682
# ```
683
readinessProbe: {}
684
# coordinator.readinessProbe -- [Readiness
685
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
686
# @raw
687
# Example:
688
# ```yaml
689
# initialDelaySeconds: 20
690
# periodSeconds: 10
691
# timeoutSeconds: 5
692
# failureThreshold: 6
693
# successThreshold: 1
694
# ```
695
696
startupProbe: {}
697
# coordinator.startupProbe -- [Startup
698
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
699
# @raw
700
# Example:
701
# ```yaml
702
# initialDelaySeconds: 10
703
# periodSeconds: 2
704
# timeoutSeconds: 2
705
# failureThreshold: 60
706
# successThreshold: 1
707
# ```
708
709
lifecycle: {}
710
# coordinator.lifecycle -- Coordinator container [lifecycle
711
# events](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)
712
# @raw
713
# Example:
714
# ```yaml
715
# preStop:
716
# exec:
717
# command: ["/bin/sh", "-c", "sleep 120"]
718
# ```
719
720
terminationGracePeriodSeconds: 30
721
nodeSelector: {}
722
tolerations: []
723
affinity: {}
724
additionalConfigFiles: {}
725
# coordinator.additionalConfigFiles -- Additional config files placed in the default configuration directory.
726
# Supports templating the files' contents with `tpl`.
727
# @raw
728
# Example:
729
# ```yaml
730
# secret.txt: |
731
# secret-value={{- .Values.someValue }}
732
# ```
733
734
additionalVolumes: []
735
# coordinator.additionalVolumes -- One or more additional volumes to add to the coordinator.
736
# @raw
737
# Example:
738
# ```yaml
739
# - name: extras
740
# emptyDir: {}
741
# ```
742
743
additionalVolumeMounts: []
744
# coordinator.additionalVolumeMounts -- One or more additional volume mounts to add to the coordinator.
745
# @raw
746
# Example:
747
# - name: extras
748
# mountPath: /usr/share/extras
749
# readOnly: true
750
751
priorityClassName: ~
752
annotations: {}
753
# coordinator.annotations -- Annotations to add to the coordinator pod.
754
# @raw
755
# By default, the following annotations are added to the coordinator pod:
756
# - `checksum/access-control-config` - checksum of the coordinator access control config file;
757
# - `checksum/catalog-config` - checksum of the catalog config file;
758
# - `checksum/coordinator-config` - checksum of the coordinator config file.
759
# This allows for automatic rolling updates on configuration changes. This behaviour can be disabled by manually
760
# setting these annotations to fixed constants in the `coordinator.annotations` section.
761
# Example:
762
# ```yaml
763
# annotations:
764
# checksum/access-control-config: ""
765
# checksum/catalog-config: ""
766
# checksum/coordinator-config: ""
767
# ```
768
769
labels: {}
770
configMounts: []
771
# coordinator.configMounts -- Allows mounting additional Trino configuration
772
# files from Kubernetes config maps on the coordinator node.
773
# @raw
774
# Example:
775
# ```yaml
776
# - name: sample-config-mount
777
# configMap: sample-config-mount
778
# path: /config-mount/sample.json
779
# subPath: sample.json
780
# ```
781
782
secretMounts: []
783
# coordinator.secretMounts -- Allows mounting additional Trino configuration
784
# files from Kubernetes secrets on the coordinator node.
785
# @raw
786
# Example:
787
# ```yaml
788
# - name: sample-secret
789
# secretName: sample-secret
790
# path: /secrets/sample.json
791
# subPath: sample.json
792
# ```
793
worker:
794
deployment:
795
annotations: {}
796
progressDeadlineSeconds: 600
797
# worker.deployment.progressDeadlineSeconds -- The maximum time in seconds for a deployment to make progress before it
798
# is considered failed. The deployment controller continues to
799
# process failed deployments and a condition with a ProgressDeadlineExceeded
800
# reason is surfaced in the deployment status.
801
802
revisionHistoryLimit: 10
803
# worker.deployment.revisionHistoryLimit -- The number of old ReplicaSets to retain to allow rollback.
804
805
strategy: {}
806
# worker.deployment.strategy -- The deployment strategy to use to replace existing pods with new ones.
807
jvm:
808
maxHeapSize: "8G"
809
minHeapSize:
810
maxHeapPercent:
811
# jvm.maxHeapPercent -- Alternative method of setting heap size as a percentage of container memory limits, which is recommended for better JVM ergonomics. `maxHeapSize` must be unset for this to work.
812
initialHeapPercent:
813
# jvm.initialHeapPercent -- sets the starting heap size as a percentage of container memory limits.
814
#
815
# NOTE: to disable dynamic heap resizing when setting the size as a percent, add `-XX:MaxHeapFreeRatio=100` or `-XX:-UseAdaptiveSizePolicy` to `additionalJVMConfig`.
816
gcMethod:
817
type: "UseG1GC"
818
g1:
819
heapRegionSize: "32M"
820
config:
821
memory:
822
heapHeadroomPerNode: ""
823
query:
824
maxMemoryPerNode: "1GB"
825
additionalJVMConfig: []
826
additionalExposedPorts: {}
827
# worker.additionalExposedPorts -- Additional container ports configured in all worker pods and the worker service.
828
# @raw
829
# Example:
830
# ```yaml
831
# https:
832
# servicePort: 8443
833
# name: https
834
# port: 8443
835
# protocol: TCP
836
# ```
837
838
resources: {}
839
# worker.resources -- It is recommended not to specify default resources and
840
# to leave this as a conscious choice for the user. This also increases
841
# chances charts run on environments with little resources, such as Minikube.
842
# If you do want to specify resources, use the following example, and adjust
843
# it as necessary.
844
# @raw
845
# Example:
846
# ```yaml
847
# limits:
848
# cpu: 100m
849
# memory: 128Mi
850
# requests:
851
# cpu: 100m
852
# memory: 128Mi
853
# ```
854
855
livenessProbe: {}
856
# worker.livenessProbe -- [Liveness
857
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
858
# @raw
859
# Example:
860
# ```yaml
861
# initialDelaySeconds: 20
862
# periodSeconds: 10
863
# timeoutSeconds: 5
864
# failureThreshold: 6
865
# successThreshold: 1
866
# ```
867
readinessProbe: {}
868
# worker.readinessProbe -- [Readiness
869
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
870
# @raw
871
# Example:
872
# ```yaml
873
# initialDelaySeconds: 20
874
# periodSeconds: 10
875
# timeoutSeconds: 5
876
# failureThreshold: 6
877
# successThreshold: 1
878
# ```
879
880
startupProbe: {}
881
# worker.startupProbe -- [Startup
882
# probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes)
883
# @raw
884
# Example:
885
# ```yaml
886
# initialDelaySeconds: 10
887
# periodSeconds: 2
888
# timeoutSeconds: 2
889
# failureThreshold: 60
890
# successThreshold: 1
891
# ```
892
893
lifecycle: {}
894
# worker.lifecycle -- Worker container [lifecycle
895
# events](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/)
896
#
897
# Setting `worker.lifecycle` conflicts with `worker.gracefulShutdown`.
898
#
899
# @raw
900
# Example:
901
# ```yaml
902
# preStop:
903
# exec:
904
# command: ["/bin/sh", "-c", "sleep 120"]
905
# ```
906
907
gracefulShutdown:
908
enabled: false
909
gracePeriodSeconds: 120
910
# worker.gracefulShutdown -- Configure [graceful
911
# shutdown](https://trino.io/docs/current/admin/graceful-shutdown.html) in order to ensure that workers terminate
912
# without affecting running queries, given a sufficient grace period. When enabled, the value of
913
# `worker.terminationGracePeriodSeconds` must be at least two times greater than the configured `gracePeriodSeconds`.
914
# Enabling `worker.gracefulShutdown` conflicts with `worker.lifecycle`. When a custom `worker.lifecycle` configuration
915
# needs to be used, graceful shutdown must be configured manually.
916
#
917
# @raw
918
# Example:
919
# ```yaml
920
# gracefulShutdown:
921
# enabled: true
922
# gracePeriodSeconds: 120
923
# ```
924
925
terminationGracePeriodSeconds: 30
926
nodeSelector: {}
927
tolerations: []
928
affinity: {}
929
topologySpreadConstraints: []
930
# worker.topologySpreadConstraints -- Configure [topology spread
931
# constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/)
932
# to control how worker pods are spread across your cluster among failure-domains
933
# such as nodes, zones, and regions. This is a best practice for achieving high
934
# availability and preventing resource hotspots.
935
#
936
# @raw
937
# Example of spreading workers across hostnames and zones:
938
# ```yaml
939
# topologySpreadConstraints:
940
# - maxSkew: 1
941
# topologyKey: "kubernetes.io/hostname"
942
# whenUnsatisfiable: "ScheduleAnyway"
943
# labelSelector:
944
# matchLabels:
945
# app.kubernetes.io/name: trino
946
# app.kubernetes.io/component: worker
947
# - maxSkew: 1
948
# topologyKey: "topology.kubernetes.io/zone"
949
# whenUnsatisfiable: "DoNotSchedule"
950
# labelSelector:
951
# matchLabels:
952
# app.kubernetes.io/name: trino
953
# app.kubernetes.io/component: worker
954
# ```
955
956
additionalConfigFiles: {}
957
# worker.additionalConfigFiles -- Additional config files placed in the default configuration directory.
958
# Supports templating the files' contents with `tpl`.
959
# @raw
960
# Example:
961
# ```yaml
962
# secret.txt: |
963
# secret-value={{- .Values.someValue }}
964
# ```
965
966
additionalVolumes: []
967
# worker.additionalVolumes -- One or more additional volume mounts to add to all workers.
968
# @raw
969
# Example:
970
# ```yaml
971
# - name: extras
972
# emptyDir: {}
973
# ```
974
975
additionalVolumeMounts: []
976
# worker.additionalVolumeMounts -- One or more additional volume mounts to add to all workers.
977
# @raw
978
# Example:
979
# ```yaml
980
# - name: extras
981
# mountPath: /usr/share/extras
982
# readOnly: true
983
# ```
984
985
priorityClassName: ~
986
annotations: {}
987
# worker.annotations -- Annotations to add to the worker pods.
988
# @raw
989
# By default, the following annotations are added to the worker pods:
990
# - `checksum/access-control-config` - checksum of the worker access control config file;
991
# - `checksum/catalog-config` - checksum of the catalog config file;
992
# - `checksum/worker-config` - checksum of the worker config file.
993
# This allows for automatic rolling updates on configuration changes. This behaviour can be disabled by manually
994
# setting these annotations to fixed constants in the `worker.annotations` section.
995
# Example:
996
# ```yaml
997
# annotations:
998
# checksum/access-control-config: ""
999
# checksum/catalog-config: ""
1000
# checksum/worker-config: ""
1001
# ```
1002
1003
labels: {}
1004
configMounts: []
1005
# worker.configMounts -- Allows mounting additional Trino configuration
1006
# files from Kubernetes config maps on all worker nodes.
1007
# @raw
1008
# Example:
1009
# ```yaml
1010
# - name: sample-config-mount
1011
# configMap: sample-config-mount
1012
# path: /config-mount/sample.json
1013
# subPath: sample.json
1014
# ```
1015
1016
secretMounts: []
1017
# worker.secretMounts -- Allows mounting additional Trino configuration
1018
# files from Kubernetes secrets on all worker nodes.
1019
# @raw
1020
# Example:
1021
# ```yaml
1022
# - name: sample-secret
1023
# secretName: sample-secret
1024
# path: /secrets/sample.json
1025
# subPath: sample.json
1026
# ```
1027
kafka:
1028
mountPath: "/etc/trino/schemas"
1029
tableDescriptions: {}
1030
# kafka.tableDescriptions -- Custom kafka table descriptions that will be mounted in mountPath.
1031
# @raw
1032
# Example:
1033
# ```yaml
1034
# testschema.json: |-
1035
# {
1036
# "tableName": "testtable",
1037
# "schemaName": "testschema",
1038
# "topicName": "testtopic",
1039
# "key": {
1040
# "dataFormat": "json",
1041
# "fields": [
1042
# {
1043
# "name": "_key",
1044
# "dataFormat": "VARCHAR",
1045
# "type": "VARCHAR",
1046
# "hidden": "false"
1047
# }
1048
# ]
1049
# },
1050
# "message": {
1051
# "dataFormat": "json",
1052
# "fields": [
1053
# {
1054
# "name": "id",
1055
# "mapping": "id",
1056
# "type": "BIGINT"
1057
# },
1058
# {
1059
# "name": "test_field",
1060
# "mapping": "test_field",
1061
# "type": "VARCHAR"
1062
# }
1063
# ]
1064
# }
1065
# }
1066
# ```
1067
jmx:
1068
# -- Set to true to enable the RMI server to expose Trino's [JMX metrics](https://trino.io/docs/current/admin/jmx.html).
1069
enabled: false
1070
registryPort: 9080
1071
serverPort: 9081
1072
exporter:
1073
# jmx.exporter.enabled -- Set to true to export JMX Metrics via HTTP for [Prometheus](https://github.com/prometheus/jmx_exporter) consumption
1074
enabled: false
1075
image: bitnamilegacy/jmx-exporter:1.4.0
1076
pullPolicy: Always
1077
port: 5556
1078
configProperties: ""
1079
# jmx.exporter.configProperties -- The string value is templated using `tpl`. The JMX config properties file
1080
# is mounted to `/etc/jmx-exporter/jmx-exporter-config.yaml`.
1081
# @raw
1082
# Example:
1083
# ```yaml
1084
# configProperties: |-
1085
# hostPort: localhost:{{- .Values.jmx.registryPort }}
1086
# startDelaySeconds: 0
1087
# ssl: false
1088
# lowercaseOutputName: false
1089
# lowercaseOutputLabelNames: false
1090
# includeObjectNames: ["java.lang:type=Threading"]
1091
# autoExcludeObjectNameAttributes: true
1092
# excludeObjectNameAttributes:
1093
# "java.lang:type=OperatingSystem":
1094
# - "ObjectName"
1095
# "java.lang:type=Runtime":
1096
# - "ClassPath"
1097
# - "SystemProperties"
1098
# rules:
1099
# - pattern: 'java\.lang<type=Threading><(.*)>ThreadCount: (.*)'
1100
# name: java_lang_Threading_ThreadCount
1101
# value: '$2'
1102
# help: 'ThreadCount (java.lang<type=Threading><>ThreadCount)'
1103
# type: UNTYPED
1104
# ```
1105
securityContext: {}
1106
resources: {}
1107
# jmx.exporter.resources -- It is recommended not to specify default resources
1108
# and to leave this as a conscious choice for the user. This also increases
1109
# chances charts run on environments with little resources, such as Minikube.
1110
# If you do want to specify resources, use the following example, and adjust
1111
# it as necessary.
1112
# @raw
1113
# Example:
1114
# ```yaml
1115
# limits:
1116
# cpu: 100m
1117
# memory: 128Mi
1118
# requests:
1119
# cpu: 100m
1120
# memory: 128Mi
1121
# ```
1122
coordinator: {}
1123
# jmx.coordinator -- Override JMX configurations for the Trino coordinator.
1124
# @raw
1125
# Example
1126
# ```yaml
1127
# coordinator:
1128
# enabled: true
1129
# exporter:
1130
# enabled: true
1131
# configProperties: |-
1132
# hostPort: localhost:{{- .Values.jmx.registryPort }}
1133
# startDelaySeconds: 0
1134
# ssl: false
1135
# ```
1136
worker: {}
1137
# jmx.worker -- Override JMX configurations for the Trino workers.
1138
# @raw
1139
# Example
1140
# ```yaml
1141
# worker:
1142
# enabled: true
1143
# exporter:
1144
# enabled: true
1145
# ```
1146
serviceMonitor:
1147
# serviceMonitor.enabled -- Set to true to create resources for the
1148
# [prometheus-operator](https://github.com/prometheus-operator/prometheus-operator).
1149
enabled: false
1150
apiVersion: monitoring.coreos.com/v1
1151
# serviceMonitor.labels -- Labels for serviceMonitor, so that Prometheus can select it
1152
labels:
1153
prometheus: kube-prometheus
1154
# serviceMonitor.interval -- The serviceMonitor web endpoint interval
1155
interval: "30s"
1156
# serviceMonitor.scrapeTimeout -- Maximum time to wait for a response.
1157
# If empty or not set, uses the Prometheus global default.
1158
scrapeTimeout: ""
1159
coordinator: {}
1160
# serviceMonitor.coordinator -- Override ServiceMonitor configurations for the Trino coordinator.
1161
# @raw
1162
# Example
1163
# ```yaml
1164
# coordinator:
1165
# enabled: true
1166
# labels:
1167
# prometheus: my-prometheus
1168
# ```
1169
worker: {}
1170
# serviceMonitor.worker -- Override ServiceMonitor configurations for the Trino workers.
1171
# @raw
1172
# Example
1173
# ```yaml
1174
# worker:
1175
# enabled: true
1176
# labels:
1177
# prometheus: my-prometheus
1178
# ```
1179
# -- Labels that get applied to every resource's metadata
1180
commonLabels: {}
1181
ingress:
1182
enabled: false
1183
className: ""
1184
annotations: {}
1185
hosts: []
1186
# ingress.hosts -- [Ingress
1187
# rules](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules).
1188
# @raw
1189
# Example:
1190
# ```yaml
1191
# - host: trino.example.com
1192
# paths:
1193
# - path: /
1194
# pathType: ImplementationSpecific
1195
# ```
1196
tls: []
1197
# ingress.tls -- Ingress
1198
# [TLS](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls)
1199
# configuration.
1200
# @raw
1201
# Example:
1202
# ```yaml
1203
# - secretName: chart-example-tls
1204
# hosts:
1205
# - chart-example.local
1206
# ```
1207
gateway:
1208
# gateway.enabled -- Set to true to create HTTPRoute resources for [Kubernetes Gateway API](https://gateway-api.sigs.k8s.io/).
1209
# The Gateway API is the successor to the Ingress API and provides more advanced routing capabilities.
1210
# @raw
1211
# > [!NOTE]
1212
# > - Requires Gateway API CRDs to be installed in the cluster
1213
# > - Not recommended to use together with `ingress.enabled` (choose one or the other)
1214
# > - Requires a Gateway resource to be configured separately
1215
enabled: false
1216
annotations: {}
1217
# gateway.annotations -- Annotations to add to the HTTPRoute resource.
1218
# @raw
1219
# Example:
1220
# ```yaml
1221
# gateway.networking.k8s.io/example: "value"
1222
# ```
1223
parentRefs: []
1224
# gateway.parentRefs -- References to the Gateway resources that this HTTPRoute should attach to.
1225
# @raw
1226
# Example:
1227
# ```yaml
1228
# - name: trino-gateway
1229
# namespace: gateway-system
1230
# sectionName: https
1231
# ```
1232
hostnames: []
1233
# gateway.hostnames -- Hostnames to match for routing traffic.
1234
# @raw
1235
# Example:
1236
# ```yaml
1237
# - trino.example.com
1238
# - trino-prod.example.com
1239
# ```
1240
rules: []
1241
# gateway.rules -- HTTPRoute rules for routing traffic to Trino.
1242
# Each rule can use either the simplified `path` format for basic routing,
1243
# or the full `matches` format for advanced use cases.
1244
# @raw
1245
# Simple path-based routing example:
1246
# ```yaml
1247
# - path:
1248
# type: PathPrefix
1249
# value: /
1250
# filters:
1251
# - type: RequestHeaderModifier
1252
# requestHeaderModifier:
1253
# set:
1254
# - name: X-Forwarded-Proto
1255
# value: https
1256
# ```
1257
# Advanced matching example with headers:
1258
# ```yaml
1259
# - matches:
1260
# - path:
1261
# type: PathPrefix
1262
# value: /ui
1263
# headers:
1264
# - name: X-Custom-Header
1265
# value: custom-value
1266
# filters:
1267
# - type: RequestHeaderModifier
1268
# requestHeaderModifier:
1269
# set:
1270
# - name: X-Forwarded-Proto
1271
# value: https
1272
# ```
1273
networkPolicy:
1274
# networkPolicy.enabled -- Set to true to enable Trino pod protection with a
1275
# [NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/network-policies/).
1276
# By default, the NetworkPolicy will only allow Trino pods to communicate with each other.
1277
# @raw
1278
# > [!NOTE]
1279
# > - NetworkPolicies cannot block the ingress traffic coming directly
1280
# > from the Kubernetes node on which the Pod is running,
1281
# > and are thus incompatible with services of type `NodePort`.
1282
# > - When using NetworkPolicies together with JMX metrics export,
1283
# > additional ingress rules might be required to allow metric scraping.
1284
enabled: false
1285
# networkPolicy.ingress -- Additional ingress rules to apply to the Trino pods.
1286
# @raw
1287
# Example:
1288
# ```yaml
1289
# - from:
1290
# - ipBlock:
1291
# cidr: 172.17.0.0/16
1292
# except:
1293
# - 172.17.1.0/24
1294
# - namespaceSelector:
1295
# matchLabels:
1296
# kubernetes.io/metadata.name: prometheus
1297
# - podSelector:
1298
# matchLabels:
1299
# role: backend-app
1300
# ports:
1301
# - protocol: TCP
1302
# port: 8080
1303
# - protocol: TCP
1304
# port: 5556
1305
# ```
1306
ingress: []
1307
# networkPolicy.egress -- Egress rules to apply to the Trino pods.
1308
# @raw
1309
# Example:
1310
# ```yaml
1311
# - to:
1312
# - podSelector:
1313
# matchLabels:
1314
# role: log-ingestor
1315
# ports:
1316
# - protocol: TCP
1317
# port: 9999
1318
# ```
1319
egress: []
1320

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.