DirectorySecurity AdvisoriesPricing
Sign in
Directory
grafana-loki logoHELM

grafana-loki

Helm chart
iamguarded
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.

Chart versions
Default values
Chart metadata
Images

Tag:

1
# This file has been modified by Chainguard, Inc.
2
#
3
# Copyright Chainguard, Inc. All Rights Reserved.
4
# Chainguard, Inc. modifications are subject to the license
5
# available at: https://www.chainguard.dev/legal/software-license-agreement
6
#
7
# Copyright Broadcom, Inc. All Rights Reserved.
8
# SPDX-License-Identifier: APACHE-2.0
9
10
## @section Global parameters
11
## Global Docker image parameters
12
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
13
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
14
##
15
16
## @param global.imageRegistry Global Docker image registry
17
## @param global.imagePullSecrets Global Docker registry secret names as an array
18
## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
19
##
20
global:
21
imageRegistry: ""
22
## E.g.
23
## imagePullSecrets:
24
## - myRegistryKeySecretName
25
##
26
imagePullSecrets: []
27
defaultStorageClass: ""
28
## Security parameters
29
##
30
security:
31
## @param global.security.allowInsecureImages Allows skipping image verification
32
allowInsecureImages: false
33
## Compatibility adaptations for Kubernetes platforms
34
##
35
compatibility:
36
## Compatibility adaptations for Openshift
37
##
38
openshift:
39
## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
40
##
41
adaptSecurityContext: auto
42
org: ""
43
## @section Common parameters
44
##
45
46
## @param kubeVersion Override Kubernetes version
47
##
48
kubeVersion: ""
49
## @param nameOverride String to partially override common.names.fullname
50
##
51
nameOverride: ""
52
## @param fullnameOverride String to fully override common.names.fullname
53
##
54
fullnameOverride: ""
55
## @param commonLabels Labels to add to all deployed objects
56
##
57
commonLabels: {}
58
## @param commonAnnotations Annotations to add to all deployed objects
59
##
60
commonAnnotations: {}
61
## @param clusterDomain Kubernetes cluster domain name
62
##
63
clusterDomain: cluster.local
64
## @param extraDeploy Array of extra objects to deploy with the release
65
##
66
extraDeploy: []
67
## Enable diagnostic mode in the deployments/statefulsets
68
##
69
diagnosticMode:
70
## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
71
##
72
enabled: false
73
## @param diagnosticMode.command Command to override all containers in the deployments/statefulsets
74
##
75
command:
76
- sleep
77
## @param diagnosticMode.args Args to override all containers in the deployments/statefulsets
78
##
79
args:
80
- infinity
81
## @section Common Grafana Loki Parameters
82
##
83
loki:
84
## Iamguarded Grafana Loki image
85
## @param loki.image.registry [default: REGISTRY_NAME] Grafana Loki image registry
86
## @param loki.image.repository [default: REPOSITORY_NAME/grafana-loki] Grafana Loki image repository
87
## @skip loki.image.tag Grafana Loki image tag (immutable tags are recommended)
88
## @param loki.image.digest Grafana Loki image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
89
## @param loki.image.pullPolicy Grafana Loki image pull policy
90
## @param loki.image.pullSecrets Grafana Loki image pull secrets
91
##
92
image:
93
registry: cgr.dev
94
repository: chainguard-private/loki-iamguarded
95
tag: 3.7.6
96
digest: ""
97
## Specify a imagePullPolicy
98
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
99
##
100
pullPolicy: IfNotPresent
101
## Optionally specify an array of imagePullSecrets.
102
## Secrets must be manually created in the namespace.
103
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
104
## e.g:
105
## pullSecrets:
106
## - myRegistryKeySecretName
107
##
108
pullSecrets: []
109
## @param loki.configuration [string] Loki components configuration
110
##
111
configuration: |
112
auth_enabled: false
113
114
server:
115
http_listen_port: {{ .Values.loki.containerPorts.http }}
116
grpc_listen_port: {{ .Values.loki.containerPorts.grpc }}
117
common:
118
compactor_address: http://{{ include "grafana-loki.compactor.fullname" . }}:{{ .Values.compactor.service.ports.http }}
119
120
distributor:
121
ring:
122
kvstore:
123
store: memberlist
124
125
memberlist:
126
join_members:
127
- {{ include "grafana-loki.gossip-ring.fullname" . }}
128
129
ingester:
130
lifecycler:
131
ring:
132
kvstore:
133
store: memberlist
134
replication_factor: 1
135
chunk_idle_period: 30m
136
chunk_block_size: 262144
137
chunk_encoding: snappy
138
chunk_retain_period: 1m
139
wal:
140
dir: {{ .Values.loki.dataDir }}/wal
141
142
limits_config:
143
retention_period: 336h
144
reject_old_samples: true
145
reject_old_samples_max_age: 168h
146
max_cache_freshness_per_query: 10m
147
split_queries_by_interval: 15m
148
allow_structured_metadata: true
149
150
schema_config:
151
configs:
152
- from: 2020-10-24
153
store: boltdb-shipper
154
object_store: filesystem
155
schema: v11
156
index:
157
prefix: index_
158
period: 24h
159
- from: 2024-03-12
160
store: tsdb
161
object_store: filesystem
162
schema: v12
163
index:
164
period: 24h
165
prefix: index_
166
- from: 2024-04-23
167
object_store: filesystem
168
store: tsdb
169
schema: v13
170
index:
171
prefix: index_
172
period: 24h
173
174
storage_config:
175
boltdb_shipper:
176
active_index_directory: {{ .Values.loki.dataDir }}/loki/index
177
cache_location: {{ .Values.loki.dataDir }}/loki/cache
178
cache_ttl: 168h
179
{{- if .Values.indexGateway.enabled }}
180
index_gateway_client:
181
server_address: {{ (printf "dns:///%s:9095" (include "grafana-loki.index-gateway.fullname" .)) }}
182
{{- end }}
183
filesystem:
184
directory: {{ .Values.loki.dataDir }}/chunks
185
index_queries_cache_config:
186
{{- if .Values.memcachedindexqueries.enabled }}
187
memcached:
188
batch_size: 100
189
parallelism: 100
190
memcached_client:
191
consistent_hash: true
192
addresses: dns+{{ include "grafana-loki.memcached-index-queries.host" . }}
193
service: http
194
{{- end }}
195
tsdb_shipper:
196
active_index_directory: {{ .Values.loki.dataDir }}/loki/tsdb-index
197
cache_location: {{ .Values.loki.dataDir }}/loki/tsdb-cache
198
{{- if .Values.indexGateway.enabled }}
199
index_gateway_client:
200
server_address: {{ (printf "dns:///%s:9095" (include "grafana-loki.index-gateway.fullname" .)) }}
201
{{- end }}
202
203
query_scheduler:
204
max_outstanding_requests_per_tenant: 32768
205
206
querier:
207
max_concurrent: 16
208
209
chunk_store_config:
210
{{- if .Values.memcachedchunks.enabled }}
211
chunk_cache_config:
212
memcached:
213
batch_size: 100
214
parallelism: 100
215
memcached_client:
216
consistent_hash: true
217
addresses: dns+{{ include "grafana-loki.memcached-chunks.host" . }}
218
{{- end }}
219
{{- if .Values.memcachedindexwrites.enabled }}
220
write_dedupe_cache_config:
221
memcached:
222
batch_size: 100
223
parallelism: 100
224
memcached_client:
225
consistent_hash: true
226
addresses: dns+{{ include "grafana-loki.memcached-index-writes.host" . }}
227
{{- end }}
228
229
table_manager:
230
retention_deletes_enabled: false
231
retention_period: 0s
232
233
query_range:
234
align_queries_with_step: true
235
max_retries: 5
236
cache_results: true
237
results_cache:
238
cache:
239
{{- if .Values.memcachedfrontend.enabled }}
240
memcached_client:
241
consistent_hash: true
242
addresses: dns+{{ include "grafana-loki.memcached-frontend.host" . }}
243
max_idle_conns: 16
244
timeout: 500ms
245
update_interval: 1m
246
{{- else }}
247
embedded_cache:
248
enabled: true
249
max_size_mb: 4096
250
ttl: 24h
251
{{- end }}
252
{{- if not .Values.queryScheduler.enabled }}
253
frontend_worker:
254
frontend_address: {{ include "grafana-loki.query-frontend.fullname" . }}:{{ .Values.queryFrontend.service.ports.grpc }}
255
{{- end }}
256
257
frontend:
258
log_queries_longer_than: 5s
259
compress_responses: true
260
tail_proxy_url: http://{{ include "grafana-loki.querier.fullname" . }}:{{ .Values.querier.service.ports.http }}
261
262
compactor:
263
working_directory: {{ .Values.loki.dataDir }}/loki/retention
264
compaction_interval: 10m
265
retention_enabled: true
266
retention_delete_delay: 2h
267
retention_delete_worker_count: 150
268
delete_request_store: filesystem
269
270
ruler:
271
storage:
272
type: local
273
local:
274
directory: {{ .Values.loki.dataDir }}/conf/rules
275
ring:
276
kvstore:
277
store: memberlist
278
rule_path: /tmp/loki/scratch
279
alertmanager_url: https://alertmanager.xx
280
external_url: https://alertmanager.xx
281
## @param loki.overrideConfiguration [object] Loki components configuration override. Values defined here takes precedence over loki.configuration
282
## e.g:
283
## overrideConfiguration:
284
## auth_enabled: true
285
##
286
overrideConfiguration: {}
287
## @param loki.existingConfigmap Name of a ConfigMap with the Loki configuration
288
##
289
existingConfigmap: ""
290
## @param loki.dataDir path to the Loki data directory
291
##
292
dataDir: "/iamguarded/grafana-loki"
293
## @param loki.containerPorts.http Loki components web container port
294
## @param loki.containerPorts.grpc Loki components GRPC container port
295
## @param loki.containerPorts.gossipRing Loki components Gossip Ring container port
296
##
297
containerPorts:
298
http: 3100
299
grpc: 9095
300
gossipRing: 7946
301
## Gossip Ring parameters
302
##
303
gossipRing:
304
## Gossip Ring service parameters
305
##
306
service:
307
## @param loki.gossipRing.service.ports.http Gossip Ring HTTP headless service port
308
##
309
ports:
310
http: 7946
311
## @param loki.gossipRing.service.annotations Additional custom annotations for Gossip Ring headless service
312
##
313
annotations: {}
314
## @param loki.gossipRing.excludeFromIstioMesh Exclude the memberlist gossip port from Istio sidecar capture so the gossip ring can form inside a mesh
315
##
316
# -- Exclude the memberlist gossip port from Istio sidecar capture so the gossip ring can form inside a mesh
317
excludeFromIstioMesh: false
318
## @section Compactor Deployment Parameters
319
##
320
compactor:
321
## @param compactor.enabled Enable Compactor deployment
322
##
323
enabled: true
324
## @param compactor.extraEnvVars Array with extra environment variables to add to compactor nodes
325
## e.g:
326
## extraEnvVars:
327
## - name: FOO
328
## value: "bar"
329
##
330
extraEnvVars: []
331
## @param compactor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for compactor nodes
332
##
333
extraEnvVarsCM: ""
334
## @param compactor.extraEnvVarsSecret Name of existing Secret containing extra env vars for compactor nodes
335
##
336
extraEnvVarsSecret: ""
337
## @param compactor.command Override default container command (useful when using custom images)
338
##
339
command: []
340
## @param compactor.args Override default container args (useful when using custom images)
341
##
342
args: []
343
## @param compactor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
344
##
345
extraArgs: []
346
## @param compactor.replicaCount Number of Compactor replicas to deploy
347
##
348
replicaCount: 1
349
## Configure extra options for Compactor containers' liveness, readiness and startup probes
350
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
351
## @param compactor.livenessProbe.enabled Enable livenessProbe on Compactor nodes
352
## @param compactor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
353
## @param compactor.livenessProbe.periodSeconds Period seconds for livenessProbe
354
## @param compactor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
355
## @param compactor.livenessProbe.failureThreshold Failure threshold for livenessProbe
356
## @param compactor.livenessProbe.successThreshold Success threshold for livenessProbe
357
##
358
livenessProbe:
359
enabled: true
360
failureThreshold: 3
361
initialDelaySeconds: 60
362
periodSeconds: 10
363
successThreshold: 1
364
timeoutSeconds: 1
365
## @param compactor.readinessProbe.enabled Enable readinessProbe on Compactor nodes
366
## @param compactor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
367
## @param compactor.readinessProbe.periodSeconds Period seconds for readinessProbe
368
## @param compactor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
369
## @param compactor.readinessProbe.failureThreshold Failure threshold for readinessProbe
370
## @param compactor.readinessProbe.successThreshold Success threshold for readinessProbe
371
##
372
readinessProbe:
373
enabled: true
374
failureThreshold: 3
375
initialDelaySeconds: 60
376
periodSeconds: 10
377
successThreshold: 1
378
timeoutSeconds: 1
379
## @param compactor.startupProbe.enabled Enable startupProbe on Compactor containers
380
## @param compactor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
381
## @param compactor.startupProbe.periodSeconds Period seconds for startupProbe
382
## @param compactor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
383
## @param compactor.startupProbe.failureThreshold Failure threshold for startupProbe
384
## @param compactor.startupProbe.successThreshold Success threshold for startupProbe
385
##
386
startupProbe:
387
enabled: false
388
initialDelaySeconds: 30
389
periodSeconds: 10
390
timeoutSeconds: 1
391
failureThreshold: 15
392
successThreshold: 1
393
## @param compactor.customLivenessProbe Custom livenessProbe that overrides the default one
394
##
395
customLivenessProbe: {}
396
## @param compactor.customReadinessProbe Custom readinessProbe that overrides the default one
397
##
398
customReadinessProbe: {}
399
## @param compactor.customStartupProbe Custom startupProbe that overrides the default one
400
##
401
customStartupProbe: {}
402
## compactor resource requests and limits
403
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
404
## @param compactor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if compactor.resources is set (compactor.resources is recommended for production).
405
##
406
resourcesPreset: "nano"
407
## @param compactor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
408
## Example:
409
## resources:
410
## requests:
411
## cpu: 2
412
## memory: 512Mi
413
## limits:
414
## cpu: 3
415
## memory: 1024Mi
416
##
417
resources: {}
418
## Configure Pods Security Context
419
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
420
## @param compactor.podSecurityContext.enabled Enabled Compactor pods' Security Context
421
## @param compactor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
422
## @param compactor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
423
## @param compactor.podSecurityContext.supplementalGroups Set filesystem extra groups
424
## @param compactor.podSecurityContext.fsGroup Set Compactor pod's Security Context fsGroup
425
##
426
podSecurityContext:
427
enabled: true
428
fsGroupChangePolicy: Always
429
sysctls: []
430
supplementalGroups: []
431
fsGroup: 1001
432
## Configure Container Security Context
433
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
434
## @param compactor.containerSecurityContext.enabled Enable containers' Security Context
435
## @param compactor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
436
## @param compactor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
437
## @param compactor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
438
## @param compactor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
439
## @param compactor.containerSecurityContext.privileged Set container's Security Context privileged
440
## @param compactor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
441
## @param compactor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
442
## @param compactor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
443
## @param compactor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
444
##
445
containerSecurityContext:
446
enabled: true
447
seLinuxOptions: {}
448
runAsUser: 1001
449
runAsGroup: 1001
450
runAsNonRoot: true
451
privileged: false
452
readOnlyRootFilesystem: true
453
allowPrivilegeEscalation: false
454
capabilities:
455
drop: ["ALL"]
456
seccompProfile:
457
type: "RuntimeDefault"
458
## @param compactor.lifecycleHooks for the compactor container(s) to automate configuration before or after startup
459
##
460
lifecycleHooks: {}
461
## @param compactor.automountServiceAccountToken Mount Service Account token in pod
462
##
463
automountServiceAccountToken: false
464
## @param compactor.hostAliases compactor pods host aliases
465
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
466
##
467
hostAliases: []
468
## @param compactor.podLabels Extra labels for compactor pods
469
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
470
##
471
podLabels: {}
472
## @param compactor.podAnnotations Annotations for compactor pods
473
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
474
##
475
podAnnotations: {}
476
## @param compactor.podAffinityPreset Pod affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
477
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
478
##
479
podAffinityPreset: ""
480
## @param compactor.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
481
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
482
##
483
podAntiAffinityPreset: soft
484
## Node compactor.affinity preset
485
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
486
##
487
nodeAffinityPreset:
488
## @param compactor.nodeAffinityPreset.type Node affinity preset type. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
489
##
490
type: ""
491
## @param compactor.nodeAffinityPreset.key Node label key to match. Ignored if `compactor.affinity` is set
492
##
493
key: ""
494
## @param compactor.nodeAffinityPreset.values Node label values to match. Ignored if `compactor.affinity` is set
495
## E.g.
496
## values:
497
## - e2e-az1
498
## - e2e-az2
499
##
500
values: []
501
## @param compactor.affinity Affinity for Compactor pods assignment
502
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
503
## NOTE: `compactor.podAffinityPreset`, `compactor.podAntiAffinityPreset`, and `compactor.nodeAffinityPreset` will be ignored when it's set
504
##
505
affinity: {}
506
## @param compactor.nodeSelector Node labels for Compactor pods assignment
507
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
508
##
509
nodeSelector: {}
510
## @param compactor.tolerations Tolerations for Compactor pods assignment
511
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
512
##
513
tolerations: []
514
## @param compactor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
515
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
516
##
517
topologySpreadConstraints: []
518
## @param compactor.priorityClassName Compactor pods' priorityClassName
519
##
520
priorityClassName: ""
521
## @param compactor.schedulerName Kubernetes pod scheduler registry
522
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
523
##
524
schedulerName: ""
525
## @param compactor.updateStrategy.type Compactor statefulset strategy type
526
## @param compactor.updateStrategy.rollingUpdate [object,nullable] Compactor statefulset rolling update configuration parameters
527
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
528
##
529
updateStrategy:
530
type: RollingUpdate
531
rollingUpdate: null
532
## @param compactor.extraVolumes Optionally specify extra list of additional volumes for the Compactor pod(s)
533
##
534
extraVolumes: []
535
## @param compactor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Compactor container(s)
536
##
537
extraVolumeMounts: []
538
## @param compactor.sidecars Add additional sidecar containers to the Compactor pod(s)
539
## e.g:
540
## sidecars:
541
## - name: your-image-name
542
## image: your-image
543
## imagePullPolicy: Always
544
## ports:
545
## - name: portname
546
## containerPort: 1234
547
##
548
sidecars: []
549
## @param compactor.initContainers Add additional init containers to the Compactor pod(s)
550
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
551
## e.g:
552
## initContainers:
553
## - name: your-image-name
554
## image: your-image
555
## imagePullPolicy: Always
556
## command: ['sh', '-c', 'echo "hello world"']
557
##
558
initContainers: []
559
## Pod Disruption Budget configuration
560
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
561
## @param compactor.pdb.create Enable/disable a Pod Disruption Budget creation
562
## @param compactor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
563
## @param compactor.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `compactor.pdb.minAvailable` and `compactor.pdb.maxUnavailable` are empty.
564
##
565
pdb:
566
create: true
567
minAvailable: ""
568
maxUnavailable: ""
569
## Enable persistence using Persistent Volume Claims
570
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
571
##
572
persistence:
573
## @param compactor.persistence.enabled Enable persistence in Compactor instances
574
##
575
enabled: true
576
## @param compactor.persistence.existingClaim Name of an existing PVC to use
577
##
578
existingClaim: ""
579
## @param compactor.persistence.storageClass PVC Storage Class for Memcached data volume
580
## If defined, storageClassName: <storageClass>
581
## If set to "-", storageClassName: "", which disables dynamic provisioning
582
## If undefined (the default) or set to null, no storageClassName spec is
583
## set, choosing the default provisioner. (gp2 on AWS, standard on
584
## GKE, AWS & OpenStack)
585
##
586
storageClass: ""
587
## @param compactor.persistence.accessModes PVC Access modes
588
##
589
accessModes:
590
- ReadWriteOnce
591
## @param compactor.persistence.size PVC Storage Request for Memcached data volume
592
##
593
size: 8Gi
594
## @param compactor.persistence.annotations Additional PVC annotations
595
##
596
annotations: {}
597
## @param compactor.persistence.selector Selector to match an existing Persistent Volume for Compactor's data PVC
598
## If set, the PVC can't have a PV dynamically provisioned for it
599
## E.g.
600
## selector:
601
## matchLabels:
602
## app: my-app
603
##
604
selector: {}
605
## @param compactor.persistence.dataSource PVC data source
606
##
607
dataSource: {}
608
## @param compactor.enableServiceLinks Whether information about services should be injected into pod's environment variable
609
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
610
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
611
##
612
enableServiceLinks: true
613
## @section Compactor Traffic Exposure Parameters
614
##
615
616
## compactor service parameters
617
##
618
service:
619
## @param compactor.service.type Compactor service type
620
##
621
type: ClusterIP
622
## @param compactor.service.ports.http Compactor HTTP service port
623
## @param compactor.service.ports.grpc Compactor gRPC service port
624
##
625
ports:
626
http: 3100
627
grpc: 9095
628
## Node ports to expose
629
## NOTE: choose port between <30000-32767>
630
## @param compactor.service.nodePorts.http Node port for HTTP
631
##
632
nodePorts:
633
http: ""
634
## @param compactor.service.sessionAffinityConfig Additional settings for the sessionAffinity
635
## sessionAffinityConfig:
636
## clientIP:
637
## timeoutSeconds: 300
638
##
639
sessionAffinityConfig: {}
640
## @param compactor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
641
## Values: ClientIP or None
642
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
643
##
644
sessionAffinity: None
645
## @param compactor.service.clusterIP Compactor service Cluster IP
646
## e.g.:
647
## clusterIP: None
648
##
649
clusterIP: ""
650
## @param compactor.service.loadBalancerIP Compactor service Load Balancer IP
651
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
652
##
653
loadBalancerIP: ""
654
## @param compactor.service.loadBalancerSourceRanges Compactor service Load Balancer sources
655
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
656
## e.g:
657
## loadBalancerSourceRanges:
658
## - 10.10.10.0/24
659
##
660
loadBalancerSourceRanges: []
661
## @param compactor.service.externalTrafficPolicy Compactor service external traffic policy
662
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
663
##
664
externalTrafficPolicy: Cluster
665
## @param compactor.service.annotations Additional custom annotations for Compactor service
666
##
667
annotations: {}
668
## @param compactor.service.extraPorts Extra ports to expose in the Compactor service
669
##
670
extraPorts: []
671
## Network Policies
672
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
673
##
674
networkPolicy:
675
## @param compactor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
676
##
677
enabled: true
678
## @param compactor.networkPolicy.allowExternal Don't require server label for connections
679
## The Policy model to apply. When set to false, only pods with the correct
680
## server label will have network access to the ports server is listening
681
## on. When true, server will accept connections from any source
682
## (with the correct destination port).
683
##
684
allowExternal: true
685
## @param compactor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
686
##
687
allowExternalEgress: true
688
## @param compactor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `compactor.networkPolicy.allowExternal` is true.
689
##
690
addExternalClientAccess: true
691
## @param compactor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
692
## e.g:
693
## extraIngress:
694
## - ports:
695
## - port: 1234
696
## from:
697
## - podSelector:
698
## - matchLabels:
699
## - role: frontend
700
## - podSelector:
701
## - matchExpressions:
702
## - key: role
703
## operator: In
704
## values:
705
## - frontend
706
extraIngress: []
707
## @param compactor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
708
## e.g:
709
## extraEgress:
710
## - ports:
711
## - port: 1234
712
## to:
713
## - podSelector:
714
## - matchLabels:
715
## - role: frontend
716
## - podSelector:
717
## - matchExpressions:
718
## - key: role
719
## operator: In
720
## values:
721
## - frontend
722
##
723
extraEgress: []
724
## @param compactor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `compactor.networkPolicy.allowExternal` is true.
725
## e.g:
726
## ingressPodMatchLabels:
727
## my-client: "true"
728
#
729
ingressPodMatchLabels: {}
730
## @param compactor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
731
## @param compactor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
732
##
733
ingressNSMatchLabels: {}
734
ingressNSPodMatchLabels: {}
735
## @section Gateway Deployment Parameters
736
##
737
gateway:
738
## @param gateway.enabled Enable Gateway deployment
739
##
740
enabled: true
741
## Iamguarded Nginx image
742
## @param gateway.image.registry [default: REGISTRY_NAME] Nginx image registry
743
## @param gateway.image.repository [default: REPOSITORY_NAME/nginx] Nginx image repository
744
## @skip gateway.image.tag Nginx image tag (immutable tags are recommended)
745
## @param gateway.image.digest Nginx image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
746
## @param gateway.image.pullPolicy Nginx image pull policy
747
## @param gateway.image.pullSecrets Nginx image pull secrets
748
## @param gateway.image.debug Enable debugging in the initialization process
749
##
750
image:
751
registry: cgr.dev
752
repository: chainguard-private/nginx-iamguarded
753
tag: 1.31.4
754
digest: ""
755
## Specify a imagePullPolicy
756
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
757
##
758
pullPolicy: IfNotPresent
759
## Optionally specify an array of imagePullSecrets.
760
## Secrets must be manually created in the namespace.
761
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
762
## e.g:
763
## pullSecrets:
764
## - myRegistryKeySecretName
765
##
766
pullSecrets: []
767
debug: false
768
## @param gateway.extraEnvVars Array with extra environment variables to add to gateway nodes
769
## e.g:
770
## extraEnvVars:
771
## - name: FOO
772
## value: "bar"
773
##
774
extraEnvVars: []
775
## @param gateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for gateway nodes
776
##
777
extraEnvVarsCM: ""
778
## @param gateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for gateway nodes
779
##
780
extraEnvVarsSecret: ""
781
## @param gateway.command Override default container command (useful when using custom images)
782
##
783
command: []
784
## @param gateway.args Override default container args (useful when using custom images)
785
##
786
args: []
787
## @param gateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
788
##
789
extraArgs: []
790
## @param gateway.verboseLogging Show the gateway access_log
791
##
792
verboseLogging: false
793
## @param gateway.replicaCount Number of Gateway replicas to deploy
794
##
795
replicaCount: 1
796
## @param gateway.auth.enabled Enable basic auth
797
## @param gateway.auth.username Basic auth username
798
## @param gateway.auth.password Basic auth password
799
## @param gateway.auth.existingSecret Name of a secret containing the Basic auth password
800
##
801
auth:
802
enabled: false
803
username: "user"
804
password: ""
805
existingSecret: ""
806
## Configure extra options for Gateway containers' liveness, readiness and startup probes
807
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
808
## @param gateway.livenessProbe.enabled Enable livenessProbe on Gateway nodes
809
## @param gateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
810
## @param gateway.livenessProbe.periodSeconds Period seconds for livenessProbe
811
## @param gateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
812
## @param gateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
813
## @param gateway.livenessProbe.successThreshold Success threshold for livenessProbe
814
##
815
livenessProbe:
816
enabled: true
817
failureThreshold: 3
818
initialDelaySeconds: 10
819
periodSeconds: 10
820
successThreshold: 1
821
timeoutSeconds: 1
822
## @param gateway.readinessProbe.enabled Enable readinessProbe on Gateway nodes
823
## @param gateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
824
## @param gateway.readinessProbe.periodSeconds Period seconds for readinessProbe
825
## @param gateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
826
## @param gateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
827
## @param gateway.readinessProbe.successThreshold Success threshold for readinessProbe
828
##
829
readinessProbe:
830
enabled: true
831
failureThreshold: 3
832
initialDelaySeconds: 10
833
periodSeconds: 10
834
successThreshold: 1
835
timeoutSeconds: 1
836
## @param gateway.startupProbe.enabled Enable startupProbe on Gateway containers
837
## @param gateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
838
## @param gateway.startupProbe.periodSeconds Period seconds for startupProbe
839
## @param gateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
840
## @param gateway.startupProbe.failureThreshold Failure threshold for startupProbe
841
## @param gateway.startupProbe.successThreshold Success threshold for startupProbe
842
##
843
startupProbe:
844
enabled: false
845
initialDelaySeconds: 10
846
periodSeconds: 10
847
timeoutSeconds: 1
848
failureThreshold: 15
849
successThreshold: 1
850
## @param gateway.customLivenessProbe Custom livenessProbe that overrides the default one
851
##
852
customLivenessProbe: {}
853
## @param gateway.customReadinessProbe Custom readinessProbe that overrides the default one
854
##
855
customReadinessProbe: {}
856
## @param gateway.customStartupProbe Custom startupProbe that overrides the default one
857
##
858
customStartupProbe: {}
859
## @param gateway.containerPorts.http Gateway HTTP port
860
##
861
containerPorts:
862
http: 8080
863
## gateway resource requests and limits
864
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
865
## @param gateway.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if gateway.resources is set (gateway.resources is recommended for production).
866
##
867
resourcesPreset: "nano"
868
## @param gateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
869
## Example:
870
## resources:
871
## requests:
872
## cpu: 2
873
## memory: 512Mi
874
## limits:
875
## cpu: 3
876
## memory: 1024Mi
877
##
878
resources: {}
879
## Configure Pods Security Context
880
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
881
## @param gateway.podSecurityContext.enabled Enabled Gateway pods' Security Context
882
## @param gateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
883
## @param gateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
884
## @param gateway.podSecurityContext.supplementalGroups Set filesystem extra groups
885
## @param gateway.podSecurityContext.fsGroup Set Gateway pod's Security Context fsGroup
886
##
887
podSecurityContext:
888
enabled: true
889
fsGroupChangePolicy: Always
890
sysctls: []
891
supplementalGroups: []
892
fsGroup: 1001
893
## Configure Container Security Context
894
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
895
## @param gateway.containerSecurityContext.enabled Enabled containers' Security Context
896
## @param gateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
897
## @param gateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
898
## @param gateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
899
## @param gateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
900
## @param gateway.containerSecurityContext.privileged Set container's Security Context privileged
901
## @param gateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
902
## @param gateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
903
## @param gateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
904
## @param gateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
905
##
906
containerSecurityContext:
907
enabled: true
908
seLinuxOptions: {}
909
runAsUser: 1001
910
runAsGroup: 1001
911
runAsNonRoot: true
912
privileged: false
913
readOnlyRootFilesystem: true
914
allowPrivilegeEscalation: false
915
capabilities:
916
drop: ["ALL"]
917
seccompProfile:
918
type: "RuntimeDefault"
919
## @param gateway.lifecycleHooks for the gateway container(s) to automate configuration before or after startup
920
##
921
lifecycleHooks: {}
922
## @param gateway.automountServiceAccountToken Mount Service Account token in pod
923
##
924
automountServiceAccountToken: false
925
## @param gateway.hostAliases gateway pods host aliases
926
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
927
##
928
hostAliases: []
929
## @param gateway.podLabels Extra labels for gateway pods
930
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
931
##
932
podLabels: {}
933
## @param gateway.podAnnotations Annotations for gateway pods
934
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
935
##
936
podAnnotations: {}
937
## @param gateway.podAffinityPreset Pod affinity preset. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
938
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
939
##
940
podAffinityPreset: ""
941
## @param gateway.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
942
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
943
##
944
podAntiAffinityPreset: soft
945
## Node gateway.affinity preset
946
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
947
##
948
nodeAffinityPreset:
949
## @param gateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
950
##
951
type: ""
952
## @param gateway.nodeAffinityPreset.key Node label key to match. Ignored if `gateway.affinity` is set
953
##
954
key: ""
955
## @param gateway.nodeAffinityPreset.values Node label values to match. Ignored if `gateway.affinity` is set
956
## E.g.
957
## values:
958
## - e2e-az1
959
## - e2e-az2
960
##
961
values: []
962
## @param gateway.affinity Affinity for Gateway pods assignment
963
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
964
## NOTE: `gateway.podAffinityPreset`, `gateway.podAntiAffinityPreset`, and `gateway.nodeAffinityPreset` will be ignored when it's set
965
##
966
affinity: {}
967
## @param gateway.nodeSelector Node labels for Gateway pods assignment
968
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
969
##
970
nodeSelector: {}
971
## @param gateway.tolerations Tolerations for Gateway pods assignment
972
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
973
##
974
tolerations: []
975
## @param gateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
976
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
977
##
978
topologySpreadConstraints: []
979
## @param gateway.priorityClassName Gateway pods' priorityClassName
980
##
981
priorityClassName: ""
982
## @param gateway.schedulerName Kubernetes pod scheduler registry
983
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
984
##
985
schedulerName: ""
986
## @param gateway.updateStrategy.type Gateway statefulset strategy type
987
## @param gateway.updateStrategy.rollingUpdate [object,nullable] Gateway statefulset rolling update configuration parameters
988
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
989
##
990
updateStrategy:
991
type: RollingUpdate
992
rollingUpdate: null
993
## @param gateway.extraVolumes Optionally specify extra list of additional volumes for the Gateway pod(s)
994
##
995
extraVolumes: []
996
## @param gateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Gateway container(s)
997
##
998
extraVolumeMounts: []
999
## @param gateway.sidecars Add additional sidecar containers to the Gateway pod(s)
1000
## e.g:
1001
## sidecars:
1002
## - name: your-image-name
1003
## image: your-image
1004
## imagePullPolicy: Always
1005
## ports:
1006
## - name: portname
1007
## containerPort: 1234
1008
##
1009
sidecars: []
1010
## Pod Disruption Budget configuration
1011
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1012
## @param gateway.pdb.create Enable/disable a Pod Disruption Budget creation
1013
## @param gateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1014
## @param gateway.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `gateway.pdb.minAvailable` and `gateway.pdb.maxUnavailable` are empty.
1015
##
1016
pdb:
1017
create: true
1018
minAvailable: ""
1019
maxUnavailable: ""
1020
## @param gateway.initContainers Add additional init containers to the Gateway pod(s)
1021
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1022
## e.g:
1023
## initContainers:
1024
## - name: your-image-name
1025
## image: your-image
1026
## imagePullPolicy: Always
1027
## command: ['sh', '-c', 'echo "hello world"']
1028
##
1029
initContainers: []
1030
## @param gateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1031
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1032
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1033
##
1034
enableServiceLinks: true
1035
## @section Gateway Traffic Exposure Parameters
1036
##
1037
1038
## gateway service parameters
1039
##
1040
service:
1041
## @param gateway.service.type Gateway service type
1042
##
1043
type: ClusterIP
1044
## @param gateway.service.ports.http Gateway HTTP service port
1045
##
1046
ports:
1047
http: 80
1048
## Node ports to expose
1049
## NOTE: choose port between <30000-32767>
1050
## @param gateway.service.nodePorts.http Node port for HTTP
1051
##
1052
nodePorts:
1053
http: ""
1054
## @param gateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1055
## sessionAffinityConfig:
1056
## clientIP:
1057
## timeoutSeconds: 300
1058
##
1059
sessionAffinityConfig: {}
1060
## @param gateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1061
## Values: ClientIP or None
1062
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1063
##
1064
sessionAffinity: None
1065
## @param gateway.service.clusterIP Gateway service Cluster IP
1066
## e.g.:
1067
## clusterIP: None
1068
##
1069
clusterIP: ""
1070
## @param gateway.service.loadBalancerIP Gateway service Load Balancer IP
1071
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1072
##
1073
loadBalancerIP: ""
1074
## @param gateway.service.loadBalancerSourceRanges Gateway service Load Balancer sources
1075
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1076
## e.g:
1077
## loadBalancerSourceRanges:
1078
## - 10.10.10.0/24
1079
##
1080
loadBalancerSourceRanges: []
1081
## @param gateway.service.externalTrafficPolicy Gateway service external traffic policy
1082
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1083
##
1084
externalTrafficPolicy: Cluster
1085
## @param gateway.service.annotations Additional custom annotations for Gateway service
1086
##
1087
annotations: {}
1088
## @param gateway.service.extraPorts Extra ports to expose in the Gateway service
1089
##
1090
extraPorts: []
1091
## @param gateway.service.nginx.config to override configurations i.e (client_max_body_size) in nginx http block
1092
##
1093
nginx:
1094
config: ""
1095
## Network Policies
1096
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1097
##
1098
networkPolicy:
1099
## @param gateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1100
##
1101
enabled: true
1102
## @param gateway.networkPolicy.allowExternal Don't require server label for connections
1103
## The Policy model to apply. When set to false, only pods with the correct
1104
## server label will have network access to the ports server is listening
1105
## on. When true, server will accept connections from any source
1106
## (with the correct destination port).
1107
##
1108
allowExternal: true
1109
## @param gateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1110
##
1111
allowExternalEgress: true
1112
## @param gateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `gateway.networkPolicy.allowExternal` is true.
1113
##
1114
addExternalClientAccess: true
1115
## @param gateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1116
## e.g:
1117
## extraIngress:
1118
## - ports:
1119
## - port: 1234
1120
## from:
1121
## - podSelector:
1122
## - matchLabels:
1123
## - role: frontend
1124
## - podSelector:
1125
## - matchExpressions:
1126
## - key: role
1127
## operator: In
1128
## values:
1129
## - frontend
1130
extraIngress: []
1131
## @param gateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1132
## e.g:
1133
## extraEgress:
1134
## - ports:
1135
## - port: 1234
1136
## to:
1137
## - podSelector:
1138
## - matchLabels:
1139
## - role: frontend
1140
## - podSelector:
1141
## - matchExpressions:
1142
## - key: role
1143
## operator: In
1144
## values:
1145
## - frontend
1146
##
1147
extraEgress: []
1148
## @param gateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `gateway.networkPolicy.allowExternal` is true.
1149
## e.g:
1150
## ingressPodMatchLabels:
1151
## my-client: "true"
1152
#
1153
ingressPodMatchLabels: {}
1154
## @param gateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1155
## @param gateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1156
##
1157
ingressNSMatchLabels: {}
1158
ingressNSPodMatchLabels: {}
1159
## Configure the ingress resource that allows you to access the Loki Gateway installation
1160
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1161
##
1162
ingress:
1163
## @param gateway.ingress.enabled Enable ingress record generation for Loki Gateway
1164
##
1165
enabled: false
1166
## @param gateway.ingress.pathType Ingress path type
1167
##
1168
pathType: ImplementationSpecific
1169
## @param gateway.ingress.apiVersion Force Ingress API version (automatically detected if not set)
1170
##
1171
apiVersion: ""
1172
## @param gateway.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1173
## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
1174
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
1175
##
1176
ingressClassName: ""
1177
## @param gateway.ingress.hostname Default host for the ingress record
1178
##
1179
hostname: grafana-loki.local
1180
## @param gateway.ingress.path Default path for the ingress record
1181
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
1182
##
1183
path: /
1184
## @param gateway.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
1185
## For a full list of possible ingress annotations, please see
1186
## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
1187
## Use this parameter to set the required annotations for cert-manager, see
1188
## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
1189
##
1190
## e.g:
1191
## annotations:
1192
## kubernetes.io/ingress.class: nginx
1193
## cert-manager.io/cluster-issuer: cluster-issuer-name
1194
##
1195
annotations: {}
1196
## @param gateway.ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
1197
## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
1198
## You can:
1199
## - Use the `ingress.secrets` parameter to create this TLS secret
1200
## - Rely on cert-manager to create it by setting the corresponding annotations
1201
## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
1202
##
1203
tls: false
1204
## @param gateway.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1205
##
1206
selfSigned: false
1207
## @param gateway.ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
1208
## e.g:
1209
## extraHosts:
1210
## - name: Loki Gateway.local
1211
## path: /
1212
##
1213
extraHosts: []
1214
## @param gateway.ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
1215
## e.g:
1216
## extraPaths:
1217
## - path: /*
1218
## backend:
1219
## serviceName: ssl-redirect
1220
## servicePort: use-annotation
1221
##
1222
extraPaths: []
1223
## @param gateway.ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
1224
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1225
## e.g:
1226
## extraTls:
1227
## - hosts:
1228
## - Loki Gateway.local
1229
## secretName: Loki Gateway.local-tls
1230
##
1231
extraTls: []
1232
## @param gateway.ingress.secrets Custom TLS certificates as secrets
1233
## NOTE: 'key' and 'certificate' are expected in PEM format
1234
## NOTE: 'name' should line up with a 'secretName' set further up
1235
## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
1236
## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
1237
## It is also possible to create and manage the certificates outside of this helm chart
1238
## Please see README.md for more information
1239
## e.g:
1240
## secrets:
1241
## - name: Loki Gateway.local-tls
1242
## key: |-
1243
## -----BEGIN RSA PRIVATE KEY-----
1244
## ...
1245
## -----END RSA PRIVATE KEY-----
1246
## certificate: |-
1247
## -----BEGIN CERTIFICATE-----
1248
## ...
1249
## -----END CERTIFICATE-----
1250
##
1251
secrets: []
1252
## @section index-gateway Deployment Parameters
1253
##
1254
indexGateway:
1255
## @param indexGateway.enabled Enable index-gateway deployment
1256
##
1257
enabled: false
1258
## @param indexGateway.extraEnvVars Array with extra environment variables to add to indexGateway nodes
1259
## e.g:
1260
## extraEnvVars:
1261
## - name: FOO
1262
## value: "bar"
1263
##
1264
extraEnvVars: []
1265
## @param indexGateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for indexGateway nodes
1266
##
1267
extraEnvVarsCM: ""
1268
## @param indexGateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for indexGateway nodes
1269
##
1270
extraEnvVarsSecret: ""
1271
## @param indexGateway.command Override default container command (useful when using custom images)
1272
##
1273
command: []
1274
## @param indexGateway.args Override default container args (useful when using custom images)
1275
##
1276
args: []
1277
## @param indexGateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1278
##
1279
extraArgs: []
1280
## @param indexGateway.replicaCount Number of index-gateway replicas to deploy
1281
##
1282
replicaCount: 1
1283
## @param indexGateway.podManagementPolicy podManagementPolicy to manage scaling operation
1284
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1285
##
1286
podManagementPolicy: ""
1287
## Configure extra options for index-gateway containers' liveness, readiness and startup probes
1288
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1289
## @param indexGateway.livenessProbe.enabled Enable livenessProbe on index-gateway nodes
1290
## @param indexGateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1291
## @param indexGateway.livenessProbe.periodSeconds Period seconds for livenessProbe
1292
## @param indexGateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1293
## @param indexGateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
1294
## @param indexGateway.livenessProbe.successThreshold Success threshold for livenessProbe
1295
##
1296
livenessProbe:
1297
enabled: true
1298
failureThreshold: 3
1299
initialDelaySeconds: 60
1300
periodSeconds: 10
1301
successThreshold: 1
1302
timeoutSeconds: 1
1303
## @param indexGateway.readinessProbe.enabled Enable readinessProbe on index-gateway nodes
1304
## @param indexGateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1305
## @param indexGateway.readinessProbe.periodSeconds Period seconds for readinessProbe
1306
## @param indexGateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1307
## @param indexGateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
1308
## @param indexGateway.readinessProbe.successThreshold Success threshold for readinessProbe
1309
##
1310
readinessProbe:
1311
enabled: true
1312
failureThreshold: 3
1313
initialDelaySeconds: 60
1314
periodSeconds: 10
1315
successThreshold: 1
1316
timeoutSeconds: 1
1317
## @param indexGateway.startupProbe.enabled Enable startupProbe on index-gateway containers
1318
## @param indexGateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1319
## @param indexGateway.startupProbe.periodSeconds Period seconds for startupProbe
1320
## @param indexGateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1321
## @param indexGateway.startupProbe.failureThreshold Failure threshold for startupProbe
1322
## @param indexGateway.startupProbe.successThreshold Success threshold for startupProbe
1323
##
1324
startupProbe:
1325
enabled: false
1326
initialDelaySeconds: 30
1327
periodSeconds: 10
1328
timeoutSeconds: 1
1329
failureThreshold: 15
1330
successThreshold: 1
1331
## @param indexGateway.customLivenessProbe Custom livenessProbe that overrides the default one
1332
##
1333
customLivenessProbe: {}
1334
## @param indexGateway.customReadinessProbe Custom readinessProbe that overrides the default one
1335
##
1336
customReadinessProbe: {}
1337
## @param indexGateway.customStartupProbe Custom startupProbe that overrides the default one
1338
##
1339
customStartupProbe: {}
1340
## indexGateway resource requests and limits
1341
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1342
## @param indexGateway.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if indexGateway.resources is set (indexGateway.resources is recommended for production).
1343
##
1344
resourcesPreset: "nano"
1345
## @param indexGateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1346
## Example:
1347
## resources:
1348
## requests:
1349
## cpu: 2
1350
## memory: 512Mi
1351
## limits:
1352
## cpu: 3
1353
## memory: 1024Mi
1354
##
1355
resources: {}
1356
## Configure Pods Security Context
1357
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1358
## @param indexGateway.podSecurityContext.enabled Enabled index-gateway pods' Security Context
1359
## @param indexGateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1360
## @param indexGateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1361
## @param indexGateway.podSecurityContext.supplementalGroups Set filesystem extra groups
1362
## @param indexGateway.podSecurityContext.fsGroup Set index-gateway pod's Security Context fsGroup
1363
##
1364
podSecurityContext:
1365
enabled: true
1366
fsGroupChangePolicy: Always
1367
sysctls: []
1368
supplementalGroups: []
1369
fsGroup: 1001
1370
## Configure Container Security Context
1371
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1372
## @param indexGateway.containerSecurityContext.enabled Enabled containers' Security Context
1373
## @param indexGateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1374
## @param indexGateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1375
## @param indexGateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1376
## @param indexGateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1377
## @param indexGateway.containerSecurityContext.privileged Set container's Security Context privileged
1378
## @param indexGateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1379
## @param indexGateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1380
## @param indexGateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1381
## @param indexGateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1382
##
1383
containerSecurityContext:
1384
enabled: true
1385
seLinuxOptions: {}
1386
runAsUser: 1001
1387
runAsGroup: 1001
1388
runAsNonRoot: true
1389
privileged: false
1390
readOnlyRootFilesystem: true
1391
allowPrivilegeEscalation: false
1392
capabilities:
1393
drop: ["ALL"]
1394
seccompProfile:
1395
type: "RuntimeDefault"
1396
## @param indexGateway.lifecycleHooks for the indexGateway container(s) to automate configuration before or after startup
1397
##
1398
lifecycleHooks: {}
1399
## @param indexGateway.automountServiceAccountToken Mount Service Account token in pod
1400
##
1401
automountServiceAccountToken: false
1402
## @param indexGateway.hostAliases indexGateway pods host aliases
1403
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1404
##
1405
hostAliases: []
1406
## @param indexGateway.podLabels Extra labels for indexGateway pods
1407
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1408
##
1409
podLabels: {}
1410
## @param indexGateway.podAnnotations Annotations for indexGateway pods
1411
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1412
##
1413
podAnnotations: {}
1414
## @param indexGateway.podAffinityPreset Pod affinity preset. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1415
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1416
##
1417
podAffinityPreset: ""
1418
## @param indexGateway.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1419
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1420
##
1421
podAntiAffinityPreset: soft
1422
## Node indexGateway.affinity preset
1423
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1424
##
1425
nodeAffinityPreset:
1426
## @param indexGateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1427
##
1428
type: ""
1429
## @param indexGateway.nodeAffinityPreset.key Node label key to match. Ignored if `indexGateway.affinity` is set
1430
##
1431
key: ""
1432
## @param indexGateway.nodeAffinityPreset.values Node label values to match. Ignored if `indexGateway.affinity` is set
1433
## E.g.
1434
## values:
1435
## - e2e-az1
1436
## - e2e-az2
1437
##
1438
values: []
1439
## @param indexGateway.affinity Affinity for index-gateway pods assignment
1440
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1441
## NOTE: `indexGateway.podAffinityPreset`, `indexGateway.podAntiAffinityPreset`, and `indexGateway.nodeAffinityPreset` will be ignored when it's set
1442
##
1443
affinity: {}
1444
## @param indexGateway.nodeSelector Node labels for index-gateway pods assignment
1445
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1446
##
1447
nodeSelector: {}
1448
## @param indexGateway.tolerations Tolerations for index-gateway pods assignment
1449
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1450
##
1451
tolerations: []
1452
## @param indexGateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1453
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1454
##
1455
topologySpreadConstraints: []
1456
## @param indexGateway.priorityClassName index-gateway pods' priorityClassName
1457
##
1458
priorityClassName: ""
1459
## @param indexGateway.schedulerName Kubernetes pod scheduler registry
1460
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1461
##
1462
schedulerName: ""
1463
## @param indexGateway.updateStrategy.type index-gateway statefulset strategy type
1464
## @param indexGateway.updateStrategy.rollingUpdate [object,nullable] index-gateway statefulset rolling update configuration parameters
1465
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1466
##
1467
updateStrategy:
1468
type: RollingUpdate
1469
rollingUpdate: null
1470
## @param indexGateway.extraVolumes Optionally specify extra list of additional volumes for the index-gateway pod(s)
1471
##
1472
extraVolumes: []
1473
## @param indexGateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the index-gateway container(s)
1474
##
1475
extraVolumeMounts: []
1476
## @param indexGateway.sidecars Add additional sidecar containers to the index-gateway pod(s)
1477
## e.g:
1478
## sidecars:
1479
## - name: your-image-name
1480
## image: your-image
1481
## imagePullPolicy: Always
1482
## ports:
1483
## - name: portname
1484
## containerPort: 1234
1485
##
1486
sidecars: []
1487
## @param indexGateway.initContainers Add additional init containers to the index-gateway pod(s)
1488
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1489
## e.g:
1490
## initContainers:
1491
## - name: your-image-name
1492
## image: your-image
1493
## imagePullPolicy: Always
1494
## command: ['sh', '-c', 'echo "hello world"']
1495
##
1496
initContainers: []
1497
## @param indexGateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1498
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1499
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1500
##
1501
enableServiceLinks: true
1502
## Pod Disruption Budget configuration
1503
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1504
## @param indexGateway.pdb.create Enable/disable a Pod Disruption Budget creation
1505
## @param indexGateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1506
## @param indexGateway.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `indexGateway.pdb.minAvailable` and `indexGateway.pdb.maxUnavailable` are empty.
1507
##
1508
pdb:
1509
create: true
1510
minAvailable: ""
1511
maxUnavailable: ""
1512
## @section index-gateway Persistence Parameters
1513
##
1514
1515
## Enable persistence using Persistent Volume Claims
1516
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1517
##
1518
persistence:
1519
## @param indexGateway.persistence.enabled Enable persistence in index-gateway instances
1520
##
1521
enabled: false
1522
## @param indexGateway.persistence.storageClass PVC Storage Class for index-gateway's data volume
1523
## If defined, storageClassName: <storageClass>
1524
## If set to "-", storageClassName: "", which disables dynamic provisioning
1525
## If undefined (the default) or set to null, no storageClassName spec is
1526
## set, choosing the default provisioner. (gp2 on AWS, standard on
1527
## GKE, AWS & OpenStack)
1528
##
1529
storageClass: ""
1530
## @param indexGateway.persistence.subPath The subdirectory of the volume to mount to
1531
##
1532
subPath: ""
1533
## @param indexGateway.persistence.accessModes PVC Access modes
1534
##
1535
accessModes:
1536
- ReadWriteOnce
1537
## @param indexGateway.persistence.size PVC Storage Request for index-gateway's data volume
1538
##
1539
size: 8Gi
1540
## @param indexGateway.persistence.annotations Additional PVC annotations
1541
##
1542
annotations: {}
1543
## @param indexGateway.persistence.selector Selector to match an existing Persistent Volume for index-gateway's data PVC
1544
## If set, the PVC can't have a PV dynamically provisioned for it
1545
## E.g.
1546
## selector:
1547
## matchLabels:
1548
## app: my-app
1549
##
1550
selector: {}
1551
## @section index-gateway Traffic Exposure Parameters
1552
##
1553
1554
## indexGateway service parameters
1555
##
1556
service:
1557
## @param indexGateway.service.type index-gateway service type
1558
##
1559
type: ClusterIP
1560
## @param indexGateway.service.ports.http index-gateway HTTP service port
1561
## @param indexGateway.service.ports.grpc index-gateway GRPC service port
1562
##
1563
ports:
1564
http: 3100
1565
grpc: 9095
1566
## Node ports to expose
1567
## NOTE: choose port between <30000-32767>
1568
## @param indexGateway.service.nodePorts.http Node port for HTTP
1569
## @param indexGateway.service.nodePorts.grpc Node port for GRPC
1570
##
1571
nodePorts:
1572
http: ""
1573
grpc: ""
1574
## @param indexGateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1575
## sessionAffinityConfig:
1576
## clientIP:
1577
## timeoutSeconds: 300
1578
##
1579
sessionAffinityConfig: {}
1580
## @param indexGateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1581
## Values: ClientIP or None
1582
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1583
##
1584
sessionAffinity: None
1585
## @param indexGateway.service.clusterIP index-gateway service Cluster IP
1586
## e.g.:
1587
## clusterIP: None
1588
##
1589
clusterIP: ""
1590
## @param indexGateway.service.loadBalancerIP index-gateway service Load Balancer IP
1591
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1592
##
1593
loadBalancerIP: ""
1594
## @param indexGateway.service.loadBalancerSourceRanges index-gateway service Load Balancer sources
1595
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1596
## e.g:
1597
## loadBalancerSourceRanges:
1598
## - 10.10.10.0/24
1599
##
1600
loadBalancerSourceRanges: []
1601
## @param indexGateway.service.externalTrafficPolicy index-gateway service external traffic policy
1602
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1603
##
1604
externalTrafficPolicy: Cluster
1605
## @param indexGateway.service.annotations Additional custom annotations for index-gateway service
1606
##
1607
annotations: {}
1608
## @param indexGateway.service.extraPorts Extra ports to expose in the index-gateway service
1609
##
1610
extraPorts: []
1611
## Network Policies
1612
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1613
##
1614
networkPolicy:
1615
## @param indexGateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1616
##
1617
enabled: true
1618
## @param indexGateway.networkPolicy.allowExternal Don't require server label for connections
1619
## The Policy model to apply. When set to false, only pods with the correct
1620
## server label will have network access to the ports server is listening
1621
## on. When true, server will accept connections from any source
1622
## (with the correct destination port).
1623
##
1624
allowExternal: true
1625
## @param indexGateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1626
##
1627
allowExternalEgress: true
1628
## @param indexGateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1629
##
1630
addExternalClientAccess: true
1631
## @param indexGateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1632
## e.g:
1633
## extraIngress:
1634
## - ports:
1635
## - port: 1234
1636
## from:
1637
## - podSelector:
1638
## - matchLabels:
1639
## - role: frontend
1640
## - podSelector:
1641
## - matchExpressions:
1642
## - key: role
1643
## operator: In
1644
## values:
1645
## - frontend
1646
extraIngress: []
1647
## @param indexGateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1648
## e.g:
1649
## extraEgress:
1650
## - ports:
1651
## - port: 1234
1652
## to:
1653
## - podSelector:
1654
## - matchLabels:
1655
## - role: frontend
1656
## - podSelector:
1657
## - matchExpressions:
1658
## - key: role
1659
## operator: In
1660
## values:
1661
## - frontend
1662
##
1663
extraEgress: []
1664
## @param indexGateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1665
## e.g:
1666
## ingressPodMatchLabels:
1667
## my-client: "true"
1668
#
1669
ingressPodMatchLabels: {}
1670
## @param indexGateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1671
## @param indexGateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1672
##
1673
ingressNSMatchLabels: {}
1674
ingressNSPodMatchLabels: {}
1675
## @section Distributor Deployment Parameters
1676
##
1677
distributor:
1678
## @param distributor.extraEnvVars Array with extra environment variables to add to distributor nodes
1679
## e.g:
1680
## extraEnvVars:
1681
## - name: FOO
1682
## value: "bar"
1683
##
1684
extraEnvVars: []
1685
## @param distributor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for distributor nodes
1686
##
1687
extraEnvVarsCM: ""
1688
## @param distributor.extraEnvVarsSecret Name of existing Secret containing extra env vars for distributor nodes
1689
##
1690
extraEnvVarsSecret: ""
1691
## @param distributor.command Override default container command (useful when using custom images)
1692
##
1693
command: []
1694
## @param distributor.args Override default container args (useful when using custom images)
1695
##
1696
args: []
1697
## @param distributor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1698
##
1699
extraArgs: []
1700
## @param distributor.replicaCount Number of Distributor replicas to deploy
1701
##
1702
replicaCount: 1
1703
## Configure extra options for Distributor containers' liveness, readiness and startup probes
1704
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1705
## @param distributor.livenessProbe.enabled Enable livenessProbe on Distributor nodes
1706
## @param distributor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1707
## @param distributor.livenessProbe.periodSeconds Period seconds for livenessProbe
1708
## @param distributor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1709
## @param distributor.livenessProbe.failureThreshold Failure threshold for livenessProbe
1710
## @param distributor.livenessProbe.successThreshold Success threshold for livenessProbe
1711
##
1712
livenessProbe:
1713
enabled: true
1714
failureThreshold: 3
1715
initialDelaySeconds: 10
1716
periodSeconds: 10
1717
successThreshold: 1
1718
timeoutSeconds: 1
1719
## @param distributor.readinessProbe.enabled Enable readinessProbe on Distributor nodes
1720
## @param distributor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1721
## @param distributor.readinessProbe.periodSeconds Period seconds for readinessProbe
1722
## @param distributor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1723
## @param distributor.readinessProbe.failureThreshold Failure threshold for readinessProbe
1724
## @param distributor.readinessProbe.successThreshold Success threshold for readinessProbe
1725
##
1726
readinessProbe:
1727
enabled: true
1728
failureThreshold: 3
1729
initialDelaySeconds: 10
1730
periodSeconds: 10
1731
successThreshold: 1
1732
timeoutSeconds: 1
1733
## @param distributor.startupProbe.enabled Enable startupProbe on Distributor containers
1734
## @param distributor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1735
## @param distributor.startupProbe.periodSeconds Period seconds for startupProbe
1736
## @param distributor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1737
## @param distributor.startupProbe.failureThreshold Failure threshold for startupProbe
1738
## @param distributor.startupProbe.successThreshold Success threshold for startupProbe
1739
##
1740
startupProbe:
1741
enabled: false
1742
initialDelaySeconds: 30
1743
periodSeconds: 10
1744
timeoutSeconds: 1
1745
failureThreshold: 15
1746
successThreshold: 1
1747
## @param distributor.customLivenessProbe Custom livenessProbe that overrides the default one
1748
##
1749
customLivenessProbe: {}
1750
## @param distributor.customReadinessProbe Custom readinessProbe that overrides the default one
1751
##
1752
customReadinessProbe: {}
1753
## @param distributor.customStartupProbe Custom startupProbe that overrides the default one
1754
##
1755
customStartupProbe: {}
1756
## distributor resource requests and limits
1757
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1758
## @param distributor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if distributor.resources is set (distributor.resources is recommended for production).
1759
##
1760
resourcesPreset: "nano"
1761
## @param distributor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1762
## Example:
1763
## resources:
1764
## requests:
1765
## cpu: 2
1766
## memory: 512Mi
1767
## limits:
1768
## cpu: 3
1769
## memory: 1024Mi
1770
##
1771
resources: {}
1772
## Configure Pods Security Context
1773
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1774
## @param distributor.podSecurityContext.enabled Enabled Distributor pods' Security Context
1775
## @param distributor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1776
## @param distributor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1777
## @param distributor.podSecurityContext.supplementalGroups Set filesystem extra groups
1778
## @param distributor.podSecurityContext.fsGroup Set Distributor pod's Security Context fsGroup
1779
##
1780
podSecurityContext:
1781
enabled: true
1782
fsGroupChangePolicy: Always
1783
sysctls: []
1784
supplementalGroups: []
1785
fsGroup: 1001
1786
## Configure Container Security Context
1787
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1788
## @param distributor.containerSecurityContext.enabled Enabled containers' Security Context
1789
## @param distributor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1790
## @param distributor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1791
## @param distributor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1792
## @param distributor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1793
## @param distributor.containerSecurityContext.privileged Set container's Security Context privileged
1794
## @param distributor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1795
## @param distributor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1796
## @param distributor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1797
## @param distributor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1798
##
1799
containerSecurityContext:
1800
enabled: true
1801
seLinuxOptions: {}
1802
runAsUser: 1001
1803
runAsGroup: 1001
1804
runAsNonRoot: true
1805
privileged: false
1806
readOnlyRootFilesystem: true
1807
allowPrivilegeEscalation: false
1808
capabilities:
1809
drop: ["ALL"]
1810
seccompProfile:
1811
type: "RuntimeDefault"
1812
## @param distributor.lifecycleHooks for the distributor container(s) to automate configuration before or after startup
1813
##
1814
lifecycleHooks: {}
1815
## @param distributor.automountServiceAccountToken Mount Service Account token in pod
1816
##
1817
automountServiceAccountToken: false
1818
## @param distributor.hostAliases distributor pods host aliases
1819
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1820
##
1821
hostAliases: []
1822
## @param distributor.podLabels Extra labels for distributor pods
1823
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1824
##
1825
podLabels: {}
1826
## @param distributor.podAnnotations Annotations for distributor pods
1827
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1828
##
1829
podAnnotations: {}
1830
## @param distributor.podAffinityPreset Pod affinity preset. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1831
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1832
##
1833
podAffinityPreset: ""
1834
## @param distributor.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1835
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1836
##
1837
podAntiAffinityPreset: soft
1838
## Node distributor.affinity preset
1839
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1840
##
1841
nodeAffinityPreset:
1842
## @param distributor.nodeAffinityPreset.type Node affinity preset type. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1843
##
1844
type: ""
1845
## @param distributor.nodeAffinityPreset.key Node label key to match. Ignored if `distributor.affinity` is set
1846
##
1847
key: ""
1848
## @param distributor.nodeAffinityPreset.values Node label values to match. Ignored if `distributor.affinity` is set
1849
## E.g.
1850
## values:
1851
## - e2e-az1
1852
## - e2e-az2
1853
##
1854
values: []
1855
## @param distributor.affinity Affinity for Distributor pods assignment
1856
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1857
## NOTE: `distributor.podAffinityPreset`, `distributor.podAntiAffinityPreset`, and `distributor.nodeAffinityPreset` will be ignored when it's set
1858
##
1859
affinity: {}
1860
## @param distributor.nodeSelector Node labels for Distributor pods assignment
1861
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1862
##
1863
nodeSelector: {}
1864
## @param distributor.tolerations Tolerations for Distributor pods assignment
1865
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1866
##
1867
tolerations: []
1868
## @param distributor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1869
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1870
##
1871
topologySpreadConstraints: []
1872
## @param distributor.priorityClassName Distributor pods' priorityClassName
1873
##
1874
priorityClassName: ""
1875
## @param distributor.schedulerName Kubernetes pod scheduler registry
1876
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1877
##
1878
schedulerName: ""
1879
## @param distributor.updateStrategy.type Distributor statefulset strategy type
1880
## @param distributor.updateStrategy.rollingUpdate [object,nullable] Distributor statefulset rolling update configuration parameters
1881
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1882
##
1883
updateStrategy:
1884
type: RollingUpdate
1885
rollingUpdate: null
1886
## @param distributor.extraVolumes Optionally specify extra list of additional volumes for the Distributor pod(s)
1887
##
1888
extraVolumes: []
1889
## @param distributor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Distributor container(s)
1890
##
1891
extraVolumeMounts: []
1892
## @param distributor.sidecars Add additional sidecar containers to the Distributor pod(s)
1893
## e.g:
1894
## sidecars:
1895
## - name: your-image-name
1896
## image: your-image
1897
## imagePullPolicy: Always
1898
## ports:
1899
## - name: portname
1900
## containerPort: 1234
1901
##
1902
sidecars: []
1903
## @param distributor.initContainers Add additional init containers to the Distributor pod(s)
1904
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1905
## e.g:
1906
## initContainers:
1907
## - name: your-image-name
1908
## image: your-image
1909
## imagePullPolicy: Always
1910
## command: ['sh', '-c', 'echo "hello world"']
1911
##
1912
initContainers: []
1913
## @param distributor.enableServiceLinks Whether information about services should be injected into pod's environment variable
1914
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1915
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1916
##
1917
enableServiceLinks: true
1918
## Pod Disruption Budget configuration
1919
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1920
## @param distributor.pdb.create Enable/disable a Pod Disruption Budget creation
1921
## @param distributor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1922
## @param distributor.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `distributor.pdb.minAvailable` and `distributor.pdb.maxUnavailable` are empty.
1923
##
1924
pdb:
1925
create: true
1926
minAvailable: ""
1927
maxUnavailable: ""
1928
## @section Distributor Traffic Exposure Parameters
1929
##
1930
1931
## distributor service parameters
1932
##
1933
service:
1934
## @param distributor.service.type Distributor service type
1935
##
1936
type: ClusterIP
1937
## @param distributor.service.ports.http Distributor HTTP service port
1938
## @param distributor.service.ports.grpc Distributor GRPC service port
1939
##
1940
ports:
1941
http: 3100
1942
grpc: 9095
1943
## Node ports to expose
1944
## NOTE: choose port between <30000-32767>
1945
## @param distributor.service.nodePorts.http Node port for HTTP
1946
## @param distributor.service.nodePorts.grpc Node port for GRPC
1947
##
1948
nodePorts:
1949
http: ""
1950
grpc: ""
1951
## @param distributor.service.sessionAffinityConfig Additional settings for the sessionAffinity
1952
## sessionAffinityConfig:
1953
## clientIP:
1954
## timeoutSeconds: 300
1955
##
1956
sessionAffinityConfig: {}
1957
## @param distributor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1958
## Values: ClientIP or None
1959
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1960
##
1961
sessionAffinity: None
1962
## @param distributor.service.clusterIP Distributor service Cluster IP
1963
## e.g.:
1964
## clusterIP: None
1965
##
1966
clusterIP: ""
1967
## @param distributor.service.loadBalancerIP Distributor service Load Balancer IP
1968
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1969
##
1970
loadBalancerIP: ""
1971
## @param distributor.service.loadBalancerSourceRanges Distributor service Load Balancer sources
1972
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1973
## e.g:
1974
## loadBalancerSourceRanges:
1975
## - 10.10.10.0/24
1976
##
1977
loadBalancerSourceRanges: []
1978
## @param distributor.service.externalTrafficPolicy Distributor service external traffic policy
1979
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1980
##
1981
externalTrafficPolicy: Cluster
1982
## @param distributor.service.annotations Additional custom annotations for Distributor service
1983
##
1984
annotations: {}
1985
## @param distributor.service.extraPorts Extra ports to expose in the Distributor service
1986
##
1987
extraPorts: []
1988
## Network Policies
1989
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1990
##
1991
networkPolicy:
1992
## @param distributor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1993
##
1994
enabled: true
1995
## @param distributor.networkPolicy.allowExternal Don't require server label for connections
1996
## The Policy model to apply. When set to false, only pods with the correct
1997
## server label will have network access to the ports server is listening
1998
## on. When true, server will accept connections from any source
1999
## (with the correct destination port).
2000
##
2001
allowExternal: true
2002
## @param distributor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2003
##
2004
allowExternalEgress: true
2005
## @param distributor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `distributor.networkPolicy.allowExternal` is true.
2006
##
2007
addExternalClientAccess: true
2008
## @param distributor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2009
## e.g:
2010
## extraIngress:
2011
## - ports:
2012
## - port: 1234
2013
## from:
2014
## - podSelector:
2015
## - matchLabels:
2016
## - role: frontend
2017
## - podSelector:
2018
## - matchExpressions:
2019
## - key: role
2020
## operator: In
2021
## values:
2022
## - frontend
2023
extraIngress: []
2024
## @param distributor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2025
## e.g:
2026
## extraEgress:
2027
## - ports:
2028
## - port: 1234
2029
## to:
2030
## - podSelector:
2031
## - matchLabels:
2032
## - role: frontend
2033
## - podSelector:
2034
## - matchExpressions:
2035
## - key: role
2036
## operator: In
2037
## values:
2038
## - frontend
2039
##
2040
extraEgress: []
2041
## @param distributor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `distributor.networkPolicy.allowExternal` is true.
2042
## e.g:
2043
## ingressPodMatchLabels:
2044
## my-client: "true"
2045
#
2046
ingressPodMatchLabels: {}
2047
## @param distributor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2048
## @param distributor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2049
##
2050
ingressNSMatchLabels: {}
2051
ingressNSPodMatchLabels: {}
2052
## @section Ingester Deployment Parameters
2053
##
2054
ingester:
2055
## @param ingester.extraEnvVars Array with extra environment variables to add to ingester nodes
2056
## e.g:
2057
## extraEnvVars:
2058
## - name: FOO
2059
## value: "bar"
2060
##
2061
extraEnvVars: []
2062
## @param ingester.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ingester nodes
2063
##
2064
extraEnvVarsCM: ""
2065
## @param ingester.extraEnvVarsSecret Name of existing Secret containing extra env vars for ingester nodes
2066
##
2067
extraEnvVarsSecret: ""
2068
## @param ingester.command Override default container command (useful when using custom images)
2069
##
2070
command: []
2071
## @param ingester.args Override default container args (useful when using custom images)
2072
##
2073
args: []
2074
## @param ingester.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2075
##
2076
extraArgs: []
2077
## @param ingester.replicaCount Number of Ingester replicas to deploy
2078
##
2079
replicaCount: 1
2080
## Configure extra options for Ingester containers' liveness, readiness and startup probes
2081
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2082
## @param ingester.livenessProbe.enabled Enable livenessProbe on Ingester nodes
2083
## @param ingester.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2084
## @param ingester.livenessProbe.periodSeconds Period seconds for livenessProbe
2085
## @param ingester.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2086
## @param ingester.livenessProbe.failureThreshold Failure threshold for livenessProbe
2087
## @param ingester.livenessProbe.successThreshold Success threshold for livenessProbe
2088
##
2089
livenessProbe:
2090
enabled: true
2091
failureThreshold: 3
2092
initialDelaySeconds: 10
2093
periodSeconds: 10
2094
successThreshold: 1
2095
timeoutSeconds: 1
2096
## @param ingester.readinessProbe.enabled Enable readinessProbe on Ingester nodes
2097
## @param ingester.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2098
## @param ingester.readinessProbe.periodSeconds Period seconds for readinessProbe
2099
## @param ingester.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2100
## @param ingester.readinessProbe.failureThreshold Failure threshold for readinessProbe
2101
## @param ingester.readinessProbe.successThreshold Success threshold for readinessProbe
2102
##
2103
readinessProbe:
2104
enabled: true
2105
failureThreshold: 3
2106
initialDelaySeconds: 10
2107
periodSeconds: 10
2108
successThreshold: 1
2109
timeoutSeconds: 1
2110
## @param ingester.startupProbe.enabled Enable startupProbe on Ingester containers
2111
## @param ingester.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2112
## @param ingester.startupProbe.periodSeconds Period seconds for startupProbe
2113
## @param ingester.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2114
## @param ingester.startupProbe.failureThreshold Failure threshold for startupProbe
2115
## @param ingester.startupProbe.successThreshold Success threshold for startupProbe
2116
##
2117
startupProbe:
2118
enabled: false
2119
initialDelaySeconds: 30
2120
periodSeconds: 10
2121
timeoutSeconds: 1
2122
failureThreshold: 15
2123
successThreshold: 1
2124
## @param ingester.customLivenessProbe Custom livenessProbe that overrides the default one
2125
##
2126
customLivenessProbe: {}
2127
## @param ingester.customReadinessProbe Custom readinessProbe that overrides the default one
2128
##
2129
customReadinessProbe: {}
2130
## @param ingester.customStartupProbe Custom startupProbe that overrides the default one
2131
##
2132
customStartupProbe: {}
2133
## @param ingester.lifecycleHooks for the ingester container(s) to automate configuration before or after startup
2134
##
2135
lifecycleHooks: {}
2136
## ingester resource requests and limits
2137
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2138
## @param ingester.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ingester.resources is set (ingester.resources is recommended for production).
2139
##
2140
resourcesPreset: "micro"
2141
## @param ingester.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2142
## Example:
2143
## resources:
2144
## requests:
2145
## cpu: 2
2146
## memory: 512Mi
2147
## limits:
2148
## cpu: 3
2149
## memory: 1024Mi
2150
##
2151
resources: {}
2152
## Configure Pods Security Context
2153
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2154
## @param ingester.podSecurityContext.enabled Enabled Ingester pods' Security Context
2155
## @param ingester.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2156
## @param ingester.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2157
## @param ingester.podSecurityContext.supplementalGroups Set filesystem extra groups
2158
## @param ingester.podSecurityContext.fsGroup Set Ingester pod's Security Context fsGroup
2159
##
2160
podSecurityContext:
2161
enabled: true
2162
fsGroupChangePolicy: Always
2163
sysctls: []
2164
supplementalGroups: []
2165
fsGroup: 1001
2166
## Configure Container Security Context
2167
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2168
## @param ingester.containerSecurityContext.enabled Enabled containers' Security Context
2169
## @param ingester.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2170
## @param ingester.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2171
## @param ingester.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2172
## @param ingester.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2173
## @param ingester.containerSecurityContext.privileged Set container's Security Context privileged
2174
## @param ingester.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2175
## @param ingester.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2176
## @param ingester.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2177
## @param ingester.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2178
##
2179
containerSecurityContext:
2180
enabled: true
2181
seLinuxOptions: {}
2182
runAsUser: 1001
2183
runAsGroup: 1001
2184
runAsNonRoot: true
2185
privileged: false
2186
readOnlyRootFilesystem: true
2187
allowPrivilegeEscalation: false
2188
capabilities:
2189
drop: ["ALL"]
2190
seccompProfile:
2191
type: "RuntimeDefault"
2192
## @param ingester.automountServiceAccountToken Mount Service Account token in pod
2193
##
2194
automountServiceAccountToken: false
2195
## @param ingester.hostAliases ingester pods host aliases
2196
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2197
##
2198
hostAliases: []
2199
## @param ingester.podLabels Extra labels for ingester pods
2200
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2201
##
2202
podLabels: {}
2203
## @param ingester.podAnnotations Annotations for ingester pods
2204
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2205
##
2206
podAnnotations: {}
2207
## @param ingester.podAffinityPreset Pod affinity preset. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2208
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2209
##
2210
podAffinityPreset: ""
2211
## @param ingester.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2212
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2213
##
2214
podAntiAffinityPreset: soft
2215
## Node ingester.affinity preset
2216
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2217
##
2218
nodeAffinityPreset:
2219
## @param ingester.nodeAffinityPreset.type Node affinity preset type. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2220
##
2221
type: ""
2222
## @param ingester.nodeAffinityPreset.key Node label key to match. Ignored if `ingester.affinity` is set
2223
##
2224
key: ""
2225
## @param ingester.nodeAffinityPreset.values Node label values to match. Ignored if `ingester.affinity` is set
2226
## E.g.
2227
## values:
2228
## - e2e-az1
2229
## - e2e-az2
2230
##
2231
values: []
2232
## @param ingester.affinity Affinity for ingester pods assignment
2233
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2234
## NOTE: `ingester.podAffinityPreset`, `ingester.podAntiAffinityPreset`, and `ingester.nodeAffinityPreset` will be ignored when it's set
2235
##
2236
affinity: {}
2237
## @param ingester.nodeSelector Node labels for Ingester pods assignment
2238
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2239
##
2240
nodeSelector: {}
2241
## @param ingester.tolerations Tolerations for Ingester pods assignment
2242
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2243
##
2244
tolerations: []
2245
## @param ingester.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2246
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2247
##
2248
topologySpreadConstraints: []
2249
## @param ingester.podManagementPolicy podManagementPolicy to manage scaling operation
2250
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2251
##
2252
podManagementPolicy: ""
2253
## @param ingester.priorityClassName Ingester pods' priorityClassName
2254
##
2255
priorityClassName: ""
2256
## @param ingester.schedulerName Kubernetes pod scheduler registry
2257
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2258
##
2259
schedulerName: ""
2260
## @param ingester.updateStrategy.type Ingester statefulset strategy type
2261
## @param ingester.updateStrategy.rollingUpdate [object,nullable] Ingester statefulset rolling update configuration parameters
2262
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2263
##
2264
updateStrategy:
2265
type: RollingUpdate
2266
rollingUpdate: null
2267
## @param ingester.extraVolumes Optionally specify extra list of additional volumes for the Ingester pod(s)
2268
##
2269
extraVolumes: []
2270
## @param ingester.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ingester container(s)
2271
##
2272
extraVolumeMounts: []
2273
## @param ingester.sidecars Add additional sidecar containers to the Ingester pod(s)
2274
## e.g:
2275
## sidecars:
2276
## - name: your-image-name
2277
## image: your-image
2278
## imagePullPolicy: Always
2279
## ports:
2280
## - name: portname
2281
## containerPort: 1234
2282
##
2283
sidecars: []
2284
## @param ingester.initContainers Add additional init containers to the Ingester pod(s)
2285
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2286
## e.g:
2287
## initContainers:
2288
## - name: your-image-name
2289
## image: your-image
2290
## imagePullPolicy: Always
2291
## command: ['sh', '-c', 'echo "hello world"']
2292
##
2293
initContainers: []
2294
## @param ingester.enableServiceLinks Whether information about services should be injected into pod's environment variable
2295
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
2296
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2297
##
2298
enableServiceLinks: true
2299
## Pod Disruption Budget configuration
2300
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2301
## @param ingester.pdb.create Enable/disable a Pod Disruption Budget creation
2302
## @param ingester.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2303
## @param ingester.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `ingester.pdb.minAvailable` and `ingester.pdb.maxUnavailable` are empty.
2304
##
2305
pdb:
2306
create: true
2307
minAvailable: ""
2308
maxUnavailable: ""
2309
## @section Ingester Persistence Parameters
2310
##
2311
2312
## Enable persistence using Persistent Volume Claims
2313
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2314
##
2315
persistence:
2316
## @param ingester.persistence.enabled Enable persistence in Ingester instances
2317
##
2318
enabled: true
2319
## @param ingester.persistence.storageClass PVC Storage Class for Memcached data volume
2320
## If defined, storageClassName: <storageClass>
2321
## If set to "-", storageClassName: "", which disables dynamic provisioning
2322
## If undefined (the default) or set to null, no storageClassName spec is
2323
## set, choosing the default provisioner. (gp2 on AWS, standard on
2324
## GKE, AWS & OpenStack)
2325
##
2326
storageClass: ""
2327
## @param ingester.persistence.subPath The subdirectory of the volume to mount to
2328
##
2329
subPath: ""
2330
## @param ingester.persistence.accessModes PVC Access modes
2331
##
2332
accessModes:
2333
- ReadWriteOnce
2334
## @param ingester.persistence.size PVC Storage Request for Memcached data volume
2335
##
2336
size: 8Gi
2337
## @param ingester.persistence.annotations Additional PVC annotations
2338
##
2339
annotations: {}
2340
## @param ingester.persistence.selector Selector to match an existing Persistent Volume for Ingester's data PVC
2341
## If set, the PVC can't have a PV dynamically provisioned for it
2342
## E.g.
2343
## selector:
2344
## matchLabels:
2345
## app: my-app
2346
##
2347
selector: {}
2348
## @section Ingester Traffic Exposure Parameters
2349
##
2350
2351
## ingester service parameters
2352
##
2353
service:
2354
## @param ingester.service.type Ingester service type
2355
##
2356
type: ClusterIP
2357
## @param ingester.service.ports.http Ingester HTTP service port
2358
## @param ingester.service.ports.grpc Ingester GRPC service port
2359
##
2360
ports:
2361
http: 3100
2362
grpc: 9095
2363
## Node ports to expose
2364
## NOTE: choose port between <30000-32767>
2365
## @param ingester.service.nodePorts.http Node port for HTTP
2366
## @param ingester.service.nodePorts.grpc Node port for GRPC
2367
##
2368
nodePorts:
2369
http: ""
2370
grpc: ""
2371
## @param ingester.service.sessionAffinityConfig Additional settings for the sessionAffinity
2372
## sessionAffinityConfig:
2373
## clientIP:
2374
## timeoutSeconds: 300
2375
##
2376
sessionAffinityConfig: {}
2377
## @param ingester.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2378
## Values: ClientIP or None
2379
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2380
##
2381
sessionAffinity: None
2382
## @param ingester.service.clusterIP Ingester service Cluster IP
2383
## e.g.:
2384
## clusterIP: None
2385
##
2386
clusterIP: ""
2387
## @param ingester.service.loadBalancerIP Ingester service Load Balancer IP
2388
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2389
##
2390
loadBalancerIP: ""
2391
## @param ingester.service.loadBalancerSourceRanges Ingester service Load Balancer sources
2392
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2393
## e.g:
2394
## loadBalancerSourceRanges:
2395
## - 10.10.10.0/24
2396
##
2397
loadBalancerSourceRanges: []
2398
## @param ingester.service.externalTrafficPolicy Ingester service external traffic policy
2399
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2400
##
2401
externalTrafficPolicy: Cluster
2402
## @param ingester.service.annotations Additional custom annotations for Ingester service
2403
##
2404
annotations: {}
2405
## @param ingester.service.extraPorts Extra ports to expose in the Ingester service
2406
##
2407
extraPorts: []
2408
## Network Policies
2409
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2410
##
2411
networkPolicy:
2412
## @param ingester.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2413
##
2414
enabled: true
2415
## @param ingester.networkPolicy.allowExternal Don't require server label for connections
2416
## The Policy model to apply. When set to false, only pods with the correct
2417
## server label will have network access to the ports server is listening
2418
## on. When true, server will accept connections from any source
2419
## (with the correct destination port).
2420
##
2421
allowExternal: true
2422
## @param ingester.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2423
##
2424
allowExternalEgress: true
2425
## @param ingester.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ingester.networkPolicy.allowExternal` is true.
2426
##
2427
addExternalClientAccess: true
2428
## @param ingester.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2429
## e.g:
2430
## extraIngress:
2431
## - ports:
2432
## - port: 1234
2433
## from:
2434
## - podSelector:
2435
## - matchLabels:
2436
## - role: frontend
2437
## - podSelector:
2438
## - matchExpressions:
2439
## - key: role
2440
## operator: In
2441
## values:
2442
## - frontend
2443
extraIngress: []
2444
## @param ingester.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2445
## e.g:
2446
## extraEgress:
2447
## - ports:
2448
## - port: 1234
2449
## to:
2450
## - podSelector:
2451
## - matchLabels:
2452
## - role: frontend
2453
## - podSelector:
2454
## - matchExpressions:
2455
## - key: role
2456
## operator: In
2457
## values:
2458
## - frontend
2459
##
2460
extraEgress: []
2461
## @param ingester.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ingester.networkPolicy.allowExternal` is true.
2462
## e.g:
2463
## ingressPodMatchLabels:
2464
## my-client: "true"
2465
#
2466
ingressPodMatchLabels: {}
2467
## @param ingester.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2468
## @param ingester.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2469
##
2470
ingressNSMatchLabels: {}
2471
ingressNSPodMatchLabels: {}
2472
## @section Querier Deployment Parameters
2473
##
2474
querier:
2475
## @param querier.replicaCount Number of Querier replicas to deploy
2476
##
2477
replicaCount: 1
2478
## @param querier.extraEnvVars Array with extra environment variables to add to Querier nodes
2479
## e.g:
2480
## extraEnvVars:
2481
## - name: FOO
2482
## value: "bar"
2483
##
2484
extraEnvVars: []
2485
## @param querier.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Querier nodes
2486
##
2487
extraEnvVarsCM: ""
2488
## @param querier.extraEnvVarsSecret Name of existing Secret containing extra env vars for Querier nodes
2489
##
2490
extraEnvVarsSecret: ""
2491
## @param querier.command Override default container command (useful when using custom images)
2492
##
2493
command: []
2494
## @param querier.args Override default container args (useful when using custom images)
2495
##
2496
args: []
2497
## @param querier.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2498
##
2499
extraArgs: []
2500
## @param querier.podManagementPolicy podManagementPolicy to manage scaling operation
2501
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2502
##
2503
podManagementPolicy: ""
2504
## Configure extra options for Querier containers' liveness, readiness and startup probes
2505
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2506
## @param querier.livenessProbe.enabled Enable livenessProbe on Querier nodes
2507
## @param querier.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2508
## @param querier.livenessProbe.periodSeconds Period seconds for livenessProbe
2509
## @param querier.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2510
## @param querier.livenessProbe.failureThreshold Failure threshold for livenessProbe
2511
## @param querier.livenessProbe.successThreshold Success threshold for livenessProbe
2512
##
2513
livenessProbe:
2514
enabled: true
2515
failureThreshold: 3
2516
initialDelaySeconds: 10
2517
periodSeconds: 10
2518
successThreshold: 1
2519
timeoutSeconds: 1
2520
## @param querier.readinessProbe.enabled Enable readinessProbe on Querier nodes
2521
## @param querier.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2522
## @param querier.readinessProbe.periodSeconds Period seconds for readinessProbe
2523
## @param querier.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2524
## @param querier.readinessProbe.failureThreshold Failure threshold for readinessProbe
2525
## @param querier.readinessProbe.successThreshold Success threshold for readinessProbe
2526
##
2527
readinessProbe:
2528
enabled: true
2529
failureThreshold: 3
2530
initialDelaySeconds: 10
2531
periodSeconds: 10
2532
successThreshold: 1
2533
timeoutSeconds: 1
2534
## @param querier.startupProbe.enabled Enable startupProbe on Querier containers
2535
## @param querier.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2536
## @param querier.startupProbe.periodSeconds Period seconds for startupProbe
2537
## @param querier.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2538
## @param querier.startupProbe.failureThreshold Failure threshold for startupProbe
2539
## @param querier.startupProbe.successThreshold Success threshold for startupProbe
2540
##
2541
startupProbe:
2542
enabled: false
2543
initialDelaySeconds: 30
2544
periodSeconds: 10
2545
timeoutSeconds: 1
2546
failureThreshold: 15
2547
successThreshold: 1
2548
## @param querier.customLivenessProbe Custom livenessProbe that overrides the default one
2549
##
2550
customLivenessProbe: {}
2551
## @param querier.customReadinessProbe Custom readinessProbe that overrides the default one
2552
##
2553
customReadinessProbe: {}
2554
## @param querier.customStartupProbe Custom startupProbe that overrides the default one
2555
##
2556
customStartupProbe: {}
2557
## querier resource requests and limits
2558
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2559
## @param querier.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if querier.resources is set (querier.resources is recommended for production).
2560
##
2561
resourcesPreset: "nano"
2562
## @param querier.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2563
## Example:
2564
## resources:
2565
## requests:
2566
## cpu: 2
2567
## memory: 512Mi
2568
## limits:
2569
## cpu: 3
2570
## memory: 1024Mi
2571
##
2572
resources: {}
2573
## Configure Pods Security Context
2574
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2575
## @param querier.podSecurityContext.enabled Enabled Querier pods' Security Context
2576
## @param querier.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2577
## @param querier.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2578
## @param querier.podSecurityContext.supplementalGroups Set filesystem extra groups
2579
## @param querier.podSecurityContext.fsGroup Set Querier pod's Security Context fsGroup
2580
##
2581
podSecurityContext:
2582
enabled: true
2583
fsGroupChangePolicy: Always
2584
sysctls: []
2585
supplementalGroups: []
2586
fsGroup: 1001
2587
## Configure Container Security Context
2588
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2589
## @param querier.containerSecurityContext.enabled Enabled containers' Security Context
2590
## @param querier.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2591
## @param querier.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2592
## @param querier.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2593
## @param querier.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2594
## @param querier.containerSecurityContext.privileged Set container's Security Context privileged
2595
## @param querier.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2596
## @param querier.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2597
## @param querier.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2598
## @param querier.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2599
##
2600
containerSecurityContext:
2601
enabled: true
2602
seLinuxOptions: {}
2603
runAsUser: 1001
2604
runAsGroup: 1001
2605
runAsNonRoot: true
2606
privileged: false
2607
readOnlyRootFilesystem: true
2608
allowPrivilegeEscalation: false
2609
capabilities:
2610
drop: ["ALL"]
2611
seccompProfile:
2612
type: "RuntimeDefault"
2613
## @param querier.lifecycleHooks for the Querier container(s) to automate configuration before or after startup
2614
##
2615
lifecycleHooks: {}
2616
## @param querier.automountServiceAccountToken Mount Service Account token in pod
2617
##
2618
automountServiceAccountToken: false
2619
## @param querier.hostAliases querier pods host aliases
2620
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2621
##
2622
hostAliases: []
2623
## @param querier.podLabels Extra labels for querier pods
2624
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2625
##
2626
podLabels: {}
2627
## @param querier.podAnnotations Annotations for querier pods
2628
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2629
##
2630
podAnnotations: {}
2631
## @param querier.podAffinityPreset Pod affinity preset. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2632
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2633
##
2634
podAffinityPreset: ""
2635
## @param querier.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2636
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2637
##
2638
podAntiAffinityPreset: soft
2639
## Node querier.affinity preset
2640
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2641
##
2642
nodeAffinityPreset:
2643
## @param querier.nodeAffinityPreset.type Node affinity preset type. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2644
##
2645
type: ""
2646
## @param querier.nodeAffinityPreset.key Node label key to match. Ignored if `querier.affinity` is set
2647
##
2648
key: ""
2649
## @param querier.nodeAffinityPreset.values Node label values to match. Ignored if `querier.affinity` is set
2650
## E.g.
2651
## values:
2652
## - e2e-az1
2653
## - e2e-az2
2654
##
2655
values: []
2656
## @param querier.affinity Affinity for Querier pods assignment
2657
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2658
## NOTE: `querier.podAffinityPreset`, `querier.podAntiAffinityPreset`, and `querier.nodeAffinityPreset` will be ignored when it's set
2659
##
2660
affinity: {}
2661
## @param querier.nodeSelector Node labels for Querier pods assignment
2662
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2663
##
2664
nodeSelector: {}
2665
## @param querier.tolerations Tolerations for Querier pods assignment
2666
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2667
##
2668
tolerations: []
2669
## @param querier.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2670
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2671
##
2672
topologySpreadConstraints: []
2673
## @param querier.priorityClassName Querier pods' priorityClassName
2674
##
2675
priorityClassName: ""
2676
## @param querier.schedulerName Kubernetes pod scheduler registry
2677
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2678
##
2679
schedulerName: ""
2680
## @param querier.updateStrategy.type Querier statefulset strategy type
2681
## @param querier.updateStrategy.rollingUpdate [object,nullable] Querier statefulset rolling update configuration parameters
2682
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2683
##
2684
updateStrategy:
2685
type: RollingUpdate
2686
rollingUpdate: null
2687
## @param querier.extraVolumes Optionally specify extra list of additional volumes for the Querier pod(s)
2688
##
2689
extraVolumes: []
2690
## @param querier.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the querier container(s)
2691
##
2692
extraVolumeMounts: []
2693
## @param querier.sidecars Add additional sidecar containers to the Querier pod(s)
2694
## e.g:
2695
## sidecars:
2696
## - name: your-image-name
2697
## image: your-image
2698
## imagePullPolicy: Always
2699
## ports:
2700
## - name: portname
2701
## containerPort: 1234
2702
##
2703
sidecars: []
2704
## @param querier.initContainers Add additional init containers to the Querier pod(s)
2705
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2706
## e.g:
2707
## initContainers:
2708
## - name: your-image-name
2709
## image: your-image
2710
## imagePullPolicy: Always
2711
## command: ['sh', '-c', 'echo "hello world"']
2712
##
2713
initContainers: []
2714
## @param querier.enableServiceLinks Whether information about services should be injected into pod's environment variable
2715
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
2716
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2717
##
2718
enableServiceLinks: true
2719
## Pod Disruption Budget configuration
2720
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2721
## @param querier.pdb.create Enable/disable a Pod Disruption Budget creation
2722
## @param querier.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2723
## @param querier.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `querier.pdb.minAvailable` and `querier.pdb.maxUnavailable` are empty.
2724
##
2725
pdb:
2726
create: true
2727
minAvailable: ""
2728
maxUnavailable: ""
2729
## @section Querier Persistence Parameters
2730
##
2731
2732
## Enable persistence using Persistent Volume Claims
2733
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2734
##
2735
persistence:
2736
## @param querier.persistence.enabled Enable persistence in Querier instances
2737
##
2738
enabled: true
2739
## @param querier.persistence.storageClass PVC Storage Class for Memcached data volume
2740
## If defined, storageClassName: <storageClass>
2741
## If set to "-", storageClassName: "", which disables dynamic provisioning
2742
## If undefined (the default) or set to null, no storageClassName spec is
2743
## set, choosing the default provisioner. (gp2 on AWS, standard on
2744
## GKE, AWS & OpenStack)
2745
##
2746
storageClass: ""
2747
## @param querier.persistence.subPath The subdirectory of the volume to mount to
2748
##
2749
subPath: ""
2750
## @param querier.persistence.accessModes PVC Access modes
2751
##
2752
accessModes:
2753
- ReadWriteOnce
2754
## @param querier.persistence.size PVC Storage Request for Memcached data volume
2755
##
2756
size: 8Gi
2757
## @param querier.persistence.annotations Additional PVC annotations
2758
##
2759
annotations: {}
2760
## @param querier.persistence.selector Selector to match an existing Persistent Volume for Querier's data PVC
2761
## If set, the PVC can't have a PV dynamically provisioned for it
2762
## E.g.
2763
## selector:
2764
## matchLabels:
2765
## app: my-app
2766
##
2767
selector: {}
2768
## @section Querier Traffic Exposure Parameters
2769
##
2770
2771
## querier service parameters
2772
##
2773
service:
2774
## @param querier.service.type Querier service type
2775
##
2776
type: ClusterIP
2777
## @param querier.service.ports.http Querier HTTP service port
2778
## @param querier.service.ports.grpc Querier GRPC service port
2779
##
2780
ports:
2781
http: 3100
2782
grpc: 9095
2783
## Node ports to expose
2784
## NOTE: choose port between <30000-32767>
2785
## @param querier.service.nodePorts.http Node port for HTTP
2786
## @param querier.service.nodePorts.grpc Node port for GRPC
2787
##
2788
nodePorts:
2789
http: ""
2790
grpc: ""
2791
## @param querier.service.sessionAffinityConfig Additional settings for the sessionAffinity
2792
## sessionAffinityConfig:
2793
## clientIP:
2794
## timeoutSeconds: 300
2795
##
2796
sessionAffinityConfig: {}
2797
## @param querier.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2798
## Values: ClientIP or None
2799
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2800
##
2801
sessionAffinity: None
2802
## @param querier.service.clusterIP Querier service Cluster IP
2803
## e.g.:
2804
## clusterIP: None
2805
##
2806
clusterIP: ""
2807
## @param querier.service.loadBalancerIP Querier service Load Balancer IP
2808
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2809
##
2810
loadBalancerIP: ""
2811
## @param querier.service.loadBalancerSourceRanges Querier service Load Balancer sources
2812
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2813
## e.g:
2814
## loadBalancerSourceRanges:
2815
## - 10.10.10.0/24
2816
##
2817
loadBalancerSourceRanges: []
2818
## @param querier.service.externalTrafficPolicy Querier service external traffic policy
2819
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2820
##
2821
externalTrafficPolicy: Cluster
2822
## @param querier.service.annotations Additional custom annotations for Querier service
2823
##
2824
annotations: {}
2825
## @param querier.service.extraPorts Extra ports to expose in the Querier service
2826
##
2827
extraPorts: []
2828
## Network Policies
2829
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2830
##
2831
networkPolicy:
2832
## @param querier.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2833
##
2834
enabled: true
2835
## @param querier.networkPolicy.allowExternal Don't require server label for connections
2836
## The Policy model to apply. When set to false, only pods with the correct
2837
## server label will have network access to the ports server is listening
2838
## on. When true, server will accept connections from any source
2839
## (with the correct destination port).
2840
##
2841
allowExternal: true
2842
## @param querier.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2843
##
2844
allowExternalEgress: true
2845
## @param querier.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `querier.networkPolicy.allowExternal` is true.
2846
##
2847
addExternalClientAccess: true
2848
## @param querier.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2849
## e.g:
2850
## extraIngress:
2851
## - ports:
2852
## - port: 1234
2853
## from:
2854
## - podSelector:
2855
## - matchLabels:
2856
## - role: frontend
2857
## - podSelector:
2858
## - matchExpressions:
2859
## - key: role
2860
## operator: In
2861
## values:
2862
## - frontend
2863
extraIngress: []
2864
## @param querier.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2865
## e.g:
2866
## extraEgress:
2867
## - ports:
2868
## - port: 1234
2869
## to:
2870
## - podSelector:
2871
## - matchLabels:
2872
## - role: frontend
2873
## - podSelector:
2874
## - matchExpressions:
2875
## - key: role
2876
## operator: In
2877
## values:
2878
## - frontend
2879
##
2880
extraEgress: []
2881
## @param querier.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `querier.networkPolicy.allowExternal` is true.
2882
## e.g:
2883
## ingressPodMatchLabels:
2884
## my-client: "true"
2885
#
2886
ingressPodMatchLabels: {}
2887
## @param querier.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2888
## @param querier.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2889
##
2890
ingressNSMatchLabels: {}
2891
ingressNSPodMatchLabels: {}
2892
## @section Query Frontend Deployment Parameters
2893
##
2894
queryFrontend:
2895
## @param queryFrontend.extraEnvVars Array with extra environment variables to add to queryFrontend nodes
2896
## e.g:
2897
## extraEnvVars:
2898
## - name: FOO
2899
## value: "bar"
2900
##
2901
extraEnvVars: []
2902
## @param queryFrontend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryFrontend nodes
2903
##
2904
extraEnvVarsCM: ""
2905
## @param queryFrontend.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryFrontend nodes
2906
##
2907
extraEnvVarsSecret: ""
2908
## @param queryFrontend.command Override default container command (useful when using custom images)
2909
##
2910
command: []
2911
## @param queryFrontend.args Override default container args (useful when using custom images)
2912
##
2913
args: []
2914
## @param queryFrontend.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2915
##
2916
extraArgs: []
2917
## @param queryFrontend.replicaCount Number of queryFrontend replicas to deploy
2918
##
2919
replicaCount: 1
2920
## Configure extra options for queryFrontend containers' liveness, readiness and startup probes
2921
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2922
## @param queryFrontend.livenessProbe.enabled Enable livenessProbe on queryFrontend nodes
2923
## @param queryFrontend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2924
## @param queryFrontend.livenessProbe.periodSeconds Period seconds for livenessProbe
2925
## @param queryFrontend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2926
## @param queryFrontend.livenessProbe.failureThreshold Failure threshold for livenessProbe
2927
## @param queryFrontend.livenessProbe.successThreshold Success threshold for livenessProbe
2928
##
2929
livenessProbe:
2930
enabled: true
2931
failureThreshold: 3
2932
initialDelaySeconds: 10
2933
periodSeconds: 10
2934
successThreshold: 1
2935
timeoutSeconds: 1
2936
## @param queryFrontend.readinessProbe.enabled Enable readinessProbe on queryFrontend nodes
2937
## @param queryFrontend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2938
## @param queryFrontend.readinessProbe.periodSeconds Period seconds for readinessProbe
2939
## @param queryFrontend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2940
## @param queryFrontend.readinessProbe.failureThreshold Failure threshold for readinessProbe
2941
## @param queryFrontend.readinessProbe.successThreshold Success threshold for readinessProbe
2942
##
2943
readinessProbe:
2944
enabled: true
2945
failureThreshold: 3
2946
initialDelaySeconds: 10
2947
periodSeconds: 10
2948
successThreshold: 1
2949
timeoutSeconds: 1
2950
## @param queryFrontend.startupProbe.enabled Enable startupProbe on queryFrontend containers
2951
## @param queryFrontend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2952
## @param queryFrontend.startupProbe.periodSeconds Period seconds for startupProbe
2953
## @param queryFrontend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2954
## @param queryFrontend.startupProbe.failureThreshold Failure threshold for startupProbe
2955
## @param queryFrontend.startupProbe.successThreshold Success threshold for startupProbe
2956
##
2957
startupProbe:
2958
enabled: false
2959
initialDelaySeconds: 30
2960
periodSeconds: 10
2961
timeoutSeconds: 1
2962
failureThreshold: 15
2963
successThreshold: 1
2964
## @param queryFrontend.customLivenessProbe Custom livenessProbe that overrides the default one
2965
##
2966
customLivenessProbe: {}
2967
## @param queryFrontend.customReadinessProbe Custom readinessProbe that overrides the default one
2968
##
2969
customReadinessProbe: {}
2970
## @param queryFrontend.customStartupProbe Custom startupProbe that overrides the default one
2971
##
2972
customStartupProbe: {}
2973
## queryFrontend resource requests and limits
2974
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2975
## @param queryFrontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if queryFrontend.resources is set (queryFrontend.resources is recommended for production).
2976
##
2977
resourcesPreset: "nano"
2978
## @param queryFrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2979
## Example:
2980
## resources:
2981
## requests:
2982
## cpu: 2
2983
## memory: 512Mi
2984
## limits:
2985
## cpu: 3
2986
## memory: 1024Mi
2987
##
2988
resources: {}
2989
## Configure Pods Security Context
2990
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2991
## @param queryFrontend.podSecurityContext.enabled Enabled queryFrontend pods' Security Context
2992
## @param queryFrontend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2993
## @param queryFrontend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2994
## @param queryFrontend.podSecurityContext.supplementalGroups Set filesystem extra groups
2995
## @param queryFrontend.podSecurityContext.fsGroup Set queryFrontend pod's Security Context fsGroup
2996
##
2997
podSecurityContext:
2998
enabled: true
2999
fsGroupChangePolicy: Always
3000
sysctls: []
3001
supplementalGroups: []
3002
fsGroup: 1001
3003
## Configure Container Security Context
3004
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3005
## @param queryFrontend.containerSecurityContext.enabled Enabled containers' Security Context
3006
## @param queryFrontend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3007
## @param queryFrontend.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3008
## @param queryFrontend.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3009
## @param queryFrontend.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3010
## @param queryFrontend.containerSecurityContext.privileged Set container's Security Context privileged
3011
## @param queryFrontend.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3012
## @param queryFrontend.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3013
## @param queryFrontend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3014
## @param queryFrontend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3015
##
3016
containerSecurityContext:
3017
enabled: true
3018
seLinuxOptions: {}
3019
runAsUser: 1001
3020
runAsGroup: 1001
3021
runAsNonRoot: true
3022
privileged: false
3023
readOnlyRootFilesystem: true
3024
allowPrivilegeEscalation: false
3025
capabilities:
3026
drop: ["ALL"]
3027
seccompProfile:
3028
type: "RuntimeDefault"
3029
## @param queryFrontend.lifecycleHooks for the queryFrontend container(s) to automate configuration before or after startup
3030
##
3031
lifecycleHooks: {}
3032
## @param queryFrontend.automountServiceAccountToken Mount Service Account token in pod
3033
##
3034
automountServiceAccountToken: false
3035
## @param queryFrontend.hostAliases queryFrontend pods host aliases
3036
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3037
##
3038
hostAliases: []
3039
## @param queryFrontend.podLabels Extra labels for queryFrontend pods
3040
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3041
##
3042
podLabels: {}
3043
## @param queryFrontend.podAnnotations Annotations for queryFrontend pods
3044
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3045
##
3046
podAnnotations: {}
3047
## @param queryFrontend.podAffinityPreset Pod affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3048
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3049
##
3050
podAffinityPreset: ""
3051
## @param queryFrontend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3052
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3053
##
3054
podAntiAffinityPreset: soft
3055
## Node queryFrontend.affinity preset
3056
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3057
##
3058
nodeAffinityPreset:
3059
## @param queryFrontend.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3060
##
3061
type: ""
3062
## @param queryFrontend.nodeAffinityPreset.key Node label key to match. Ignored if `queryFrontend.affinity` is set
3063
##
3064
key: ""
3065
## @param queryFrontend.nodeAffinityPreset.values Node label values to match. Ignored if `queryFrontend.affinity` is set
3066
## E.g.
3067
## values:
3068
## - e2e-az1
3069
## - e2e-az2
3070
##
3071
values: []
3072
## @param queryFrontend.affinity Affinity for queryFrontend pods assignment
3073
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3074
## NOTE: `queryFrontend.podAffinityPreset`, `queryFrontend.podAntiAffinityPreset`, and `queryFrontend.nodeAffinityPreset` will be ignored when it's set
3075
##
3076
affinity: {}
3077
## @param queryFrontend.nodeSelector Node labels for queryFrontend pods assignment
3078
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3079
##
3080
nodeSelector: {}
3081
## @param queryFrontend.tolerations Tolerations for queryFrontend pods assignment
3082
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3083
##
3084
tolerations: []
3085
## @param queryFrontend.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3086
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3087
##
3088
topologySpreadConstraints: []
3089
## @param queryFrontend.priorityClassName queryFrontend pods' priorityClassName
3090
##
3091
priorityClassName: ""
3092
## @param queryFrontend.schedulerName Kubernetes pod scheduler registry
3093
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3094
##
3095
schedulerName: ""
3096
## @param queryFrontend.updateStrategy.type queryFrontend statefulset strategy type
3097
## @param queryFrontend.updateStrategy.rollingUpdate [object,nullable] queryFrontend statefulset rolling update configuration parameters
3098
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3099
##
3100
updateStrategy:
3101
type: RollingUpdate
3102
rollingUpdate: null
3103
## @param queryFrontend.extraVolumes Optionally specify extra list of additional volumes for the queryFrontend pod(s)
3104
##
3105
extraVolumes: []
3106
## @param queryFrontend.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryFrontend container(s)
3107
##
3108
extraVolumeMounts: []
3109
## @param queryFrontend.sidecars Add additional sidecar containers to the queryFrontend pod(s)
3110
## e.g:
3111
## sidecars:
3112
## - name: your-image-name
3113
## image: your-image
3114
## imagePullPolicy: Always
3115
## ports:
3116
## - name: portname
3117
## containerPort: 1234
3118
##
3119
sidecars: []
3120
## @param queryFrontend.initContainers Add additional init containers to the queryFrontend pod(s)
3121
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3122
## e.g:
3123
## initContainers:
3124
## - name: your-image-name
3125
## image: your-image
3126
## imagePullPolicy: Always
3127
## command: ['sh', '-c', 'echo "hello world"']
3128
##
3129
initContainers: []
3130
## @param queryFrontend.enableServiceLinks Whether information about services should be injected into pod's environment variable
3131
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3132
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3133
##
3134
enableServiceLinks: true
3135
## Pod Disruption Budget configuration
3136
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3137
## @param queryFrontend.pdb.create Enable/disable a Pod Disruption Budget creation
3138
## @param queryFrontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3139
## @param queryFrontend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryFrontend.pdb.minAvailable` and `queryFrontend.pdb.maxUnavailable` are empty.
3140
##
3141
pdb:
3142
create: true
3143
minAvailable: ""
3144
maxUnavailable: ""
3145
## @section Query Frontend Traffic Exposure Parameters
3146
##
3147
3148
## queryFrontend service parameters
3149
##
3150
service:
3151
## @param queryFrontend.service.type queryFrontend service type
3152
##
3153
type: ClusterIP
3154
## @param queryFrontend.service.ports.http queryFrontend HTTP service port
3155
## @param queryFrontend.service.ports.grpc queryFrontend GRPC service port
3156
##
3157
ports:
3158
http: 3100
3159
grpc: 9095
3160
## Node ports to expose
3161
## NOTE: choose port between <30000-32767>
3162
## @param queryFrontend.service.nodePorts.http Node port for HTTP
3163
## @param queryFrontend.service.nodePorts.grpc Node port for GRPC
3164
##
3165
nodePorts:
3166
http: ""
3167
grpc: ""
3168
## @param queryFrontend.service.sessionAffinityConfig Additional settings for the sessionAffinity
3169
## sessionAffinityConfig:
3170
## clientIP:
3171
## timeoutSeconds: 300
3172
##
3173
sessionAffinityConfig: {}
3174
## @param queryFrontend.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3175
## Values: ClientIP or None
3176
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3177
##
3178
sessionAffinity: None
3179
## @param queryFrontend.service.clusterIP queryFrontend service Cluster IP
3180
## e.g.:
3181
## clusterIP: None
3182
##
3183
clusterIP: ""
3184
## @param queryFrontend.service.loadBalancerIP queryFrontend service Load Balancer IP
3185
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3186
##
3187
loadBalancerIP: ""
3188
## @param queryFrontend.service.loadBalancerSourceRanges queryFrontend service Load Balancer sources
3189
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3190
## e.g:
3191
## loadBalancerSourceRanges:
3192
## - 10.10.10.0/24
3193
##
3194
loadBalancerSourceRanges: []
3195
## @param queryFrontend.service.externalTrafficPolicy queryFrontend service external traffic policy
3196
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3197
##
3198
externalTrafficPolicy: Cluster
3199
## @param queryFrontend.service.annotations Additional custom annotations for queryFrontend service
3200
##
3201
annotations: {}
3202
## @param queryFrontend.service.extraPorts Extra ports to expose in the queryFrontend service
3203
##
3204
extraPorts: []
3205
## Headless service properties
3206
##
3207
headless:
3208
## @param queryFrontend.service.headless.annotations Annotations for the headless service.
3209
##
3210
annotations: {}
3211
## Network Policies
3212
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3213
##
3214
networkPolicy:
3215
## @param queryFrontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3216
##
3217
enabled: true
3218
## @param queryFrontend.networkPolicy.allowExternal Don't require server label for connections
3219
## The Policy model to apply. When set to false, only pods with the correct
3220
## server label will have network access to the ports server is listening
3221
## on. When true, server will accept connections from any source
3222
## (with the correct destination port).
3223
##
3224
allowExternal: true
3225
## @param queryFrontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3226
##
3227
allowExternalEgress: true
3228
## @param queryFrontend.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3229
##
3230
addExternalClientAccess: true
3231
## @param queryFrontend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3232
## e.g:
3233
## extraIngress:
3234
## - ports:
3235
## - port: 1234
3236
## from:
3237
## - podSelector:
3238
## - matchLabels:
3239
## - role: frontend
3240
## - podSelector:
3241
## - matchExpressions:
3242
## - key: role
3243
## operator: In
3244
## values:
3245
## - frontend
3246
extraIngress: []
3247
## @param queryFrontend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3248
## e.g:
3249
## extraEgress:
3250
## - ports:
3251
## - port: 1234
3252
## to:
3253
## - podSelector:
3254
## - matchLabels:
3255
## - role: frontend
3256
## - podSelector:
3257
## - matchExpressions:
3258
## - key: role
3259
## operator: In
3260
## values:
3261
## - frontend
3262
##
3263
extraEgress: []
3264
## @param queryFrontend.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3265
## e.g:
3266
## ingressPodMatchLabels:
3267
## my-client: "true"
3268
#
3269
ingressPodMatchLabels: {}
3270
## @param queryFrontend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3271
## @param queryFrontend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3272
##
3273
ingressNSMatchLabels: {}
3274
ingressNSPodMatchLabels: {}
3275
## @section Query Scheduler Deployment Parameters
3276
##
3277
queryScheduler:
3278
## @param queryScheduler.enabled Deploy Query Scheduler component
3279
##
3280
enabled: false
3281
## @param queryScheduler.extraEnvVars Array with extra environment variables to add to queryScheduler nodes
3282
## e.g:
3283
## extraEnvVars:
3284
## - name: FOO
3285
## value: "bar"
3286
##
3287
extraEnvVars: []
3288
## @param queryScheduler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryScheduler nodes
3289
##
3290
extraEnvVarsCM: ""
3291
## @param queryScheduler.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryScheduler nodes
3292
##
3293
extraEnvVarsSecret: ""
3294
## @param queryScheduler.command Override default container command (useful when using custom images)
3295
##
3296
command: []
3297
## @param queryScheduler.args Override default container args (useful when using custom images)
3298
##
3299
args: []
3300
## @param queryScheduler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3301
##
3302
extraArgs: []
3303
## @param queryScheduler.replicaCount Number of queryScheduler replicas to deploy
3304
##
3305
replicaCount: 1
3306
## Configure extra options for queryScheduler containers' liveness, readiness and startup probes
3307
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3308
## @param queryScheduler.livenessProbe.enabled Enable livenessProbe on queryScheduler nodes
3309
## @param queryScheduler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3310
## @param queryScheduler.livenessProbe.periodSeconds Period seconds for livenessProbe
3311
## @param queryScheduler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3312
## @param queryScheduler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3313
## @param queryScheduler.livenessProbe.successThreshold Success threshold for livenessProbe
3314
##
3315
livenessProbe:
3316
enabled: true
3317
failureThreshold: 3
3318
initialDelaySeconds: 10
3319
periodSeconds: 10
3320
successThreshold: 1
3321
timeoutSeconds: 1
3322
## @param queryScheduler.minReadySeconds Minimum time to wait before performing readiness check
3323
##
3324
minReadySeconds: 10
3325
## @param queryScheduler.readinessProbe.enabled Enable readinessProbe on queryScheduler nodes
3326
## @param queryScheduler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3327
## @param queryScheduler.readinessProbe.periodSeconds Period seconds for readinessProbe
3328
## @param queryScheduler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3329
## @param queryScheduler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3330
## @param queryScheduler.readinessProbe.successThreshold Success threshold for readinessProbe
3331
##
3332
readinessProbe:
3333
enabled: true
3334
failureThreshold: 3
3335
initialDelaySeconds: 10
3336
periodSeconds: 10
3337
successThreshold: 1
3338
timeoutSeconds: 1
3339
## @param queryScheduler.startupProbe.enabled Enable startupProbe on queryScheduler containers
3340
## @param queryScheduler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3341
## @param queryScheduler.startupProbe.periodSeconds Period seconds for startupProbe
3342
## @param queryScheduler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3343
## @param queryScheduler.startupProbe.failureThreshold Failure threshold for startupProbe
3344
## @param queryScheduler.startupProbe.successThreshold Success threshold for startupProbe
3345
##
3346
startupProbe:
3347
enabled: false
3348
initialDelaySeconds: 30
3349
periodSeconds: 10
3350
timeoutSeconds: 1
3351
failureThreshold: 15
3352
successThreshold: 1
3353
## @param queryScheduler.customLivenessProbe Custom livenessProbe that overrides the default one
3354
##
3355
customLivenessProbe: {}
3356
## @param queryScheduler.customReadinessProbe Custom readinessProbe that overrides the default one
3357
##
3358
customReadinessProbe: {}
3359
## @param queryScheduler.customStartupProbe Custom startupProbe that overrides the default one
3360
##
3361
customStartupProbe: {}
3362
## queryScheduler resource requests and limits
3363
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3364
## @param queryScheduler.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if queryScheduler.resources is set (queryScheduler.resources is recommended for production).
3365
##
3366
resourcesPreset: "nano"
3367
## @param queryScheduler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3368
## Example:
3369
## resources:
3370
## requests:
3371
## cpu: 2
3372
## memory: 512Mi
3373
## limits:
3374
## cpu: 3
3375
## memory: 1024Mi
3376
##
3377
resources: {}
3378
## Configure Pods Security Context
3379
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3380
## @param queryScheduler.podSecurityContext.enabled Enabled queryScheduler pods' Security Context
3381
## @param queryScheduler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3382
## @param queryScheduler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3383
## @param queryScheduler.podSecurityContext.supplementalGroups Set filesystem extra groups
3384
## @param queryScheduler.podSecurityContext.fsGroup Set queryScheduler pod's Security Context fsGroup
3385
##
3386
podSecurityContext:
3387
enabled: true
3388
fsGroupChangePolicy: Always
3389
sysctls: []
3390
supplementalGroups: []
3391
fsGroup: 1001
3392
## Configure Container Security Context
3393
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3394
## @param queryScheduler.containerSecurityContext.enabled Enabled containers' Security Context
3395
## @param queryScheduler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3396
## @param queryScheduler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3397
## @param queryScheduler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3398
## @param queryScheduler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3399
## @param queryScheduler.containerSecurityContext.privileged Set container's Security Context privileged
3400
## @param queryScheduler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3401
## @param queryScheduler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3402
## @param queryScheduler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3403
## @param queryScheduler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3404
##
3405
containerSecurityContext:
3406
enabled: true
3407
seLinuxOptions: {}
3408
runAsUser: 1001
3409
runAsGroup: 1001
3410
runAsNonRoot: true
3411
privileged: false
3412
readOnlyRootFilesystem: true
3413
allowPrivilegeEscalation: false
3414
capabilities:
3415
drop: ["ALL"]
3416
seccompProfile:
3417
type: "RuntimeDefault"
3418
## @param queryScheduler.lifecycleHooks for the queryScheduler container(s) to automate configuration before or after startup
3419
##
3420
lifecycleHooks: {}
3421
## @param queryScheduler.automountServiceAccountToken Mount Service Account token in pod
3422
##
3423
automountServiceAccountToken: false
3424
## @param queryScheduler.hostAliases queryScheduler pods host aliases
3425
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3426
##
3427
hostAliases: []
3428
## @param queryScheduler.podLabels Extra labels for queryScheduler pods
3429
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3430
##
3431
podLabels: {}
3432
## @param queryScheduler.podAnnotations Annotations for queryScheduler pods
3433
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3434
##
3435
podAnnotations: {}
3436
## @param queryScheduler.podAffinityPreset Pod affinity preset. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3437
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3438
##
3439
podAffinityPreset: ""
3440
## @param queryScheduler.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3441
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3442
##
3443
podAntiAffinityPreset: soft
3444
## Node queryScheduler.affinity preset
3445
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3446
##
3447
nodeAffinityPreset:
3448
## @param queryScheduler.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3449
##
3450
type: ""
3451
## @param queryScheduler.nodeAffinityPreset.key Node label key to match. Ignored if `queryScheduler.affinity` is set
3452
##
3453
key: ""
3454
## @param queryScheduler.nodeAffinityPreset.values Node label values to match. Ignored if `queryScheduler.affinity` is set
3455
## E.g.
3456
## values:
3457
## - e2e-az1
3458
## - e2e-az2
3459
##
3460
values: []
3461
## @param queryScheduler.affinity Affinity for queryScheduler pods assignment
3462
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3463
## NOTE: `queryScheduler.podAffinityPreset`, `queryScheduler.podAntiAffinityPreset`, and `queryScheduler.nodeAffinityPreset` will be ignored when it's set
3464
##
3465
affinity: {}
3466
## @param queryScheduler.nodeSelector Node labels for queryScheduler pods assignment
3467
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3468
##
3469
nodeSelector: {}
3470
## @param queryScheduler.tolerations Tolerations for queryScheduler pods assignment
3471
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3472
##
3473
tolerations: []
3474
## @param queryScheduler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3475
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3476
##
3477
topologySpreadConstraints: []
3478
## @param queryScheduler.priorityClassName queryScheduler pods' priorityClassName
3479
##
3480
priorityClassName: ""
3481
## @param queryScheduler.schedulerName Kubernetes pod scheduler registry
3482
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3483
##
3484
schedulerName: ""
3485
## @param queryScheduler.updateStrategy.type queryScheduler statefulset strategy type
3486
## @param queryScheduler.updateStrategy.rollingUpdate [object,nullable] queryScheduler statefulset rolling update configuration parameters
3487
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3488
##
3489
updateStrategy:
3490
type: RollingUpdate
3491
rollingUpdate: null
3492
## @param queryScheduler.extraVolumes Optionally specify extra list of additional volumes for the queryScheduler pod(s)
3493
##
3494
extraVolumes: []
3495
## @param queryScheduler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryScheduler container(s)
3496
##
3497
extraVolumeMounts: []
3498
## @param queryScheduler.sidecars Add additional sidecar containers to the queryScheduler pod(s)
3499
## e.g:
3500
## sidecars:
3501
## - name: your-image-name
3502
## image: your-image
3503
## imagePullPolicy: Always
3504
## ports:
3505
## - name: portname
3506
## containerPort: 1234
3507
##
3508
sidecars: []
3509
## @param queryScheduler.initContainers Add additional init containers to the queryScheduler pod(s)
3510
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3511
## e.g:
3512
## initContainers:
3513
## - name: your-image-name
3514
## image: your-image
3515
## imagePullPolicy: Always
3516
## command: ['sh', '-c', 'echo "hello world"']
3517
##
3518
initContainers: []
3519
## @param queryScheduler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3520
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3521
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3522
##
3523
enableServiceLinks: true
3524
## Pod Disruption Budget configuration
3525
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3526
## @param queryScheduler.pdb.create Enable/disable a Pod Disruption Budget creation
3527
## @param queryScheduler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3528
## @param queryScheduler.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryScheduler.pdb.minAvailable` and `queryScheduler.pdb.maxUnavailable` are empty.
3529
##
3530
pdb:
3531
create: true
3532
minAvailable: ""
3533
maxUnavailable: ""
3534
## @section Query Scheduler Traffic Exposure Parameters
3535
##
3536
3537
## queryScheduler service parameters
3538
##
3539
service:
3540
## @param queryScheduler.service.type queryScheduler service type
3541
##
3542
type: ClusterIP
3543
## @param queryScheduler.service.ports.http queryScheduler HTTP service port
3544
## @param queryScheduler.service.ports.grpc queryScheduler GRPC service port
3545
##
3546
ports:
3547
http: 3100
3548
grpc: 9095
3549
## Node ports to expose
3550
## NOTE: choose port between <30000-32767>
3551
## @param queryScheduler.service.nodePorts.http Node port for HTTP
3552
## @param queryScheduler.service.nodePorts.grpc Node port for GRPC
3553
##
3554
nodePorts:
3555
http: ""
3556
grpc: ""
3557
## @param queryScheduler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3558
## sessionAffinityConfig:
3559
## clientIP:
3560
## timeoutSeconds: 300
3561
##
3562
sessionAffinityConfig: {}
3563
## @param queryScheduler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3564
## Values: ClientIP or None
3565
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3566
##
3567
sessionAffinity: None
3568
## @param queryScheduler.service.clusterIP queryScheduler service Cluster IP
3569
## e.g.:
3570
## clusterIP: None
3571
##
3572
clusterIP: ""
3573
## @param queryScheduler.service.loadBalancerIP queryScheduler service Load Balancer IP
3574
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3575
##
3576
loadBalancerIP: ""
3577
## @param queryScheduler.service.loadBalancerSourceRanges queryScheduler service Load Balancer sources
3578
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3579
## e.g:
3580
## loadBalancerSourceRanges:
3581
## - 10.10.10.0/24
3582
##
3583
loadBalancerSourceRanges: []
3584
## @param queryScheduler.service.externalTrafficPolicy queryScheduler service external traffic policy
3585
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3586
##
3587
externalTrafficPolicy: Cluster
3588
## @param queryScheduler.service.annotations Additional custom annotations for queryScheduler service
3589
##
3590
annotations: {}
3591
## @param queryScheduler.service.extraPorts Extra ports to expose in the queryScheduler service
3592
##
3593
extraPorts: []
3594
## Network Policies
3595
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3596
##
3597
networkPolicy:
3598
## @param queryScheduler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3599
##
3600
enabled: true
3601
## @param queryScheduler.networkPolicy.allowExternal Don't require server label for connections
3602
## The Policy model to apply. When set to false, only pods with the correct
3603
## server label will have network access to the ports server is listening
3604
## on. When true, server will accept connections from any source
3605
## (with the correct destination port).
3606
##
3607
allowExternal: true
3608
## @param queryScheduler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3609
##
3610
allowExternalEgress: true
3611
## @param queryScheduler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3612
##
3613
addExternalClientAccess: true
3614
## @param queryScheduler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3615
## e.g:
3616
## extraIngress:
3617
## - ports:
3618
## - port: 1234
3619
## from:
3620
## - podSelector:
3621
## - matchLabels:
3622
## - role: frontend
3623
## - podSelector:
3624
## - matchExpressions:
3625
## - key: role
3626
## operator: In
3627
## values:
3628
## - frontend
3629
extraIngress: []
3630
## @param queryScheduler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3631
## e.g:
3632
## extraEgress:
3633
## - ports:
3634
## - port: 1234
3635
## to:
3636
## - podSelector:
3637
## - matchLabels:
3638
## - role: frontend
3639
## - podSelector:
3640
## - matchExpressions:
3641
## - key: role
3642
## operator: In
3643
## values:
3644
## - frontend
3645
##
3646
extraEgress: []
3647
## @param queryScheduler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3648
## e.g:
3649
## ingressPodMatchLabels:
3650
## my-client: "true"
3651
#
3652
ingressPodMatchLabels: {}
3653
## @param queryScheduler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3654
## @param queryScheduler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3655
##
3656
ingressNSMatchLabels: {}
3657
ingressNSPodMatchLabels: {}
3658
## @section Ruler Deployment Parameters
3659
##
3660
ruler:
3661
## @param ruler.enabled Deploy ruler component
3662
##
3663
enabled: false
3664
## @param ruler.extraEnvVars Array with extra environment variables to add to ruler nodes
3665
## e.g:
3666
## extraEnvVars:
3667
## - name: FOO
3668
## value: "bar"
3669
##
3670
extraEnvVars: []
3671
## @param ruler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ruler nodes
3672
##
3673
extraEnvVarsCM: ""
3674
## @param ruler.extraEnvVarsSecret Name of existing Secret containing extra env vars for ruler nodes
3675
##
3676
extraEnvVarsSecret: ""
3677
## @param ruler.command Override default container command (useful when using custom images)
3678
##
3679
command: []
3680
## @param ruler.args Override default container args (useful when using custom images)
3681
##
3682
args: []
3683
## @param ruler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3684
##
3685
extraArgs: []
3686
## @param ruler.podManagementPolicy podManagementPolicy to manage scaling operation
3687
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
3688
##
3689
podManagementPolicy: ""
3690
## @param ruler.replicaCount Number of Ruler replicas to deploy
3691
##
3692
replicaCount: 1
3693
## Configure extra options for Ruler containers' liveness, readiness and startup probes
3694
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3695
## @param ruler.livenessProbe.enabled Enable livenessProbe on Ruler nodes
3696
## @param ruler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3697
## @param ruler.livenessProbe.periodSeconds Period seconds for livenessProbe
3698
## @param ruler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3699
## @param ruler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3700
## @param ruler.livenessProbe.successThreshold Success threshold for livenessProbe
3701
##
3702
livenessProbe:
3703
enabled: true
3704
failureThreshold: 3
3705
initialDelaySeconds: 10
3706
periodSeconds: 10
3707
successThreshold: 1
3708
timeoutSeconds: 1
3709
## @param ruler.readinessProbe.enabled Enable readinessProbe on Ruler nodes
3710
## @param ruler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3711
## @param ruler.readinessProbe.periodSeconds Period seconds for readinessProbe
3712
## @param ruler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3713
## @param ruler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3714
## @param ruler.readinessProbe.successThreshold Success threshold for readinessProbe
3715
##
3716
readinessProbe:
3717
enabled: true
3718
failureThreshold: 3
3719
initialDelaySeconds: 10
3720
periodSeconds: 10
3721
successThreshold: 1
3722
timeoutSeconds: 1
3723
## @param ruler.startupProbe.enabled Enable startupProbe on Ruler containers
3724
## @param ruler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3725
## @param ruler.startupProbe.periodSeconds Period seconds for startupProbe
3726
## @param ruler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3727
## @param ruler.startupProbe.failureThreshold Failure threshold for startupProbe
3728
## @param ruler.startupProbe.successThreshold Success threshold for startupProbe
3729
##
3730
startupProbe:
3731
enabled: false
3732
initialDelaySeconds: 30
3733
periodSeconds: 10
3734
timeoutSeconds: 1
3735
failureThreshold: 15
3736
successThreshold: 1
3737
## @param ruler.customLivenessProbe Custom livenessProbe that overrides the default one
3738
##
3739
customLivenessProbe: {}
3740
## @param ruler.customReadinessProbe Custom readinessProbe that overrides the default one
3741
##
3742
customReadinessProbe: {}
3743
## @param ruler.customStartupProbe Custom startupProbe that overrides the default one
3744
##
3745
customStartupProbe: {}
3746
## @param ruler.lifecycleHooks for the ruler container(s) to automate configuration before or after startup
3747
##
3748
lifecycleHooks: {}
3749
## ruler resource requests and limits
3750
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3751
## @param ruler.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ruler.resources is set (ruler.resources is recommended for production).
3752
##
3753
resourcesPreset: "nano"
3754
## @param ruler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3755
## Example:
3756
## resources:
3757
## requests:
3758
## cpu: 2
3759
## memory: 512Mi
3760
## limits:
3761
## cpu: 3
3762
## memory: 1024Mi
3763
##
3764
resources: {}
3765
## Configure Pods Security Context
3766
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3767
## @param ruler.podSecurityContext.enabled Enabled Ruler pods' Security Context
3768
## @param ruler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3769
## @param ruler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3770
## @param ruler.podSecurityContext.supplementalGroups Set filesystem extra groups
3771
## @param ruler.podSecurityContext.fsGroup Set Ruler pod's Security Context fsGroup
3772
##
3773
podSecurityContext:
3774
enabled: true
3775
fsGroupChangePolicy: Always
3776
sysctls: []
3777
supplementalGroups: []
3778
fsGroup: 1001
3779
## Configure Container Security Context
3780
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3781
## @param ruler.containerSecurityContext.enabled Enabled containers' Security Context
3782
## @param ruler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3783
## @param ruler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3784
## @param ruler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3785
## @param ruler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3786
## @param ruler.containerSecurityContext.privileged Set container's Security Context privileged
3787
## @param ruler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3788
## @param ruler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3789
## @param ruler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3790
## @param ruler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3791
##
3792
containerSecurityContext:
3793
enabled: true
3794
seLinuxOptions: {}
3795
runAsUser: 1001
3796
runAsGroup: 1001
3797
runAsNonRoot: true
3798
privileged: false
3799
readOnlyRootFilesystem: true
3800
allowPrivilegeEscalation: false
3801
capabilities:
3802
drop: ["ALL"]
3803
seccompProfile:
3804
type: "RuntimeDefault"
3805
## @param ruler.automountServiceAccountToken Mount Service Account token in pod
3806
##
3807
automountServiceAccountToken: false
3808
## @param ruler.hostAliases ruler pods host aliases
3809
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3810
##
3811
hostAliases: []
3812
## @param ruler.podLabels Extra labels for ruler pods
3813
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3814
##
3815
podLabels: {}
3816
## @param ruler.podAnnotations Annotations for ruler pods
3817
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3818
##
3819
podAnnotations: {}
3820
## @param ruler.podAffinityPreset Pod affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3821
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3822
##
3823
podAffinityPreset: ""
3824
## @param ruler.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3825
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3826
##
3827
podAntiAffinityPreset: soft
3828
## Node ruler.affinity preset
3829
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3830
##
3831
nodeAffinityPreset:
3832
## @param ruler.nodeAffinityPreset.type Node affinity preset type. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3833
##
3834
type: ""
3835
## @param ruler.nodeAffinityPreset.key Node label key to match. Ignored if `ruler.affinity` is set
3836
##
3837
key: ""
3838
## @param ruler.nodeAffinityPreset.values Node label values to match. Ignored if `ruler.affinity` is set
3839
## E.g.
3840
## values:
3841
## - e2e-az1
3842
## - e2e-az2
3843
##
3844
values: []
3845
## @param ruler.affinity Affinity for ruler pods assignment
3846
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3847
## NOTE: `ruler.podAffinityPreset`, `ruler.podAntiAffinityPreset`, and `ruler.nodeAffinityPreset` will be ignored when it's set
3848
##
3849
affinity: {}
3850
## @param ruler.nodeSelector Node labels for Ruler pods assignment
3851
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3852
##
3853
nodeSelector: {}
3854
## @param ruler.tolerations Tolerations for Ruler pods assignment
3855
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3856
##
3857
tolerations: []
3858
## @param ruler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3859
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3860
##
3861
topologySpreadConstraints: []
3862
## @param ruler.priorityClassName Ruler pods' priorityClassName
3863
##
3864
priorityClassName: ""
3865
## @param ruler.schedulerName Kubernetes pod scheduler registry
3866
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3867
##
3868
schedulerName: ""
3869
## @param ruler.updateStrategy.type Ruler statefulset strategy type
3870
## @param ruler.updateStrategy.rollingUpdate [object,nullable] Ruler statefulset rolling update configuration parameters
3871
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3872
##
3873
updateStrategy:
3874
type: RollingUpdate
3875
rollingUpdate: null
3876
## @param ruler.extraVolumes Optionally specify extra list of additional volumes for the Ruler pod(s)
3877
##
3878
extraVolumes: []
3879
## @param ruler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ruler container(s)
3880
##
3881
extraVolumeMounts: []
3882
## @param ruler.sidecars Add additional sidecar containers to the Ruler pod(s)
3883
## e.g:
3884
## sidecars:
3885
## - name: your-image-name
3886
## image: your-image
3887
## imagePullPolicy: Always
3888
## ports:
3889
## - name: portname
3890
## containerPort: 1234
3891
##
3892
sidecars: []
3893
## @param ruler.initContainers Add additional init containers to the Ruler pod(s)
3894
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3895
## e.g:
3896
## initContainers:
3897
## - name: your-image-name
3898
## image: your-image
3899
## imagePullPolicy: Always
3900
## command: ['sh', '-c', 'echo "hello world"']
3901
##
3902
initContainers: []
3903
## @param ruler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3904
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3905
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3906
##
3907
enableServiceLinks: true
3908
## Pod Disruption Budget configuration
3909
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3910
## @param ruler.pdb.create Enable/disable a Pod Disruption Budget creation
3911
## @param ruler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3912
## @param ruler.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `ruler.pdb.minAvailable` and `ruler.pdb.maxUnavailable` are empty.
3913
##
3914
pdb:
3915
create: true
3916
minAvailable: ""
3917
maxUnavailable: ""
3918
## @section Ruler Persistence Parameters
3919
##
3920
3921
## Enable persistence using Persistent Volume Claims
3922
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
3923
##
3924
persistence:
3925
## @param ruler.persistence.enabled Enable persistence in Ruler instances
3926
##
3927
enabled: true
3928
## @param ruler.persistence.storageClass PVC Storage Class for Memcached data volume
3929
## If defined, storageClassName: <storageClass>
3930
## If set to "-", storageClassName: "", which disables dynamic provisioning
3931
## If undefined (the default) or set to null, no storageClassName spec is
3932
## set, choosing the default provisioner. (gp2 on AWS, standard on
3933
## GKE, AWS & OpenStack)
3934
##
3935
storageClass: ""
3936
## @param ruler.persistence.subPath The subdirectory of the volume to mount to
3937
##
3938
subPath: ""
3939
## @param ruler.persistence.accessModes PVC Access modes
3940
##
3941
accessModes:
3942
- ReadWriteOnce
3943
## @param ruler.persistence.size PVC Storage Request for Memcached data volume
3944
##
3945
size: 8Gi
3946
## @param ruler.persistence.annotations Additional PVC annotations
3947
##
3948
annotations: {}
3949
## @param ruler.persistence.selector Selector to match an existing Persistent Volume for Ruler's data PVC
3950
## If set, the PVC can't have a PV dynamically provisioned for it
3951
## E.g.
3952
## selector:
3953
## matchLabels:
3954
## app: my-app
3955
##
3956
selector: {}
3957
## @section Ruler Traffic Exposure Parameters
3958
##
3959
3960
## ruler service parameters
3961
##
3962
service:
3963
## @param ruler.service.type Ruler service type
3964
##
3965
type: ClusterIP
3966
## @param ruler.service.ports.http Ruler HTTP service port
3967
## @param ruler.service.ports.grpc Ruler GRPC service port
3968
##
3969
ports:
3970
http: 3100
3971
grpc: 9095
3972
## Node ports to expose
3973
## NOTE: choose port between <30000-32767>
3974
## @param ruler.service.nodePorts.http Node port for HTTP
3975
## @param ruler.service.nodePorts.grpc Node port for GRPC
3976
##
3977
nodePorts:
3978
http: ""
3979
grpc: ""
3980
## @param ruler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3981
## sessionAffinityConfig:
3982
## clientIP:
3983
## timeoutSeconds: 300
3984
##
3985
sessionAffinityConfig: {}
3986
## @param ruler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3987
## Values: ClientIP or None
3988
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3989
##
3990
sessionAffinity: None
3991
## @param ruler.service.clusterIP Ruler service Cluster IP
3992
## e.g.:
3993
## clusterIP: None
3994
##
3995
clusterIP: ""
3996
## @param ruler.service.loadBalancerIP Ruler service Load Balancer IP
3997
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3998
##
3999
loadBalancerIP: ""
4000
## @param ruler.service.loadBalancerSourceRanges Ruler service Load Balancer sources
4001
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4002
## e.g:
4003
## loadBalancerSourceRanges:
4004
## - 10.10.10.0/24
4005
##
4006
loadBalancerSourceRanges: []
4007
## @param ruler.service.externalTrafficPolicy Ruler service external traffic policy
4008
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4009
##
4010
externalTrafficPolicy: Cluster
4011
## @param ruler.service.annotations Additional custom annotations for Ruler service
4012
##
4013
annotations: {}
4014
## @param ruler.service.extraPorts Extra ports to expose in the Ruler service
4015
##
4016
extraPorts: []
4017
## Network Policies
4018
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4019
##
4020
networkPolicy:
4021
## @param ruler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4022
##
4023
enabled: true
4024
## @param ruler.networkPolicy.allowExternal Don't require server label for connections
4025
## The Policy model to apply. When set to false, only pods with the correct
4026
## server label will have network access to the ports server is listening
4027
## on. When true, server will accept connections from any source
4028
## (with the correct destination port).
4029
##
4030
allowExternal: true
4031
## @param ruler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4032
##
4033
allowExternalEgress: true
4034
## @param ruler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ruler.networkPolicy.allowExternal` is true.
4035
##
4036
addExternalClientAccess: true
4037
## @param ruler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4038
## e.g:
4039
## extraIngress:
4040
## - ports:
4041
## - port: 1234
4042
## from:
4043
## - podSelector:
4044
## - matchLabels:
4045
## - role: frontend
4046
## - podSelector:
4047
## - matchExpressions:
4048
## - key: role
4049
## operator: In
4050
## values:
4051
## - frontend
4052
extraIngress: []
4053
## @param ruler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4054
## e.g:
4055
## extraEgress:
4056
## - ports:
4057
## - port: 1234
4058
## to:
4059
## - podSelector:
4060
## - matchLabels:
4061
## - role: frontend
4062
## - podSelector:
4063
## - matchExpressions:
4064
## - key: role
4065
## operator: In
4066
## values:
4067
## - frontend
4068
##
4069
extraEgress: []
4070
## @param ruler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ruler.networkPolicy.allowExternal` is true.
4071
## e.g:
4072
## ingressPodMatchLabels:
4073
## my-client: "true"
4074
#
4075
ingressPodMatchLabels: {}
4076
## @param ruler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4077
## @param ruler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4078
##
4079
ingressNSMatchLabels: {}
4080
ingressNSPodMatchLabels: {}
4081
## @section table-manager Deployment Parameters
4082
##
4083
tableManager:
4084
## @param tableManager.enabled Deploy table-manager
4085
##
4086
enabled: false
4087
## @param tableManager.extraEnvVars Array with extra environment variables to add to tableManager nodes
4088
## e.g:
4089
## extraEnvVars:
4090
## - name: FOO
4091
## value: "bar"
4092
##
4093
extraEnvVars: []
4094
## @param tableManager.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for tableManager nodes
4095
##
4096
extraEnvVarsCM: ""
4097
## @param tableManager.extraEnvVarsSecret Name of existing Secret containing extra env vars for tableManager nodes
4098
##
4099
extraEnvVarsSecret: ""
4100
## @param tableManager.command Override default container command (useful when using custom images)
4101
##
4102
command: []
4103
## @param tableManager.args Override default container args (useful when using custom images)
4104
##
4105
args: []
4106
## @param tableManager.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
4107
##
4108
extraArgs: []
4109
## @param tableManager.replicaCount Number of table-manager replicas to deploy
4110
##
4111
replicaCount: 1
4112
## Configure extra options for table-manager containers' liveness, readiness and startup probes
4113
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
4114
## @param tableManager.livenessProbe.enabled Enable livenessProbe on table-manager nodes
4115
## @param tableManager.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
4116
## @param tableManager.livenessProbe.periodSeconds Period seconds for livenessProbe
4117
## @param tableManager.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
4118
## @param tableManager.livenessProbe.failureThreshold Failure threshold for livenessProbe
4119
## @param tableManager.livenessProbe.successThreshold Success threshold for livenessProbe
4120
##
4121
livenessProbe:
4122
enabled: true
4123
failureThreshold: 3
4124
initialDelaySeconds: 10
4125
periodSeconds: 10
4126
successThreshold: 1
4127
timeoutSeconds: 1
4128
## @param tableManager.readinessProbe.enabled Enable readinessProbe on table-manager nodes
4129
## @param tableManager.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
4130
## @param tableManager.readinessProbe.periodSeconds Period seconds for readinessProbe
4131
## @param tableManager.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
4132
## @param tableManager.readinessProbe.failureThreshold Failure threshold for readinessProbe
4133
## @param tableManager.readinessProbe.successThreshold Success threshold for readinessProbe
4134
##
4135
readinessProbe:
4136
enabled: true
4137
failureThreshold: 3
4138
initialDelaySeconds: 10
4139
periodSeconds: 10
4140
successThreshold: 1
4141
timeoutSeconds: 1
4142
## @param tableManager.startupProbe.enabled Enable startupProbe on table-manager containers
4143
## @param tableManager.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
4144
## @param tableManager.startupProbe.periodSeconds Period seconds for startupProbe
4145
## @param tableManager.startupProbe.timeoutSeconds Timeout seconds for startupProbe
4146
## @param tableManager.startupProbe.failureThreshold Failure threshold for startupProbe
4147
## @param tableManager.startupProbe.successThreshold Success threshold for startupProbe
4148
##
4149
startupProbe:
4150
enabled: false
4151
initialDelaySeconds: 30
4152
periodSeconds: 10
4153
timeoutSeconds: 1
4154
failureThreshold: 15
4155
successThreshold: 1
4156
## @param tableManager.customLivenessProbe Custom livenessProbe that overrides the default one
4157
##
4158
customLivenessProbe: {}
4159
## @param tableManager.customReadinessProbe Custom readinessProbe that overrides the default one
4160
##
4161
customReadinessProbe: {}
4162
## @param tableManager.customStartupProbe Custom startupProbe that overrides the default one
4163
##
4164
customStartupProbe: {}
4165
## tableManager resource requests and limits
4166
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4167
## @param tableManager.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if tableManager.resources is set (tableManager.resources is recommended for production).
4168
##
4169
resourcesPreset: "nano"
4170
## @param tableManager.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4171
## Example:
4172
## resources:
4173
## requests:
4174
## cpu: 2
4175
## memory: 512Mi
4176
## limits:
4177
## cpu: 3
4178
## memory: 1024Mi
4179
##
4180
resources: {}
4181
## Configure Pods Security Context
4182
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4183
## @param tableManager.podSecurityContext.enabled Enabled table-manager pods' Security Context
4184
## @param tableManager.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
4185
## @param tableManager.podSecurityContext.sysctls Set kernel settings using the sysctl interface
4186
## @param tableManager.podSecurityContext.supplementalGroups Set filesystem extra groups
4187
## @param tableManager.podSecurityContext.fsGroup Set table-manager pod's Security Context fsGroup
4188
##
4189
podSecurityContext:
4190
enabled: true
4191
fsGroupChangePolicy: Always
4192
sysctls: []
4193
supplementalGroups: []
4194
fsGroup: 1001
4195
## Configure Container Security Context
4196
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4197
## @param tableManager.containerSecurityContext.enabled Enabled containers' Security Context
4198
## @param tableManager.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4199
## @param tableManager.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
4200
## @param tableManager.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
4201
## @param tableManager.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
4202
## @param tableManager.containerSecurityContext.privileged Set container's Security Context privileged
4203
## @param tableManager.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
4204
## @param tableManager.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
4205
## @param tableManager.containerSecurityContext.capabilities.drop List of capabilities to be dropped
4206
## @param tableManager.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4207
##
4208
containerSecurityContext:
4209
enabled: true
4210
seLinuxOptions: {}
4211
runAsUser: 1001
4212
runAsGroup: 1001
4213
runAsNonRoot: true
4214
privileged: false
4215
readOnlyRootFilesystem: true
4216
allowPrivilegeEscalation: false
4217
capabilities:
4218
drop: ["ALL"]
4219
seccompProfile:
4220
type: "RuntimeDefault"
4221
## @param tableManager.lifecycleHooks for the tableManager container(s) to automate configuration before or after startup
4222
##
4223
lifecycleHooks: {}
4224
## @param tableManager.automountServiceAccountToken Mount Service Account token in pod
4225
##
4226
automountServiceAccountToken: false
4227
## @param tableManager.hostAliases tableManager pods host aliases
4228
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
4229
##
4230
hostAliases: []
4231
## @param tableManager.podLabels Extra labels for tableManager pods
4232
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4233
##
4234
podLabels: {}
4235
## @param tableManager.podAnnotations Annotations for tableManager pods
4236
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4237
##
4238
podAnnotations: {}
4239
## @param tableManager.podAffinityPreset Pod affinity preset. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4240
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4241
##
4242
podAffinityPreset: ""
4243
## @param tableManager.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4244
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4245
##
4246
podAntiAffinityPreset: soft
4247
## Node tableManager.affinity preset
4248
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
4249
##
4250
nodeAffinityPreset:
4251
## @param tableManager.nodeAffinityPreset.type Node affinity preset type. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4252
##
4253
type: ""
4254
## @param tableManager.nodeAffinityPreset.key Node label key to match. Ignored if `tableManager.affinity` is set
4255
##
4256
key: ""
4257
## @param tableManager.nodeAffinityPreset.values Node label values to match. Ignored if `tableManager.affinity` is set
4258
## E.g.
4259
## values:
4260
## - e2e-az1
4261
## - e2e-az2
4262
##
4263
values: []
4264
## @param tableManager.affinity Affinity for table-manager pods assignment
4265
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
4266
## NOTE: `tableManager.podAffinityPreset`, `tableManager.podAntiAffinityPreset`, and `tableManager.nodeAffinityPreset` will be ignored when it's set
4267
##
4268
affinity: {}
4269
## @param tableManager.nodeSelector Node labels for table-manager pods assignment
4270
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
4271
##
4272
nodeSelector: {}
4273
## @param tableManager.tolerations Tolerations for table-manager pods assignment
4274
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4275
##
4276
tolerations: []
4277
## @param tableManager.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
4278
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
4279
##
4280
topologySpreadConstraints: []
4281
## @param tableManager.priorityClassName table-manager pods' priorityClassName
4282
##
4283
priorityClassName: ""
4284
## @param tableManager.schedulerName Kubernetes pod scheduler registry
4285
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
4286
##
4287
schedulerName: ""
4288
## @param tableManager.updateStrategy.type table-manager statefulset strategy type
4289
## @param tableManager.updateStrategy.rollingUpdate [object,nullable] table-manager statefulset rolling update configuration parameters
4290
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
4291
##
4292
updateStrategy:
4293
type: RollingUpdate
4294
rollingUpdate: null
4295
## @param tableManager.extraVolumes Optionally specify extra list of additional volumes for the table-manager pod(s)
4296
##
4297
extraVolumes: []
4298
## @param tableManager.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the table-manager container(s)
4299
##
4300
extraVolumeMounts: []
4301
## @param tableManager.sidecars Add additional sidecar containers to the table-manager pod(s)
4302
## e.g:
4303
## sidecars:
4304
## - name: your-image-name
4305
## image: your-image
4306
## imagePullPolicy: Always
4307
## ports:
4308
## - name: portname
4309
## containerPort: 1234
4310
##
4311
sidecars: []
4312
## @param tableManager.initContainers Add additional init containers to the table-manager pod(s)
4313
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4314
## e.g:
4315
## initContainers:
4316
## - name: your-image-name
4317
## image: your-image
4318
## imagePullPolicy: Always
4319
## command: ['sh', '-c', 'echo "hello world"']
4320
##
4321
initContainers: []
4322
## @param tableManager.enableServiceLinks Whether information about services should be injected into pod's environment variable
4323
## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
4324
## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
4325
##
4326
enableServiceLinks: true
4327
## Pod Disruption Budget configuration
4328
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
4329
## @param tableManager.pdb.create Enable/disable a Pod Disruption Budget creation
4330
## @param tableManager.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
4331
## @param tableManager.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `tableManager.pdb.minAvailable` and `tableManager.pdb.maxUnavailable` are empty.
4332
##
4333
pdb:
4334
create: true
4335
minAvailable: ""
4336
maxUnavailable: ""
4337
## @section table-manager Traffic Exposure Parameters
4338
##
4339
4340
## tableManager service parameters
4341
##
4342
service:
4343
## @param tableManager.service.type table-manager service type
4344
##
4345
type: ClusterIP
4346
## @param tableManager.service.ports.http table-manager HTTP service port
4347
## @param tableManager.service.ports.grpc table-manager GRPC service port
4348
##
4349
ports:
4350
http: 3100
4351
grpc: 9095
4352
## Node ports to expose
4353
## NOTE: choose port between <30000-32767>
4354
## @param tableManager.service.nodePorts.http Node port for HTTP
4355
## @param tableManager.service.nodePorts.grpc Node port for GRPC
4356
##
4357
nodePorts:
4358
http: ""
4359
grpc: ""
4360
## @param tableManager.service.sessionAffinityConfig Additional settings for the sessionAffinity
4361
## sessionAffinityConfig:
4362
## clientIP:
4363
## timeoutSeconds: 300
4364
##
4365
sessionAffinityConfig: {}
4366
## @param tableManager.service.sessionAffinity Control where client requests go, to the same pod or round-robin
4367
## Values: ClientIP or None
4368
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
4369
##
4370
sessionAffinity: None
4371
## @param tableManager.service.clusterIP table-manager service Cluster IP
4372
## e.g.:
4373
## clusterIP: None
4374
##
4375
clusterIP: ""
4376
## @param tableManager.service.loadBalancerIP table-manager service Load Balancer IP
4377
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
4378
##
4379
loadBalancerIP: ""
4380
## @param tableManager.service.loadBalancerSourceRanges table-manager service Load Balancer sources
4381
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4382
## e.g:
4383
## loadBalancerSourceRanges:
4384
## - 10.10.10.0/24
4385
##
4386
loadBalancerSourceRanges: []
4387
## @param tableManager.service.externalTrafficPolicy table-manager service external traffic policy
4388
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4389
##
4390
externalTrafficPolicy: Cluster
4391
## @param tableManager.service.annotations Additional custom annotations for table-manager service
4392
##
4393
annotations: {}
4394
## @param tableManager.service.extraPorts Extra ports to expose in the table-manager service
4395
##
4396
extraPorts: []
4397
## Network Policies
4398
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4399
##
4400
networkPolicy:
4401
## @param tableManager.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4402
##
4403
enabled: true
4404
## @param tableManager.networkPolicy.allowExternal Don't require server label for connections
4405
## The Policy model to apply. When set to false, only pods with the correct
4406
## server label will have network access to the ports server is listening
4407
## on. When true, server will accept connections from any source
4408
## (with the correct destination port).
4409
##
4410
allowExternal: true
4411
## @param tableManager.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4412
##
4413
allowExternalEgress: true
4414
## @param tableManager.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `tableManager.networkPolicy.allowExternal` is true.
4415
##
4416
addExternalClientAccess: true
4417
## @param tableManager.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4418
## e.g:
4419
## extraIngress:
4420
## - ports:
4421
## - port: 1234
4422
## from:
4423
## - podSelector:
4424
## - matchLabels:
4425
## - role: frontend
4426
## - podSelector:
4427
## - matchExpressions:
4428
## - key: role
4429
## operator: In
4430
## values:
4431
## - frontend
4432
extraIngress: []
4433
## @param tableManager.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4434
## e.g:
4435
## extraEgress:
4436
## - ports:
4437
## - port: 1234
4438
## to:
4439
## - podSelector:
4440
## - matchLabels:
4441
## - role: frontend
4442
## - podSelector:
4443
## - matchExpressions:
4444
## - key: role
4445
## operator: In
4446
## values:
4447
## - frontend
4448
##
4449
extraEgress: []
4450
## @param tableManager.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4451
## e.g:
4452
## ingressPodMatchLabels:
4453
## my-client: "true"
4454
#
4455
ingressPodMatchLabels: {}
4456
## @param tableManager.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4457
## @param tableManager.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4458
##
4459
ingressNSMatchLabels: {}
4460
ingressNSPodMatchLabels: {}
4461
## @section Grafana Alloy Deployment Parameters
4462
##
4463
grafanaalloy:
4464
## @param grafanaalloy.enabled Deploy Grafana Alloy
4465
##
4466
enabled: true
4467
## @param grafanaalloy.resourceType Type of controller to use for deploying Grafana Alloy in the cluster.
4468
## Must be one of 'daemonset', 'deployment', or 'statefulset'.
4469
##
4470
resourceType: 'daemonset'
4471
## @param grafanaalloy.replicaCount Number of pods to deploy. Ignored when grafanaalloy.resourceType is 'daemonset'.
4472
##
4473
replicaCount: 1
4474
## @section Alloy container specific parameters
4475
##
4476
configReloader:
4477
image:
4478
registry: cgr.dev
4479
repository: chainguard-private/configmap-reload-iamguarded
4480
tag: 0.15.0
4481
digest: ""
4482
volumePermissions:
4483
image:
4484
registry: cgr.dev
4485
repository: chainguard-private/os-shell-iamguarded
4486
tag: 1.0.0
4487
digest: ""
4488
alloy:
4489
image:
4490
registry: cgr.dev
4491
repository: chainguard-private/grafana-alloy-iamguarded
4492
tag: 1.18.1
4493
digest: ""
4494
volumePermissions:
4495
image:
4496
registry: cgr.dev
4497
repository: chainguard-private/os-shell-iamguarded
4498
tag: 1.0.0
4499
digest: ""
4500
## @param grafanaalloy.alloy.stabilityLevel Minimum stability level of components and behavior to enable. Must be
4501
## one of "experimental", "public-preview", or "generally-available".
4502
stabilityLevel: "generally-available"
4503
## @param grafanaalloy.alloy.listenAddr Address to listen for traffic on. 0.0.0.0 exposes the UI to other containers.
4504
listenAddr: 0.0.0.0
4505
## @param grafanaalloy.alloy.uiPathPrefix Base path where the UI is exposed.
4506
uiPathPrefix: /
4507
## @param grafanaalloy.alloy.storagePath Path to where Grafana Alloy stores data (for example, the Write-Ahead Log).
4508
storagePath: /tmp/alloy
4509
## @param grafanaalloy.alloy.enableReporting Enables sending Grafana Labs anonymous usage stats to help improve Grafana grafanaalloy.alloy.
4510
enableReporting: true
4511
## @param grafanaalloy.alloy.mounts.varlog Mount /var/log from the host into the container for log collection.
4512
## @param grafanaalloy.alloy.mounts.dockercontainers Mount /var/lib/docker/containers from the host into the container for log
4513
##
4514
mounts:
4515
varlog: true
4516
dockercontainers: true
4517
## @param grafanaalloy.alloy.clustering.enabled Deploy Grafana Alloy in a cluster to allow for load distribution.
4518
## @param grafanaalloy.alloy.clustering.name Name for the Grafana Alloy cluster. Used for differentiating between clusters.
4519
## @param grafanaalloy.alloy.clustering.portName Name for the port used for clustering, useful if running inside an Istio Mesh
4520
##
4521
clustering:
4522
enabled: false
4523
name: ""
4524
portName: http
4525
## @param grafanaalloy.alloy.createSecret Create a Secret with the default configuration for Grafana Alloy to send logs to Loki.
4526
##
4527
createSecret: true
4528
## @param grafanaalloy.alloy.existingSecret The name of an existing Secret with your custom configuration for Grafana Alloy. If the grafanaalloy.alloy.createSecret is set, it will create a Secret with this name.
4529
##
4530
existingSecret: "{{ ternary (printf \"%s-alloy\" (lower .Release.Name)) \"\" .Values.alloy.createSecret }}"
4531
## @param grafanaalloy.alloy.configuration Specify content for Grafana Alloy config file. Omitted if grafanaalloy.alloy.existingSecret is provided.
4532
## e.g:
4533
## configuration: |-
4534
## ...
4535
##
4536
configuration: ""
4537
## @param grafanaalloy.alloy.extraConfig Append extra configuration to the default config file
4538
##
4539
extraConfig: ""
4540
## @section Init Container Parameters
4541
##
4542
4543
## 'volumePermissions' init container parameters
4544
## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
4545
## based on the *podSecurityContext/*containerSecurityContext parameters
4546
##
4547
volumePermissions:
4548
## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
4549
##
4550
enabled: false
4551
## OS Shell + Utility image
4552
## @param volumePermissions.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
4553
## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
4554
## @skip volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
4555
## @param volumePermissions.image.digest OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
4556
## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
4557
## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
4558
##
4559
image:
4560
registry: cgr.dev
4561
repository: chainguard-private/os-shell-iamguarded
4562
tag: 1.0.0
4563
digest: ""
4564
pullPolicy: IfNotPresent
4565
## Optionally specify an array of imagePullSecrets.
4566
## Secrets must be manually created in the namespace.
4567
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
4568
## e.g:
4569
## pullSecrets:
4570
## - myRegistryKeySecretName
4571
##
4572
pullSecrets: []
4573
## Init container's resource requests and limits
4574
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4575
## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
4576
##
4577
resourcesPreset: "nano"
4578
## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4579
## Example:
4580
## resources:
4581
## requests:
4582
## cpu: 2
4583
## memory: 512Mi
4584
## limits:
4585
## cpu: 3
4586
## memory: 1024Mi
4587
##
4588
resources: {}
4589
## Init container Container Security Context
4590
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
4591
## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4592
## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
4593
## @param volumePermissions.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4594
## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
4595
## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
4596
## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
4597
##
4598
containerSecurityContext:
4599
seLinuxOptions: {}
4600
runAsUser: 0
4601
seccompProfile:
4602
type: "RuntimeDefault"
4603
## @section Other Parameters
4604
##
4605
4606
## Service account for Loki to use
4607
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
4608
##
4609
serviceAccount:
4610
## @param serviceAccount.create Enable creation of ServiceAccount for Loki pods
4611
##
4612
create: true
4613
## @param serviceAccount.name The name of the ServiceAccount to use
4614
## If not set and create is true, a name is generated using the common.names.fullname template
4615
##
4616
name: ""
4617
## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
4618
## Can be set to false if pods using this serviceAccount do not need to use K8s API
4619
##
4620
automountServiceAccountToken: false
4621
## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
4622
##
4623
annotations: {}
4624
## @section Metrics Parameters
4625
## Prometheus Exporter / Metrics
4626
##
4627
metrics:
4628
## @param metrics.enabled Enable metrics
4629
##
4630
enabled: false
4631
## Prometheus Operator ServiceMonitor configuration
4632
##
4633
serviceMonitor:
4634
## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
4635
##
4636
enabled: false
4637
## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
4638
##
4639
namespace: ""
4640
## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
4641
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4642
##
4643
interval: ""
4644
## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
4645
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4646
##
4647
scrapeTimeout: ""
4648
## @param metrics.serviceMonitor.labels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
4649
##
4650
labels: {}
4651
## @param metrics.serviceMonitor.selector Prometheus instance selector labels
4652
##
4653
selector: {}
4654
## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
4655
##
4656
relabelings: []
4657
## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
4658
##
4659
metricRelabelings: []
4660
## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
4661
##
4662
honorLabels: false
4663
## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
4664
##
4665
jobLabel: ""
4666
## @section External Memcached (Chunks) Parameters
4667
##
4668
externalMemcachedChunks:
4669
## @param externalMemcachedChunks.host Host of a running external memcached instance
4670
##
4671
host: ""
4672
## @param externalMemcachedChunks.port Port of a running external memcached instance
4673
##
4674
port: 11211
4675
## @section Memcached Sub-chart Parameters (Chunks)
4676
## Memcached sub-chart (Chunks)
4677
##
4678
memcachedchunks:
4679
image:
4680
registry: cgr.dev
4681
repository: chainguard-private/memcached-iamguarded
4682
tag: 1.6.45
4683
digest: ""
4684
volumePermissions:
4685
image:
4686
registry: cgr.dev
4687
repository: chainguard-private/os-shell-iamguarded
4688
tag: 1.0.0
4689
digest: ""
4690
## @param memcachedchunks.enabled Deploy memcached sub-chart
4691
##
4692
enabled: true
4693
## @param memcachedchunks.nameOverride override the subchart name
4694
##
4695
nameOverride: ""
4696
## @param memcachedchunks.architecture Memcached architecture
4697
##
4698
architecture: high-availability
4699
## @param memcachedchunks.service.ports.memcached Memcached service port
4700
##
4701
service:
4702
ports:
4703
memcached: 11211
4704
## Memcached resource requests and limits
4705
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4706
## @param memcachedchunks.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4707
##
4708
resourcesPreset: "nano"
4709
## @param memcachedchunks.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4710
## Example:
4711
## resources:
4712
## requests:
4713
## cpu: 2
4714
## memory: 512Mi
4715
## limits:
4716
## cpu: 3
4717
## memory: 1024Mi
4718
##
4719
resources: {}
4720
## @section External Memcached (Frontend) Parameters
4721
##
4722
externalMemcachedFrontend:
4723
## @param externalMemcachedFrontend.host Host of a running external memcached instance
4724
##
4725
host: ""
4726
## @param externalMemcachedFrontend.port Port of a running external memcached instance
4727
##
4728
port: 11211
4729
## @section Memcached Sub-chart Parameters (Frontend)
4730
## Memcached sub-chart (Frontend)
4731
##
4732
memcachedfrontend:
4733
image:
4734
registry: cgr.dev
4735
repository: chainguard-private/memcached-iamguarded
4736
tag: 1.6.45
4737
digest: ""
4738
volumePermissions:
4739
image:
4740
registry: cgr.dev
4741
repository: chainguard-private/os-shell-iamguarded
4742
tag: 1.0.0
4743
digest: ""
4744
## @param memcachedfrontend.enabled Deploy memcached sub-chart
4745
##
4746
enabled: true
4747
## @param memcachedfrontend.architecture Memcached architecture
4748
##
4749
architecture: high-availability
4750
## @param memcachedfrontend.nameOverride override the subchart name
4751
##
4752
nameOverride: ""
4753
## @param memcachedfrontend.service.ports.memcached Memcached service port
4754
##
4755
service:
4756
ports:
4757
memcached: 11211
4758
## Memcached resource requests and limits
4759
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4760
## @param memcachedfrontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4761
##
4762
resourcesPreset: "nano"
4763
## @param memcachedfrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4764
## Example:
4765
## resources:
4766
## requests:
4767
## cpu: 2
4768
## memory: 512Mi
4769
## limits:
4770
## cpu: 3
4771
## memory: 1024Mi
4772
##
4773
resources: {}
4774
## @section External Memcached (Index-Queries) Parameters
4775
##
4776
externalMemcachedIndexQueries:
4777
## @param externalMemcachedIndexQueries.host Host of a running external memcached instance
4778
##
4779
host: ""
4780
## @param externalMemcachedIndexQueries.port Port of a running external memcached instance
4781
##
4782
port: 11211
4783
## @section Memcached Sub-chart Parameters (Index-Queries)
4784
## Memcached sub-chart (Index-Queries)
4785
##
4786
memcachedindexqueries:
4787
image:
4788
registry: cgr.dev
4789
repository: chainguard-private/memcached-iamguarded
4790
tag: 1.6.45
4791
digest: ""
4792
volumePermissions:
4793
image:
4794
registry: cgr.dev
4795
repository: chainguard-private/os-shell-iamguarded
4796
tag: 1.0.0
4797
digest: ""
4798
## @param memcachedindexqueries.enabled Deploy memcached sub-chart
4799
##
4800
enabled: false
4801
## @param memcachedindexqueries.architecture Memcached architecture
4802
##
4803
architecture: high-availability
4804
## @param memcachedindexqueries.nameOverride override the subchart name
4805
##
4806
nameOverride: ""
4807
## @param memcachedindexqueries.service.ports.memcached Memcached service port
4808
##
4809
service:
4810
ports:
4811
memcached: 11211
4812
## Memcached resource requests and limits
4813
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4814
## @param memcachedindexqueries.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4815
##
4816
resourcesPreset: "nano"
4817
## @param memcachedindexqueries.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4818
## Example:
4819
## resources:
4820
## requests:
4821
## cpu: 2
4822
## memory: 512Mi
4823
## limits:
4824
## cpu: 3
4825
## memory: 1024Mi
4826
##
4827
resources: {}
4828
## @section External Memcached (IndexWrites) Parameters
4829
##
4830
externalMemcachedIndexWrites:
4831
## @param externalMemcachedIndexWrites.host Host of a running external memcached instance
4832
##
4833
host: ""
4834
## @param externalMemcachedIndexWrites.port Port of a running external memcached instance
4835
##
4836
port: 11211
4837
## @section Memcached Sub-chart Parameters (Index-Writes)
4838
## Memcached sub-chart (Index-Writes)
4839
##
4840
memcachedindexwrites:
4841
image:
4842
registry: cgr.dev
4843
repository: chainguard-private/memcached-exporter-iamguarded
4844
tag: 0.17.0
4845
digest: ""
4846
volumePermissions:
4847
image:
4848
registry: cgr.dev
4849
repository: chainguard-private/os-shell-iamguarded
4850
tag: 1.0.0
4851
digest: ""
4852
## @param memcachedindexwrites.enabled Deploy memcached sub-chart
4853
##
4854
enabled: false
4855
## @param memcachedindexwrites.architecture Memcached architecture
4856
##
4857
architecture: high-availability
4858
## @param memcachedindexwrites.nameOverride override the subchart name
4859
##
4860
nameOverride: ""
4861
## @param memcachedindexwrites.service.ports.memcached Memcached service port
4862
##
4863
service:
4864
ports:
4865
memcached: 11211
4866
## Memcached resource requests and limits
4867
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4868
## @param memcachedindexwrites.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4869
##
4870
resourcesPreset: "nano"
4871
## @param memcachedindexwrites.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4872
## Example:
4873
## resources:
4874
## requests:
4875
## cpu: 2
4876
## memory: 512Mi
4877
## limits:
4878
## cpu: 3
4879
## memory: 1024Mi
4880
##
4881
resources: {}
4882

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.