1# $schema: ./values.schema.json
3# -- Overrides the version used to determine compatibility of resources with the target Kubernetes cluster.
4# This is useful when using `helm template`, because then helm will use the client version of kubectl as the Kubernetes version,
5# which may or may not match your cluster's server version. Example: 'v1.24.4'. Set to null to use the version that helm
9 # @schema type:[string, null]
10 # -- Overrides the Docker registry globally for all images (standard format).
11 # This has the highest precedence and overrides every component-level image.registry value.
14 # @schema type:[string, null]
15 # -- Overrides the Docker registry globally for all images (deprecated, use global.imageRegistry).
16 # This has lower precedence than global.imageRegistry, but higher precedence than component-level image.registry values.
18 # @schema type:[string, null]
19 # -- Overrides the priorityClassName for all pods
20 priorityClassName: null
21 # -- configures cluster domain ("cluster.local" by default)
22 clusterDomain: "cluster.local"
23 # -- configures DNS service name
24 dnsService: "kube-dns"
25 # -- configures DNS service namespace
26 dnsNamespace: "kube-system"
27 # -- Common additional CLI arguments for all jobs (that is, -log.level debug, -config.expand-env=true or -log-config-reverse-order)
28 # (deprecated, use defaults.extraArgs)
29 # scope: backend, bloom-builder, bloom-gateway, bloom-planner, compactor, distributor, index-gateway, ingester, overrides-exporter, pattern-ingester, querier, query-frontend, query-scheduler, read, ruler, write.
31 # -- Common environment variables to add to all pods directly managed by this chart.
32 # (deprecated, use defaults.extraEnv)
33 # scope: backend, bloom-builder, bloom-gateway, bloom-planner, compactor, distributor, index-gateway, ingester, overrides-exporter, pattern-ingester, querier, query-frontend, query-scheduler, read, ruler, write.
35 # -- Common source of environment injections to add to all pods directly managed by this chart.
36 # (deprecated, use defaults.extraEnvFrom)
37 # scope: backend, bloom-builder, bloom-gateway, bloom-planner, compactor, distributor, index-gateway, ingester, overrides-exporter, pattern-ingester, querier, query-frontend, query-scheduler, read, ruler, write.
38 # For example to inject values from a Secret, use:
43 # -- Common volumes to add to all pods directly managed by this chart.
44 # (deprecated, use defaults.extraVolumes)
45 # scope: backend, bloom-builder, bloom-gateway, bloom-planner, compactor, distributor, index-gateway, ingester, overrides-exporter, pattern-ingester, querier, query-frontend, query-scheduler, read, ruler, write.
47 # -- Common mount points to add to all pods directly managed by this chart.
48 # (deprecated, use defaults.extraVolumeMounts)
49 # scope: backend, bloom-builder, bloom-gateway, bloom-planner, compactor, distributor, index-gateway, ingester, overrides-exporter, pattern-ingester, querier, query-frontend, query-scheduler, read, ruler, write.
51# -- Overrides the chart's name
53# -- Overrides the chart's computed fullname
55# -- Overrides the chart's namespace
57# -- Image pull secrets for Docker images
59# -- Deployment mode lets you specify how to deploy Loki.
61# - Monolithic (deprecated: SingleBinary): Loki is deployed as a single binary, useful for small installs typically without HA, up to a few tens of GB/day.
62# - SimpleScalable (deprecated, removed in Loki 4): Loki is deployed as 3 targets: read, write, and backend. Useful for medium installs easier to manage than distributed, up to a about 1TB/day.
63# - Distributed: Loki is deployed as individual microservices. The most complicated but most capable, useful for large installs, typically over 1TB/day.
64# There are also 2 additional modes used for migrating between deployment modes:
65# - Monolithic<->SimpleScalable (deprecated: SingleBinary<->SimpleScalable): Migrate from SingleBinary to SimpleScalable (or vice versa)
66# - SimpleScalable<->Distributed: Migrate from SimpleScalable to Distributed (or vice versa)
67# Note: SimpleScalable and Distributed REQUIRE the use of object storage.
68# Ref: https://grafana.com/docs/loki/latest/get-started/deployment-modes/
69deploymentMode: Monolithic
70# @schema additionalProperties:{"type":"string"}
71# -- Labels to be added to resources
73######################################################################################################################
75# Defaults applied to loki components only. Not applied to loki-canary, memcache, gateway/nginx or other components.
77######################################################################################################################
80 # -- Fraction of the container memory limit used to compute GOMEMLIMIT (e.g. 0.85 = 85%).
81 # Set to 0 to disable automatic GOMEMLIMIT injection.
82 goMemLimitFactor: 0.85
83 # -- Value to set for GOGC alongside GOMEMLIMIT. Lowering below the default of 100 reduces
84 # heap growth between GC cycles, working in tandem with GOMEMLIMIT to smooth memory usage.
85 # Set to 0 to disable automatic GOGC injection.
87 # @schema additionalProperties:true
88 # -- DNSConfig for loki pods
90 # -- hostAliases for loki pods
92 # @schema type:[boolean, null]
96 # -- Use the host's user namespace for loki pods
98 # @schema type:[string, null]
99 # -- The name of the PriorityClass for loki pods
100 priorityClassName: ""
101 # @schema skipProperties:true;additionalProperties:true
102 # -- The SecurityContext for loki pods
103 podSecurityContext: {}
104 # -- Grace period to allow the gateway to shutdown before it is killed
105 terminationGracePeriodSeconds: 30
106 # @schema type:[string, null]
107 # -- Command to execute instead of defined in Docker image
109 # -- Common additional CLI arguments for loki pods
111 # -- Common environment variables to add to all pods directly managed by this chart.
113 # -- Common source of environment injections to add to all pods directly managed by this chart.
114 # For example to inject values from a Secret, use:
119 # -- Common volumes to add to all pods directly managed by this chart.
121 # -- Common mount points to add to all pods directly managed by this chart.
122 extraVolumeMounts: []
123 # @schema skipProperties:true;additionalProperties:true
124 # -- The SecurityContext for Loki containers for loki pods
125 containerSecurityContext: {}
126 # @schema skipProperties:true;additionalProperties:true
127 # -- Configures the liveness probe for loki pods
129 # @schema skipProperties:true;additionalProperties:true
130 # -- Configures the readiness probe for loki pods
132 # @schema skipProperties:true;additionalProperties:true
133 # -- Configures the startup probe for loki pods
135 # @schema additionalProperties:true
136 # -- Node selector for loki pods
138 # -- Tolerations for loki pods
140 # -- Set this toggle to false to opt out of automounting API credentials for the service account
141 automountServiceAccountToken: true
142 # @schema additionalProperties:{"type":"string"}
143 # -- Annotations for loki Deployments/StatefulSets
145 # @schema additionalProperties:{"type":"string"}
146 # -- Additional labels for loki Deployments/StatefulSets
148 # @schema additionalProperties:{"type":"string"}
149 # -- Annotations for loki pods
151 # @schema additionalProperties:{"type":"string"}
152 # -- Additional labels for loki pod
154 # -- Should enableServiceLinks be enabled. Default to enable
155 enableServiceLinks: true
157 # @schema additionalProperties:{"type":"string"}
158 # -- Common annotations for all services
160 # @schema additionalProperties:{"type":"string"}
161 # -- Common labels for all services
163 # -- trafficDistribution for services
164 # Ref: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
165 trafficDistribution: ""
166 # -- ipFamilyPolicy for all services
167 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
169 # -- ipFamilies for all services
170 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
172 # -- KEDA autoscaling shared configuration for all components that support KEDA
174 # -- Prometheus server address for KEDA triggers
175 prometheusAddress: ""
176 # -- Whether to skip SSL verification when connecting to Prometheus
178 # -- Whether to ignore null values from Prometheus queries
179 ignoreNullValues: true
180 # -- Custom HTTP headers to include in Prometheus requests. Useful for multi-tenant setups (e.g. "X-Scope-OrgID=tenant1")
182 # -- Interval (seconds) to poll each trigger. Overridable per component.
184 # -- Period (seconds) to wait after the last trigger reported active before scaling back to 0. Overridable per component.
186 # -- KEDA trigger authentication settings. Ref: https://keda.sh/docs/latest/concepts/authentication/
188 # -- Enable TriggerAuthentication for KEDA triggers
190 # -- Authentication modes for the trigger (e.g. "bearer", "basic")
192 # -- Secret key references for TriggerAuthentication
194 statefulSetRecreateJob:
195 # -- Enable the PVC resize job for statefulsets. This job will be triggered when the storage size is increased and
196 # will recreate the statefulset to allow resizing of PVCs, which is not natively supported by Kubernetes.
200 repository: scratch-images/test-tmp/kubectl
201 # -- Overrides the image tag. Defaults to .Capabilities.KubeVersion.Version
202 tag: 1.36.3-r1@sha256:a56de917c0c555cd0bf7fccdd953ef26b87276392963b9562a483ed67e373901
203######################################################################################################################
205# Base Loki Configs including kubernetes configurations and configurations for Loki itself,
206# see below for more specifics on Loki's configuration.
208######################################################################################################################
209# -- Configuration for running Loki
210# @default -- See values.yaml
212 # @schema skipProperties:true;additionalProperties:true
213 # Configures the liveness probe for all of the Loki pods
216 path: /loki/api/v1/status/buildinfo
222 # @schema skipProperties:true;additionalProperties:true
223 # Configures the readiness probe for all of the Loki pods
229 initialDelaySeconds: 15
233 # @schema skipProperties:true;additionalProperties:true
234 # Configures the startup probe for all of the Loki pods
237 # -- The Docker registry
239 # -- Docker image repository
240 repository: scratch-images/test-tmp/loki
241 # @schema type:[string, null]
242 # -- Overrides the image tag whose default is the chart's appVersion
244 # @schema type:[string, null]
245 # -- Overrides the image tag with an image digest
246 digest: sha256:b0f348bcf6802527e1bae05bfa86c393ef006765e0775ccfa1742cb217dfa511
247 # -- Docker image pull policy
248 pullPolicy: IfNotPresent
249 # @schema additionalProperties:{"type":"string"}
250 # -- Common annotations for all deployments/StatefulSets
252 # @schema additionalProperties:{"type":"string"}
253 # -- Common annotations for all pods
255 # @schema additionalProperties:{"type":"string"}
256 # -- Common labels for all pods
258 # @schema additionalProperties:{"type":"string"}
259 # -- Common annotations for all services
260 serviceAnnotations: {}
261 # @schema additionalProperties:{"type":"string"}
262 # -- Common labels for all services
264 # -- The number of old ReplicaSets to retain to allow rollback
265 revisionHistoryLimit: 10
266 # @schema skipProperties:true;additionalProperties:true
267 # -- The SecurityContext for Loki pods
270 fsGroupChangePolicy: OnRootMismatch
276 # @schema skipProperties:true;additionalProperties:true
277 # -- The SecurityContext for Loki containers
278 containerSecurityContext:
279 readOnlyRootFilesystem: true
283 allowPrivilegeEscalation: false
286 # -- Should enableServiceLinks be enabled. Default to enable
287 enableServiceLinks: true
288 # @schema additionalProperties:true
289 # -- DNS config for Loki pods
291 ######################################################################################################################
295 # There are several ways to pass configuration to Loki, listing them here in order of our preference for how
296 # you should use this chart.
297 # 1. Use the templated value of loki.config below and the corresponding override sections which follow.
298 # This allows us to set a lot of important Loki configurations and defaults and also allows us to maintain them
299 # over time as Loki changes and evolves.
300 # 2. Use the loki.structuredConfig section.
301 # This will completely override the templated value of loki.config, so you MUST provide the entire Loki config
302 # including any configuration that we set in loki.config unless you explicitly are trying to change one of those
303 # values and are not able to do so with the templated sections.
304 # If you choose this approach the burden is on you to maintain any changes we make to the templated config.
305 # 3. Use an existing secret or configmap to provide the configuration.
306 # This option is mostly provided for folks who have external processes which provide or modify the configuration.
307 # When using this option you can specify a different name for loki.generatedConfigObjectName and configObjectName
308 # if you have a process which takes the generated config and modifies it, or you can stop the chart from generating
309 # a config entirely by setting loki.generatedConfigObjectName to
311 ######################################################################################################################
313 # -- Defines what kind of object stores the configuration, a ConfigMap or a Secret.
314 # In order to move sensitive information (such as credentials) from the ConfigMap/Secret to a more secure location (e.g. vault), it is possible to use [environment variables in the configuration](https://grafana.com/docs/loki/latest/configuration/#use-environment-variables-in-the-configuration).
315 # Such environment variables can be then stored in a separate Secret and injected via the global.extraEnvFrom value. For details about environment injection from a Secret please see [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/#use-case-as-container-environment-variables).
316 configStorageType: ConfigMap
317 # -- The name of the object which Loki will mount as a volume containing the config.
318 # If the configStorageType is Secret, this will be the name of the Secret, if it is ConfigMap, this will be the name of the ConfigMap.
319 # The value will be passed through tpl.
320 configObjectName: '{{ include "loki.name" . }}'
321 # -- The name of the Secret or ConfigMap that will be created by this chart.
322 # If empty, no configmap or secret will be created.
323 # The value will be passed through tpl.
324 generatedConfigObjectName: '{{ include "loki.name" . }}'
325 # -- Config file contents for Loki
326 # @default -- See values.yaml
328 auth_enabled: {{ .Values.loki.auth_enabled }}
330 {{- with .Values.loki.server }}
332 {{- toYaml . | nindent 2}}
335 {{- with .Values.loki.pattern_ingester }}
337 {{- tpl (. | toYaml) $ | nindent 4 }}
341 {{- if .Values.loki.memberlistConfig }}
342 {{- toYaml .Values.loki.memberlistConfig | nindent 2 }}
344 {{- if .Values.loki.extraMemberlistConfig}}
345 {{- toYaml .Values.loki.extraMemberlistConfig | nindent 2}}
348 - {{ include "loki.memberlist" . }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}
349 {{- with .Values.migrate.fromDistributed }}
351 - {{ .memberlistService }}
356 {{- with .Values.loki.ingester }}
358 {{- tpl (. | toYaml) $ | nindent 4 }}
361 {{- with .Values.loki.ingester_client }}
363 {{- tpl (. | toYaml) $ | nindent 4 }}
366 {{- with .Values.loki.block_builder }}
368 {{- tpl (. | toYaml) $ | nindent 4 }}
371 {{- if .Values.loki.commonConfig}}
373 {{- toYaml .Values.loki.commonConfig | nindent 2}}
375 {{- include "loki.commonStorageConfig" . | nindent 4}}
378 {{- with .Values.loki.limits_config }}
380 {{- tpl (. | toYaml) $ | nindent 4 }}
384 file: /etc/loki/runtime-config/runtime-config.yaml
386 {{- if .Values.chunksCache.enabled }}
387 {{- with .Values.chunksCache }}
390 default_validity: {{ .defaultValidity }}
392 writeback_goroutines: {{ .writebackParallelism }}
393 writeback_buffer: {{ .writebackBuffer }}
394 writeback_size_limit: {{ .writebackSizeLimit }}
396 batch_size: {{ .batchSize }}
397 parallelism: {{ .parallelism }}
399 addresses: {{ .addresses }}
400 consistent_hash: true
401 timeout: {{ .timeout }}
404 {{- with .Values.chunksCache.l2 }}
406 l2_chunk_cache_handoff: {{ .l2ChunkCacheHandoff }}
407 chunk_cache_config_l2:
408 default_validity: {{ .defaultValidity }}
410 writeback_goroutines: {{ .writebackParallelism }}
411 writeback_buffer: {{ .writebackBuffer }}
412 writeback_size_limit: {{ .writebackSizeLimit }}
414 batch_size: {{ .batchSize }}
415 parallelism: {{ .parallelism }}
417 addresses: {{ .addresses }}
418 consistent_hash: true
419 timeout: {{ .timeout }}
425 {{- if .Values.loki.schemaConfig }}
427 {{- toYaml .Values.loki.schemaConfig | nindent 2}}
430 {{- if .Values.loki.useTestSchema }}
432 {{- toYaml .Values.loki.testSchemaConfig | nindent 2}}
435 {{- if .Values.ruler.enabled }}
436 {{ include "loki.rulerConfig" . }}
439 {{- if and .Values.loki.storage.use_thanos_objstore .Values.ruler.enabled}}
441 {{- include "loki.rulerThanosStorageConfig" . | nindent 2 }}
444 {{- if or .Values.tableManager.retention_deletes_enabled .Values.tableManager.retention_period }}
446 retention_deletes_enabled: {{ .Values.tableManager.retention_deletes_enabled }}
447 retention_period: {{ .Values.tableManager.retention_period }}
451 align_queries_with_step: true
452 {{- with .Values.loki.query_range }}
453 {{- tpl (. | toYaml) $ | nindent 2 }}
455 {{- if .Values.resultsCache.enabled }}
456 {{- with .Values.resultsCache }}
460 default_validity: {{ .defaultValidity }}
462 writeback_goroutines: {{ .writebackParallelism }}
463 writeback_buffer: {{ .writebackBuffer }}
464 writeback_size_limit: {{ .writebackSizeLimit }}
466 addresses: {{ .addresses }}
467 consistent_hash: true
468 timeout: {{ .timeout }}
473 {{- with .Values.loki.storage_config }}
475 {{- if not (hasKey $.Values.loki.storage_config "use_thanos_objstore") }}
476 use_thanos_objstore: {{ $.Values.loki.storage.use_thanos_objstore }}
478 {{- tpl (. | toYaml) $ | nindent 4 }}
481 {{- with .Values.loki.query_scheduler }}
483 {{- tpl (. | toYaml) $ | nindent 4 }}
486 {{- with .Values.loki.compactor }}
488 {{- tpl (. | toYaml) $ | nindent 4 }}
491 {{- with .Values.loki.compactor_grpc_client }}
492 compactor_grpc_client:
493 {{- tpl (. | toYaml) $ | nindent 4 }}
496 {{- with .Values.loki.analytics }}
498 {{- tpl (. | toYaml) $ | nindent 4 }}
501 {{- if .Values.loki.ui.enabled }}
505 {{- with .Values.loki.querier }}
507 {{- tpl (. | toYaml) $ | nindent 4 }}
510 {{- with .Values.loki.index_gateway }}
512 {{- tpl (. | toYaml) $ | nindent 4 }}
515 {{- with .Values.loki.frontend }}
517 {{- tpl (. | toYaml) $ | nindent 4 }}
520 {{- with .Values.loki.frontend_worker }}
522 {{- tpl (. | toYaml) $ | nindent 4 }}
525 {{- with .Values.loki.distributor }}
527 {{- tpl (. | toYaml) $ | nindent 4 }}
531 enabled: {{ .Values.loki.tracing.enabled }}
533 {{- with .Values.loki.bloom_build }}
535 {{- tpl (. | toYaml) $ | nindent 4 }}
538 {{- with .Values.loki.bloom_gateway }}
540 {{- tpl (. | toYaml) $ | nindent 4 }}
543 {{- with .Values.loki.operational_config }}
545 {{- tpl (. | toYaml) $ | nindent 4 }}
547 # Should authentication be enabled
549 # @schema skipProperties:true;additionalProperties:true
550 # -- memberlist configuration (overrides embedded default)
552 # @schema skipProperties:true;additionalProperties:true
553 # -- Extra memberlist configuration
554 extraMemberlistConfig:
555 abort_if_cluster_join_fails: true
562 # -- Tenants list to be created on nginx htpasswd file, with name and password or passwordHash keys<br><br>
566 # - name: "test-user-1"<br>
567 # password: "test-password-1"<br>
568 # - name: "test-user-2"<br>
569 # passwordHash: "$2y$10$7O40CaY1yz7fu9O24k2/u.ct/wELYHRBsn25v/7AyuQ8E8hrLqpva" # generated using `htpasswd -nbBC10 test-user-2 test-password-2`
572 # @schema skipProperties:true;additionalProperties:true
573 # -- Check https://grafana.com/docs/loki/latest/configuration/#server for more info on the server configuration.
575 graceful_shutdown_timeout: 5s
576 grpc_listen_port: 9095
577 grpc_server_min_time_between_pings: '10s'
578 grpc_server_ping_without_stream_allowed: true
579 grpc_server_max_concurrent_streams: 1000
580 grpc_server_max_recv_msg_size: 104857600
581 grpc_server_max_send_msg_size: 104857600
582 http_listen_port: 3100
583 http_server_idle_timeout: 30s
584 http_server_read_timeout: 10m0s
585 http_server_write_timeout: 10m0s
588 # -- trafficDistribution for services
589 # Ref: https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution
590 trafficDistribution: ""
591 # -- ipFamilyPolicy for all services
592 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
594 # -- ipFamilies for all services
595 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
597 # @schema skipProperties:true;additionalProperties:true
600 reject_old_samples: true
601 reject_old_samples_max_age: 168h
602 max_cache_freshness_per_query: 10m
603 split_queries_by_interval: 15m
606 # -- Provides a reloadable runtime configuration file for some specific configuration
608 # @schema skipProperties:true;additionalProperties:true
609 # -- Check https://grafana.com/docs/loki/latest/configuration/#common_config for more info on how to provide a common configuration
611 path_prefix: /var/loki
612 replication_factor: 3
613 # -- The gRPC address of the compactor. The use of compactor_grpc_address is preferred over compactor_address.
614 # If a customized compactor_address is set, compactor_grpc_address should be set to an empty string.
615 compactor_grpc_address: '{{ include "loki.compactorAddress" . }}'
616 # @schema skipProperties:true;additionalProperties:true
617 # -- Storage config. Providing this will automatically populate all necessary storage configs in the templated config.
618 # -- In case of using thanos storage, enable use_thanos_objstore and the configuration should be done inside the object_store section.
620 # Loki requires a bucket for chunks and the ruler.
621 # Please provide these values if you are using object storage.
627 # @schema type:[string, null]
629 # @schema type:[string, null]
631 # @schema type:[string, null]
633 # @schema type:[string, null]
634 secretAccessKey: null
635 # @schema type:[string, null]
637 # @schema type:[string, null]
638 signatureVersion: null
639 s3ForcePathStyle: false
642 # -- Check https://grafana.com/docs/loki/latest/configure/#s3_storage_config for more info on how to provide a backoff_config
644 disable_dualstack: false
650 # @schema type:[string, null]
652 # @schema type:[string, null]
654 # @schema type:[string, null]
655 connectionString: null
656 useManagedIdentity: false
657 useFederatedToken: false
658 # @schema type:[string, null]
660 # @schema type:[string, null]
662 # @schema type:[string, null]
664 # @schema type:[string, null]
667 # @schema type:[string, null]
669 # @schema type:[string, null]
671 # @schema type:[string, null]
673 # @schema type:[string, null]
675 # @schema type:[string, null]
676 user_domain_name: null
677 # @schema type:[string, null]
679 # @schema type:[string, null]
681 # @schema type:[string, null]
683 # @schema type:[string, null]
685 # @schema type:[string, null]
687 # @schema type:[string, null]
689 # @schema type:[string, null]
691 # @schema type:[string, null]
692 project_domain_id: null
693 # @schema type:[string, null]
694 project_domain_name: null
695 # @schema type:[string, null]
697 # @schema type:[string, null]
699 # @schema type:[string, null]
701 # @schema type:[string, null]
702 connect_timeout: null
703 # @schema type:[string, null]
704 request_timeout: null
706 chunks_directory: /var/loki/chunks
707 rules_directory: /var/loki/rules
708 # Loki now supports using thanos storage clients for connecting to object storage backend.
709 # This will become the default way to configure storage in a future releases.
710 use_thanos_objstore: false
711 # @schema skipProperties:true;additionalProperties:true
713 # Type of object store. Valid options are: s3, gcs, azure
715 # @schema type:[string, null]
716 # Optional prefix for storage keys
718 # S3 configuration (when type is "s3")
720 # @schema type:[string, null]
723 # @schema type:[string, null]
726 # @schema type:[string, null]
727 # Optional access key
729 # @schema type:[string, null]
730 # Optional secret key
731 secret_access_key: null
732 # Optional. Enable if using self-signed TLS
734 # Optional server-side encryption configuration
736 # Optional HTTP client configuration
738 # GCS configuration (when type is "gcs")
740 # @schema type:[string, null]
743 # @schema type:[string, null]
744 # Optional service account JSON
745 service_account: null
746 # Azure configuration (when type is "azure")
748 # @schema type:[string, null]
749 # Storage account name
751 # @schema type:[string, null]
752 # Optional storage account key
754 # -- Check https://grafana.com/docs/loki/latest/configuration/#schema_config for more info on how to configure schemas
756 # -- a real Loki install requires a proper schemaConfig defined above this, however for testing or playing around
757 # you can enable useTestSchema
759 # @schema skipProperties:true;additionalProperties:true
764 object_store: '{{ include "loki.testSchemaObjectStore" . }}'
769 # @schema skipProperties:true;additionalProperties:true
770 ## A separate loki ruler storage configuration can be provided via rulerStorage.storage section:
774 # -- Check https://grafana.com/docs/loki/latest/configuration/#ruler for more info on configuring ruler
777 dir: /var/loki/ruler-wal
778 # -- Storage for the ruler. If defining rules in `ruler.directories`, this must be configured to use local storage as shown below.
782 # directory: /etc/loki/rules
783 # @schema skipProperties:true;additionalProperties:true
784 # -- Structured loki configuration, takes precedence over `loki.config`, `loki.schemaConfig`, `loki.storageConfig`
786 # @schema skipProperties:true;additionalProperties:true
787 # -- Additional query scheduler config
789 # @schema skipProperties:true;additionalProperties:true
790 # -- Additional storage config
793 index_gateway_client:
794 server_address: '{{ include "loki.indexGatewayAddress" . }}'
796 index_gateway_client:
797 server_address: '{{ include "loki.indexGatewayAddress" . }}'
799 working_directory: /var/loki/data/bloomshipper
804 # @schema skipProperties:true;additionalProperties:true
805 # -- Optional compactor configuration
807 # @schema skipProperties:true;additionalProperties:true
808 # -- Optional compactor grpc client configuration
809 compactor_grpc_client: {}
810 # @schema skipProperties:true;additionalProperties:true
811 # -- Optional pattern ingester configuration
814 # @schema skipProperties:true;additionalProperties:true
815 # -- Optional analytics configuration
817 # @schema skipProperties:true;additionalProperties:true
818 # -- Optional Loki UI: Provides access to a operators UI for Loki distributed. When enabled UI will be available at /ui/ of loki-gateway
820 # Disabled by default for backwards compatibility. Enable to use the Loki UI.
823 # enable gateway proxying to UI under /ui
825 # @schema skipProperties:true;additionalProperties:true
826 # -- Optional querier configuration
828 # @schema skipProperties:true;additionalProperties:true
829 # -- Optional querier configuration
831 # @schema skipProperties:true;additionalProperties:true
832 # -- Optional ingester configuration
835 flush_on_shutdown: true
836 # @schema skipProperties:true;additionalProperties:true
837 # -- Optional ingester client configuration
839 # @schema skipProperties:true;additionalProperties:true
840 # -- Optional block builder configuration
842 # @schema skipProperties:true;additionalProperties:true
843 # -- Optional index gateway configuration
846 # @schema skipProperties:true;additionalProperties:true
848 scheduler_address: '{{ include "loki.querySchedulerAddress" . }}'
849 tail_proxy_url: '{{ include "loki.querierAddress" . }}'
850 # @schema skipProperties:true;additionalProperties:true
852 scheduler_address: '{{ include "loki.querySchedulerAddress" . }}'
853 # @schema skipProperties:true;additionalProperties:true
854 # -- Optional distributor configuration
856 # @schema skipProperties:true;additionalProperties:true
860 # @schema skipProperties:true;additionalProperties:true
864 planner_address: '{{ include "loki.bloomPlannerAddress" . }}'
865 # @schema skipProperties:true;additionalProperties:true
869 addresses: '{{ include "loki.bloomGatewayAddresses" . }}'
870 # @schema skipProperties:true;additionalProperties:true
871 # -- Optional operational configuration
872 operational_config: {}
873######################################################################################################################
877######################################################################################################################
879# -- Section for configuring optional Helm test
882 # -- Used to directly query the metrics endpoint of the canary for testing, this approach avoids needing prometheus for testing.
883 # This in a newer approach to using prometheusAddress such that tests do not have a dependency on prometheus
884 canaryServiceAddress: 'http://{{ include "loki-canary.fullname" $ }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}:3500/metrics'
885 # -- Address of the prometheus server to query for the test. This overrides any value set for canaryServiceAddress.
886 # This is kept for backward compatibility and may be removed in future releases. Previous value was 'http://prometheus:9090'
887 prometheusAddress: ""
888 # -- Number of times to retry the test before failing
890 # @schema additionalProperties:{"type":"string"}
891 # -- Additional labels for the test pods
893 # @schema additionalProperties:{"type":"string"}
894 # -- Additional annotations for test pods
896 # -- Image to use for loki canary
898 # -- The Docker registry
900 # -- Docker image repository
901 repository: grafana/loki-helm-test
902 # -- Overrides the image tag whose default is the chart's appVersion
904 # @schema type:[string, null]
905 # -- Overrides the image tag with an image digest
907 # -- Docker image pull policy
908 pullPolicy: IfNotPresent
909 # @schema type:[boolean, null]
910 # -- Use the host's user namespace in test pods
912# The Loki canary pushes logs to and queries from this loki installation to test
913# that it's working correctly
916 # -- The type of the loki canary k8s rollout. This can be a DaemonSet or Deployment.
918 # -- If true, the canary will send directly to Loki via the address configured for verification --
919 # -- If false, it will write to stdout and an Agent will be needed to scrape and send the logs --
921 # @schema type:[string, null]
922 # -- If set overwrites the default value set by loki.host helper function. Use this if gateway not enabled.
924 # -- The name of the label to look for at loki when doing the checks.
926 # @schema additionalProperties:{"type":"string"}
927 # -- Additional annotations for the `loki-canary` Daemonset
929 # @schema additionalProperties:{"type":"string"}
930 # -- Additional labels for the `loki-canary` Daemonset
932 # @schema additionalProperties:{"type":"string"}
933 # -- Additional annotations for each `loki-canary` pod
935 # @schema additionalProperties:{"type":"string"}
936 # -- Additional labels for each `loki-canary` pod
938 # -- The number of old ReplicaSets to retain to allow rollback
939 revisionHistoryLimit: 10
941 # @schema additionalProperties:{"type":"string"}
942 # -- Annotations for loki-canary Service
944 # @schema additionalProperties:{"type":"string"}
945 # -- Additional labels for loki-canary Service
947 # -- Additional CLI arguments for the 'loki-canary' command
949 # -- Environment variables to add to the canary pods
951 # -- Environment variables from secrets or configmaps to add to the canary pods
953 # -- Volume mounts to add to the canary pods
954 extraVolumeMounts: []
955 # -- Volumes to add to the canary pods
957 # @schema additionalProperties:true
958 # -- Resource requests and limits for the canary
960 # -- Container resize policy for the canary
963 # - resourceName: cpu
964 # restartPolicy: NotRequired
965 # - resourceName: memory
966 # restartPolicy: RestartContainer
968 # @schema additionalProperties:true
969 # -- DNS config for canary pods
971 # @schema additionalProperties:true
972 # -- Node selector for canary pods
974 # -- Tolerations for canary pods
976 # @schema type:[object, null];skipProperties:true;additionalProperties:true
977 # -- Affinity for canary pods
979 # -- Set this toggle to false to opt out of automounting API credentials for the service account
980 automountServiceAccountToken: false
981 # @schema type:[string, null]
982 # -- The name of the PriorityClass for loki-canary pods
983 priorityClassName: null
984 # @schema type:[boolean, null]
985 # -- Use the host's user namespace in loki-canary pods
988 # -- Enable Pod Disruption Budget
990 # @schema additionalProperties:{"type":"string"}
991 # -- Annotations for Pod Disruption Budget
993 # @schema additionalProperties:{"type":"string"}
994 # -- Labels for Pod Disruption Budget
996 # @schema type:[string, integer, null]
997 # -- Pod Disruption Budget minAvailable
999 # @schema type:[string, integer, null]
1000 # -- Pod Disruption Budget maxUnavailable
1001 maxUnavailable: null
1002 # @schema type:[string, null]
1003 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
1004 unhealthyPodEvictionPolicy: null
1005 # @schema skipProperties:true;additionalProperties:true
1006 # -- The SecurityContext for loki-canary pods
1009 fsGroupChangePolicy: OnRootMismatch
1014 type: RuntimeDefault
1015 # @schema skipProperties:true;additionalProperties:true
1016 # -- The SecurityContext for loki-canary containers
1017 containerSecurityContext:
1018 readOnlyRootFilesystem: true
1022 allowPrivilegeEscalation: false
1024 type: RuntimeDefault
1025 # -- Image to use for loki canary
1027 # -- The Docker registry
1029 # -- Docker image repository
1030 repository: scratch-images/test-tmp/loki-canary
1031 # @schema type:[string, null]
1032 # -- Overrides the image tag whose default is the chart's appVersion
1034 # @schema type:[string, null]
1035 # -- Overrides the image tag with an image digest
1036 digest: sha256:27e67ec4f36f5476857979a765fcfcceba056cd1b7096cde65c0a66aafd8e38e
1037 # -- Docker image pull policy
1038 pullPolicy: IfNotPresent
1039 # @schema skipProperties:true;additionalProperties:true
1045 initialDelaySeconds: 15
1047 # @schema skipProperties:true;additionalProperties:true
1048 # -- Readiness probe
1053 initialDelaySeconds: 15
1055 # @schema skipProperties:true;additionalProperties:true
1058 # @schema skipProperties:true;additionalProperties:true
1059 # -- Update strategy for the `loki-canary` Daemonset pods
1063 # @schema type:[string, integer, null]
1064 # -- Pod Disruption Budget maxUnavailable
1066 # -- Replicas for `loki-canary` when using a Deployment
1068 # -- Tenant to use for loki-canary
1070 # -- Name of the tenant for loki-canary
1071 name: "self-monitoring"
1072 # @schema type:[string, null]
1073 # -- Password of the gateway for Basic auth for loki-canary
1076 # -- Specifies whether a ServiceAccount should be created
1078 # @schema type:[string, null]
1079 # -- The name of the ServiceAccount to use.
1080 # If not set and create is true, a name is generated using the fullname template
1082 # @schema item:object;itemProperties:{"name": {"type": "string"}}
1083 # -- Image pull secrets for the service account
1084 imagePullSecrets: []
1085 # @schema additionalProperties:{"type":"string"}
1086 # -- Annotations for the service account
1088 # @schema additionalProperties:{"type":"string"}
1089 # -- Labels for the service account
1091 # -- Set this toggle to false to opt out of automounting API credentials for the service account
1092 automountServiceAccountToken: false
1093######################################################################################################################
1095# Service Accounts and Kubernetes RBAC
1097######################################################################################################################
1099 # -- Specifies whether a ServiceAccount should be created
1101 # @schema type:[string, null]
1102 # -- The name of the ServiceAccount to use.
1103 # If not set and create is true, a name is generated using the fullname template
1105 # @schema item:object;itemProperties:{"name": {"type": "string"}}
1106 # -- Image pull secrets for the service account
1107 imagePullSecrets: []
1108 # @schema additionalProperties:{"type":"string"}
1109 # -- Annotations for the service account
1111 # @schema additionalProperties:{"type":"string"}
1112 # -- Labels for the service account
1114 # -- Set this toggle to false to opt out of automounting API credentials for the service account
1115 automountServiceAccountToken: true
1118 # -- For OpenShift set sccEnabled to 'true' to use the SecurityContextConstraints.
1120 # -- Toggle this to true to allow the use of hostPath volumes on OpenShift
1121 sccAllowHostDirVolumePlugin: false
1122 # -- Whether to install RBAC in the namespace only or cluster-wide. Useful if you want to watch ConfigMap globally.
1124######################################################################################################################
1126# Network Policy configuration
1128######################################################################################################################
1130 # -- Specifies whether Network Policies should be created
1133 # -- Specifies the Pods which are allowed to access the metrics port.
1134 # As this is cross-namespace communication, you also need the namespaceSelector.
1136 # -- Specifies the namespaces which are allowed to access the metrics port
1137 namespaceSelector: {}
1138 # -- Specifies specific network CIDRs which are allowed to access the metrics port.
1139 # In case you use namespaceSelector, you also have to specify your kubelet networks here.
1140 # The metrics ports are also used for probes.
1143 # -- Specifies the Pods which are allowed to access the http port.
1144 # As this is cross-namespace communication, you also need the namespaceSelector.
1146 # -- Specifies the namespaces which are allowed to access the http port
1147 namespaceSelector: {}
1149 # @schema type:[string, integer]
1150 # -- Specify the Alertmanager port used for alerting
1152 # -- Specifies the Alertmanager Pods.
1153 # As this is cross-namespace communication, you also need the namespaceSelector.
1155 # -- Specifies the namespace the Alertmanager is running in
1156 namespaceSelector: {}
1158 # -- Specify the port used for external storage, e.g. AWS S3
1160 # -- Specifies specific network CIDRs you want to limit access to
1163 # @schema type:[string, integer, null]
1164 # -- (int) Specify the port used for discovery
1166 # -- Specifies the Pods labels used for discovery.
1167 # As this is cross-namespace communication, you also need the namespaceSelector.
1169 # -- Specifies the namespace the discovery Pods are running in
1170 namespaceSelector: {}
1171######################################################################################################################
1173# Global memberlist configuration
1175######################################################################################################################
1177# Configuration for the memberlist service
1180 publishNotReadyAddresses: false
1181 # @schema additionalProperties:{"type":"string"}
1183######################################################################################################################
1185# Gateway and Ingress
1187# By default this chart will deploy a Nginx container to act as a gateway which handles routing of traffic
1188# and can also do auth.
1190# If you would prefer you can optionally disable this and enable using k8s ingress to do the incoming routing.
1192######################################################################################################################
1194# Configuration for the gateway
1196 # -- Specifies whether the gateway should be enabled
1198 # -- Number of replicas for the gateway
1200 # -- Default container port
1202 # -- Enable logging of 2xx and 3xx HTTP requests
1203 verboseLogging: true
1205 # -- Enable autoscaling for the gateway
1207 # -- Minimum autoscaling replicas for the gateway
1209 # -- Maximum autoscaling replicas for the gateway
1211 # @schema type:[integer, null]
1212 # -- Target CPU utilisation percentage for the gateway
1213 targetCPUUtilizationPercentage: 60
1214 # @schema type:[integer, null]
1215 # -- Target memory utilisation percentage for the gateway
1216 targetMemoryUtilizationPercentage: null
1217 # @schema skipProperties:true;additionalProperties:true
1218 # -- See `kubectl explain deployment.spec.strategy` for more
1219 # -- ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1220 # -- Behavior policies while scaling.
1223 # stabilizationWindowSeconds: 300
1229 # stabilizationWindowSeconds: 300
1233 # periodSeconds: 180
1235 # -- Enable KEDA autoscaling for the gateway. Mutually exclusive with autoscaling.enabled
1237 # @schema type:[integer, null]
1238 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
1239 pollingInterval: null
1240 # -- Minimum replicas for KEDA autoscaling
1242 # -- Maximum replicas for KEDA autoscaling
1244 # @schema type:[integer, null]
1245 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
1246 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
1247 cooldownPeriod: null
1248 # @schema additionalProperties:true
1249 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
1250 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
1252 # @schema skipProperties:true;additionalProperties:true
1253 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
1254 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
1256 # -- KEDA triggers for the gateway.
1257 # Ref: https://keda.sh/docs/latest/scalers/
1262 # -- The Docker registry for the gateway image
1264 # -- The gateway image repository
1265 repository: scratch-images/test-tmp/nginx
1266 # -- The gateway image tag
1268 # @schema type:[string, null]
1269 # -- Overrides the gateway image tag with an image digest
1270 digest: sha256:896a51b6b5906e83f67de0171d6c5530378d593d97266eafe9d7049678b6a987
1271 # -- The gateway image pull policy
1272 pullPolicy: IfNotPresent
1273 # @schema type:[string, null]
1274 # -- The name of the PriorityClass for gateway pods
1275 priorityClassName: null
1276 # @schema additionalProperties:{"type":"string"}
1277 # -- Annotations for gateway deployment
1279 # @schema additionalProperties:{"type":"string"}
1280 # -- Annotations for gateway pods
1282 # @schema additionalProperties:{"type":"string"}
1283 # -- Additional labels for gateway pods
1285 # -- Additional CLI args for the gateway
1287 # -- Environment variables to add to the gateway pods
1289 # -- Environment variables from secrets or configmaps to add to the gateway pods
1291 # -- Lifecycle for the gateway container
1293 # -- Volumes to add to the gateway pods
1295 # -- Volume mounts to add to the gateway pods
1296 extraVolumeMounts: []
1297 # @schema skipProperties:true;additionalProperties:true
1298 # -- The SecurityContext for gateway containers
1305 type: RuntimeDefault
1306 # @schema skipProperties:true;additionalProperties:true
1307 # -- The SecurityContext for gateway containers
1308 containerSecurityContext:
1309 readOnlyRootFilesystem: true
1313 type: "RuntimeDefault"
1314 allowPrivilegeEscalation: false
1315 # @schema type:[boolean, null]
1316 # -- Use the host's user namespace in the gateway
1318 # @schema additionalProperties:true
1319 # -- Resource requests and limits for the gateway
1321 # -- Container resize policy for the gateway
1324 # - resourceName: cpu
1325 # restartPolicy: NotRequired
1326 # - resourceName: memory
1327 # restartPolicy: RestartContainer
1329 # @schema type:[array, null]
1330 # -- Containers to add to the gateway pods
1332 # -- Grace period to allow the gateway to shutdown before it is killed
1333 terminationGracePeriodSeconds: 30
1334 podDisruptionBudget:
1335 # -- Enable Pod Disruption Budget
1337 # @schema additionalProperties:{"type":"string"}
1338 # -- Annotations for Pod Disruption Budget
1340 # @schema additionalProperties:{"type":"string"}
1341 # -- Labels for Pod Disruption Budget
1343 # @schema type:[string, integer, null]
1344 # -- Pod Disruption Budget minAvailable
1346 # @schema type:[string, integer, null]
1347 # -- Pod Disruption Budget maxUnavailable
1348 maxUnavailable: null
1349 # @schema type:[string, null]
1350 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
1351 unhealthyPodEvictionPolicy: null
1352 # @schema type:[object, null];skipProperties:true;additionalProperties:true
1353 # -- Affinity for gateway pods.
1354 # @default -- Hard node anti-affinity
1355 # The value will be passed through tpl.
1358 requiredDuringSchedulingIgnoredDuringExecution:
1361 app.kubernetes.io/component: gateway
1362 app.kubernetes.io/name: '{{ include "loki.name" . }}'
1363 app.kubernetes.io/instance: '{{ .Release.Name }}'
1364 topologyKey: kubernetes.io/hostname
1365 # @schema additionalProperties:true
1366 # -- DNS config for gateway pods
1368 # @schema additionalProperties:true
1369 # -- Node selector for gateway pods
1371 # -- Set this toggle to false to opt out of automounting API credentials for the service account
1372 automountServiceAccountToken: false
1373 # @schema item:object
1374 # -- Topology Spread Constraints for gateway pods
1375 # The value will be passed through tpl.
1376 topologySpreadConstraints: []
1378 # Gateway service configuration
1380 # -- Port of the gateway service
1382 # -- Type of the gateway service
1384 # @schema type:[string, null]
1385 # -- ClusterIP of the gateway service
1387 # @schema type:[integer, null]
1388 # -- (int) Node port if service type is NodePort
1390 # @schema type:[string, null]
1391 # -- Load balancer IPO address if service type is LoadBalancer
1392 loadBalancerIP: null
1393 # @schema additionalProperties:{"type":"string"}
1394 # -- Annotations for the gateway service
1396 # @schema additionalProperties:{"type":"string"}
1397 # -- Labels for gateway service
1399 # -- trafficDistribution for gateway Service
1400 trafficDistribution: ""
1401 # -- Session affinity for gateway Service
1403 # @schema additionalProperties:true
1404 # -- Session affinity config for gateway Service
1405 sessionAffinityConfig: {}
1406 # -- ipFamilyPolicy for gateway Service
1407 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
1409 # -- ipFamilies for gateway Service
1410 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
1413 # -- Specifies whether a ServiceAccount should be created
1415 # @schema type:[string, null]
1416 # -- The name of the ServiceAccount to use.
1417 # If not set and create is true, a name is generated using the fullname template
1419 # @schema item:object;itemProperties:{"name": {"type": "string"}}
1420 # -- Image pull secrets for the service account
1421 imagePullSecrets: []
1422 # @schema additionalProperties:{"type":"string"}
1423 # -- Annotations for the service account
1425 # @schema additionalProperties:{"type":"string"}
1426 # -- Labels for the service account
1428 # -- Set this toggle to false to opt out of automounting API credentials for the service account
1429 automountServiceAccountToken: false
1430 # Gateway ingress configuration
1432 # -- Specifies whether an ingress for the gateway should be created
1434 # -- Ingress Class Name. MAY be required for Kubernetes versions >= 1.18
1435 ingressClassName: ""
1436 # @schema additionalProperties:{"type":"string"}
1437 # -- Annotations for the gateway ingress
1439 # @schema additionalProperties:{"type":"string"}
1440 # -- Labels for the gateway ingress
1442 # -- Hosts configuration for the gateway ingress, passed through the `tpl` function to allow templating
1444 - host: gateway.loki.example.com
1447 # -- pathType (e.g. ImplementationSpecific, Prefix, .. etc.) might also be required by some Ingress Controllers
1449 # -- TLS configuration for the gateway ingress. Hosts passed through the `tpl` function to allow templating
1451 - secretName: loki-gateway-tls
1453 - gateway.loki.example.com
1454 # Basic auth configuration
1456 # -- Enables basic authentication for the gateway
1458 # @schema type:[string, null]
1459 # -- The basic auth username for the gateway
1461 # @schema type:[string, null]
1462 # -- The basic auth password for the gateway
1464 # -- Uses the specified users from the `loki.tenants` list to create the htpasswd file.
1465 # if `loki.tenants` is not set, the `gateway.basicAuth.username` and `gateway.basicAuth.password` are used.
1466 # The value is templated using `tpl`. Override this to use a custom htpasswd, e.g. in case the default causes
1468 # @default -- Either `loki.tenants` or `gateway.basicAuth.username` and `gateway.basicAuth.password`.
1470 {{- with $tenants := .Values.loki.tenants }}
1471 {{- range $t := $tenants }}
1472 {{- $username := required "All tenants must have a 'name' set" $t.name }}
1473 {{- if $passwordHash := $t.passwordHash }}
1474 {{- printf "%s:%s\n" $username $passwordHash }}
1475 {{- else if $password := $t.password }}
1476 {{- printf "%s\n" (htpasswd $username $password) }}
1478 {{- fail "All tenants must have a 'password' or 'passwordHash' set" }}
1482 {{- printf "%s\n" (htpasswd (required "'gateway.basicAuth.username' is required" .Values.gateway.basicAuth.username) (required "'gateway.basicAuth.password' is required" .Values.gateway.basicAuth.password)) }}
1484 # @schema type:[string, null]
1485 # -- Existing basic auth secret to use. Must contain '.htpasswd'
1486 existingSecret: null
1487 # -- Gateway API routes configuration. Mutually exclusive with gateway.ingress.
1488 # Use either ingress or route, but not both at once.
1489 # Each entry in the map creates a separate HTTPRoute resource. The key "main" produces
1490 # a route named after the gateway fullname; any other key appends the key as a suffix.
1491 # This allows defining multiple routes, e.g. one HTTPRoute and one GRPCRoute.
1494 # -- Specifies whether this Gateway API route should be created
1496 # -- Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1beta1.
1497 # If not set, the latest available version will be auto-detected.
1499 # -- Set the route kind. Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute
1501 # @schema additionalProperties:{"type":"string"}
1502 # -- Additional annotations for the route
1504 # @schema additionalProperties:{"type":"string"}
1505 # -- Additional labels for the route
1507 # -- Hostnames for the route
1509 # - gateway.loki.example.com
1510 # -- Parent gateway references to attach the route to
1512 # - name: my-gateway
1513 # namespace: gateway-namespace
1514 # -- Additional rules to prepend before the default catch-all rule.
1515 # Each entry is rendered into spec.rules as written (templating is supported),
1516 # so any HTTPRoute/GRPCRoute rule shape is accepted — including filter-only rules
1517 # with no backendRefs (e.g. RequestRedirect, URLRewrite).
1518 # Useful for advanced routing logic (e.g. header-based routing, auth policies, redirects).
1519 # Note: the chart-generated rule that points at the gateway service is always rendered
1520 # for this route — additionalRules are prepended, not a replacement.
1521 # Example HTTP-to-HTTPS redirect:
1524 # - type: RequestRedirect
1529 # - path: { type: PathPrefix, value: / }
1531 # -- Matches for the default rule. Defaults to match all paths.
1536 # -- Filters for the default rule
1538 # -- Timeouts for the default rule
1540 # @schema skipProperties:true;additionalProperties:true
1541 # -- liveness probe for the nginx container in the gateway pods.
1543 # @schema skipProperties:true;additionalProperties:true
1544 # Configures the readiness probe for the gateway
1549 initialDelaySeconds: 15
1551 # @schema skipProperties:true;additionalProperties:true
1552 # -- startup probe for the nginx container in the gateway pods.
1555 # -- Which schema to be used when building URLs. Can be 'http' or 'https'.
1557 # -- Enable listener for IPv6, disable on IPv4-only systems
1559 # -- NGINX log format
1561 main '$remote_addr - $remote_user [$time_local] $status '
1562 '"$request" $body_bytes_sent "$http_referer" '
1563 '"$http_user_agent" "$http_x_forwarded_for"';
1564 # -- Allows appending custom configuration to the server block
1566 # -- Allows appending custom configuration to the http block, passed through the `tpl` function to allow templating
1568 # -- Allows appending custom configuration inside every location block, useful for authentication or setting headers that are not inherited from the server block, passed through the `tpl` function to allow templating.
1570 {{ if .Values.loki.tenants }}proxy_set_header X-Scope-OrgID $remote_user;{{ end }}
1571 # -- Allows customizing the `client_max_body_size` directive
1572 clientMaxBodySize: 4M
1573 # -- Whether ssl should be appended to the listen directive of the server block or not.
1575 # @schema type:[string, null]
1576 # -- Override Read URL
1578 # @schema type:[string, null]
1579 # -- Override Write URL
1580 customWriteUrl: null
1581 # @schema type:[string, null]
1582 # -- Override Backend URL
1583 customBackendUrl: null
1584 # -- Allows overriding the DNS resolver address nginx will use.
1586 # -- Config file contents for Nginx. Passed through the `tpl` function to allow templating
1587 # @default -- See values.yaml
1589 {{- include "loki.nginxFile" . -}}
1591 # -- Whether gateway metrics should be exported
1595 repository: scratch-images/test-tmp/busybox
1596 tag: glibc-1.37.0-r61@sha256:4f399a5baa0b754857bd8ccd5878d7748ded9b25978eb760ea5d2f3e64ef36ab
1597 pullPolicy: IfNotPresent
1598 # @schema additionalProperties:true
1602 # -- Container resize policy for the gateway metrics exporter
1605 # - resourceName: cpu
1606 # restartPolicy: NotRequired
1607 # - resourceName: memory
1608 # restartPolicy: RestartContainer
1610 # @schema skipProperties:true;additionalProperties:true
1611 # -- The SecurityContext for memcached exporter containers
1612 containerSecurityContext:
1613 allowPrivilegeEscalation: false
1614 readOnlyRootFilesystem: true
1618 type: RuntimeDefault
1623 # -- Extra args to add to the exporter container.
1625 # @schema skipProperties:true;additionalProperties:true
1626 # -- Liveness probe for memcached exporter
1631 initialDelaySeconds: 30
1635 # @schema skipProperties:true;additionalProperties:true
1636 # -- Readiness probe for memcached exporter
1641 initialDelaySeconds: 5
1645 # @schema skipProperties:true;additionalProperties:true
1646 # -- Startup probe for memcached exporter
1649 # @schema additionalProperties:{"type":"string"}
1650 # -- Annotations for the gateway metrics exporter service.
1651 # Use this instead of gateway.service.annotations to avoid propagating
1652 # annotations (e.g. external-dns) to the exporter ClusterIP service.
1654 # @schema additionalProperties:{"type":"string"}
1655 # -- Labels for the gateway metrics exporter service.
1657# -- Ingress configuration Use either this ingress or the gateway, but not both at once.
1658# If you enable this, make sure to disable the gateway.
1659# You'll need to supply authn configuration for your ingress controller.
1662 ingressClassName: ""
1663 # @schema additionalProperties:{"type":"string"}
1665 # @schema additionalProperties:{"type":"string"}
1666 # nginx.ingress.kubernetes.io/auth-type: basic
1667 # nginx.ingress.kubernetes.io/auth-secret: loki-distributed-basic-auth
1668 # nginx.ingress.kubernetes.io/auth-secret-type: auth-map
1669 # nginx.ingress.kubernetes.io/configuration-snippet: |
1670 # proxy_set_header X-Scope-OrgID $remote_user;
1672 # blackbox.monitoring.exclude: "true"
1674 # -- Paths that are exposed by Loki Distributor.
1675 # If deployment mode is Distributed, the requests are forwarded to the service:.
1676 # If deployment mode is SimpleScalable, the requests are forwarded to write k8s service:.
1677 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service:
1682 # -- Paths that are exposed by Loki Query Frontend.
1683 # If deployment mode is Distributed, the requests are forwarded to the service.
1684 # If deployment mode is SimpleScalable, the requests are forwarded to write k8s service`.
1685 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service`
1688 # this path covers labels and labelValues endpoints
1692 - /loki/api/v1/query
1693 - /loki/api/v1/query_range
1695 # this path covers labels and labelValues endpoints
1696 - /loki/api/v1/label
1697 - /loki/api/v1/labels
1698 - /loki/api/v1/series
1699 - /loki/api/v1/index/stats
1700 - /loki/api/v1/index/volume
1701 - /loki/api/v1/index/volume_range
1702 - /loki/api/v1/format_query
1703 - /loki/api/v1/detected_field
1704 - /loki/api/v1/detected_fields
1705 - /loki/api/v1/detected_labels
1706 - /loki/api/v1/patterns
1707 # this path covers UI API
1709 # -- Paths that are exposed by Loki Ruler.
1710 # If deployment mode is Distributed, the requests are forwarded to the service.
1711 # If deployment mode is SimpleScalable, the requests are forwarded to k8s service.
1712 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service
1715 - /api/prom/api/v1/rules
1716 - /api/prom/api/v1/alerts
1717 - /loki/api/v1/rules
1718 - /prometheus/api/v1/rules
1719 - /prometheus/api/v1/alerts
1720 # -- Paths that are exposed by Loki Compactor.
1721 # If deployment mode is Distributed, the requests are forwarded to the service.
1722 # If deployment mode is SimpleScalable, the requests are forwarded to k8s service.
1723 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service`
1725 - /loki/api/v1/delete
1726 # -- Hosts configuration for the ingress, passed through the `tpl` function to allow templating
1729 # -- TLS configuration for the ingress. Hosts passed through the `tpl` function to allow templating
1733# secretName: loki-distributed-tls
1735# -- Gateway API routes for direct routing to Loki services, bypassing the nginx gateway.
1736# Use either this or the top-level ingress, but not both at once.
1737# Each entry in the map creates a separate HTTPRoute resource. The key "main" produces
1738# a route named after the loki fullname; any other key appends the key as a suffix.
1739# This allows defining multiple routes, e.g. one HTTPRoute and one GRPCRoute.
1742 # -- Specifies whether this Gateway API route should be created
1744 # -- Gateway API version to use. Auto-detected from cluster capabilities if empty.
1746 # -- Kind of the route resource. Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute
1748 # @schema additionalProperties:{"type":"string"}
1749 # -- Annotations for the route
1751 # @schema additionalProperties:{"type":"string"}
1752 # -- Labels for the route
1754 # -- Hostnames for the route
1756 # -- Parent references for the route (required for Gateway API)
1758 # -- Additional rules to prepend before the generated path-routing rules.
1759 # Each entry is rendered into spec.rules as written (templating is supported),
1760 # so any HTTPRoute/GRPCRoute rule shape is accepted — including filter-only rules
1761 # with no backendRefs (e.g. RequestRedirect, URLRewrite).
1763 # @schema type:[integer, null]
1764 # -- Backend port override for all generated rules.
1765 # When unset, GRPCRoute automatically uses loki.server.grpc_listen_port (default 9095)
1766 # and all other kinds use loki.server.http_listen_port (default 3100).
1768 # -- Paths routed to each Loki service group. The target service depends on the deployment mode.
1769 # To produce a route that contains only `additionalRules` and no chart-generated path rules
1770 # (for example, a dedicated HTTP-to-HTTPS redirect route), set every entry below to an empty
1771 # list — e.g. `distributor: []`, `queryFrontend: []`, `ruler: []`, `compactor: []`.
1773 # -- Paths that are exposed by Loki Distributor.
1774 # If deployment mode is Distributed, the requests are forwarded to the service: `{{"loki.distributorFullname"}}`.
1775 # If deployment mode is SimpleScalable, the requests are forwarded to write k8s service: `{{"loki.writeFullname"}}`.
1776 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service: `{{"loki.fullname"}}`
1781 # -- Paths that are exposed by Loki Query Frontend.
1782 # If deployment mode is Distributed, the requests are forwarded to the service.
1783 # If deployment mode is SimpleScalable, the requests are forwarded to read k8s service.
1784 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service`
1787 # this path covers labels and labelValues endpoints
1791 - /loki/api/v1/query
1792 - /loki/api/v1/query_range
1794 # this path covers labels and labelValues endpoints
1795 - /loki/api/v1/label
1796 - /loki/api/v1/labels
1797 - /loki/api/v1/series
1798 - /loki/api/v1/index/stats
1799 - /loki/api/v1/index/volume
1800 - /loki/api/v1/index/volume_range
1801 - /loki/api/v1/format_query
1802 - /loki/api/v1/detected_field
1803 - /loki/api/v1/detected_fields
1804 - /loki/api/v1/detected_labels
1805 - /loki/api/v1/patterns
1806 # this path covers UI API
1808 # -- Paths that are exposed by Loki Ruler.
1809 # If deployment mode is Distributed, the requests are forwarded to the service.
1810 # If deployment mode is SimpleScalable, the requests are forwarded to k8s service.
1811 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service.
1814 - /api/prom/api/v1/rules
1815 - /api/prom/api/v1/alerts
1816 - /loki/api/v1/rules
1817 - /prometheus/api/v1/rules
1818 - /prometheus/api/v1/alerts
1819 # -- Paths that are exposed by Loki Compactor.
1820 # If deployment mode is Distributed, the requests are forwarded to the service.
1821 # If deployment mode is SimpleScalable, the requests are forwarded to k8s service.
1822 # If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service.
1824 - /loki/api/v1/delete
1825######################################################################################################################
1829######################################################################################################################
1831# -- Options that may be necessary when performing a migration from another helm chart
1833 # -- When migrating from a distributed chart like loki-distributed or enterprise-logs
1835 # -- Set to true if migrating from a distributed helm chart
1837 # -- If migrating from a distributed service, provide the distributed deployment's
1838 # memberlist service DNS so the new deployment can join its ring.
1839 memberlistService: ""
1840######################################################################################################################
1842# Single Binary Deployment
1844# For small Loki installations up to a few 10's of GB per day, or for testing and development.
1846######################################################################################################################
1848# -- Pod Disruption Budget for single binary deployment. Deprecated in favor of `singleBinary.podDisruptionBudget`
1851# Configuration for the single binary node(s)
1853 # -- Enable the single binary component. Requires `loki.deploymentMode` to be set to `SingleBinary`.
1855 # -- Kind of read deployment. StatefulSet and Deployment are supported.
1857 # @schema type:[integer, null]
1858 # -- Number of replicas for the single binary. Set to null to omit spec.replicas from the workload,
1859 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
1861 # -- EXPERIMENTAL: Enable creating a Job to recreate the write StatefulSet when the compactor configuration is changed.
1862 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
1863 statefulSetRecreateJob:
1865 # @schema skipProperties:true;additionalProperties:true
1866 # -- UpdateStrategy or Strategy for single binary.
1870 # -- Whether to enable the rules sidecar
1873 # -- Enable autoscaling
1875 # -- Minimum autoscaling replicas for the single binary
1877 # -- Maximum autoscaling replicas for the single binary
1879 # @schema type:[integer, null]
1880 # -- Target CPU utilisation percentage for the single binary
1881 targetCPUUtilizationPercentage: 60
1882 # @schema type:[integer, null]
1883 # -- Target memory utilisation percentage for the single binary
1884 targetMemoryUtilizationPercentage: null
1885 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
1890 # name: loki_lines_total
1892 # type: AverageValue
1894 # @schema skipProperties:true;additionalProperties:true
1895 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
1897 # -- Enable autoscaling behaviours
1899 # -- define scale down policies, must conform to HPAScalingRules
1901 # -- define scale up policies, must conform to HPAScalingRules
1904 # -- Enable KEDA autoscaling for the single binary. Mutually exclusive with autoscaling.enabled
1906 # @schema type:[integer, null]
1907 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
1908 pollingInterval: null
1909 # -- Minimum replicas for KEDA autoscaling
1911 # -- Maximum replicas for KEDA autoscaling
1913 # @schema type:[integer, null]
1914 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
1915 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
1916 cooldownPeriod: null
1917 # @schema additionalProperties:true
1918 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
1919 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
1921 # @schema skipProperties:true;additionalProperties:true
1922 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
1923 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
1925 # -- KEDA triggers for the single binary.
1926 # Ref: https://keda.sh/docs/latest/scalers/
1929 # @schema type:[string, null]
1930 # -- The Docker registry for the single binary image. Overrides `loki.image.registry`
1932 # @schema type:[string, null]
1933 # -- Docker image repository for the single binary image. Overrides `loki.image.repository`
1935 # @schema type:[string, null]
1936 # -- Docker image tag for the single binary image. Overrides `loki.image.tag`
1938 # @schema type:[string, null]
1939 # -- The name of the PriorityClass for single binary pods
1940 priorityClassName: null
1941 # @schema additionalProperties:{"type":"string"}
1942 # -- Annotations for single binary StatefulSet
1944 # @schema additionalProperties:{"type":"string"}
1945 # -- Additional labels for single binary StatefulSet
1947 # @schema additionalProperties:{"type":"string"}
1948 # -- Annotations for single binary pods
1950 # @schema additionalProperties:{"type":"string"}
1951 # -- Additional labels for each `single binary` pod
1953 # @schema additionalProperties:{"type":"string"}
1954 # -- Additional selector labels for each `single binary` pod
1956 podDisruptionBudget:
1957 # -- Enable Pod Disruption Budget
1959 # @schema additionalProperties:{"type":"string"}
1960 # -- Annotations for Pod Disruption Budget
1962 # @schema additionalProperties:{"type":"string"}
1963 # -- Labels for Pod Disruption Budget
1965 # @schema type:[string, integer, null]
1966 # -- Pod Disruption Budget minAvailable
1968 # @schema type:[string, integer, null]
1969 # -- Pod Disruption Budget maxUnavailable
1970 maxUnavailable: null
1971 # @schema type:[string, null]
1972 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
1973 unhealthyPodEvictionPolicy: null
1975 # @schema additionalProperties:{"type":"string"}
1976 # -- Annotations for single binary Service
1978 # @schema additionalProperties:{"type":"string"}
1979 # -- Additional labels for single binary Service
1981 # -- Service Type for single binary Service
1983 # -- trafficDistribution single binary Service
1984 trafficDistribution: ""
1985 # -- Session affinity for single binary Service
1987 # @schema additionalProperties:true
1988 # -- Session affinity config for single binary Service
1989 sessionAffinityConfig: {}
1990 # -- ipFamilyPolicy for single binary Service
1991 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
1993 # -- ipFamilies for single binary Service
1994 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
1996 # -- Adds the appProtocol field to the single binary service. This allows single binary to work with istio protocol selection.
1998 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
2000 # -- Comma-separated list of Loki modules to load for the single binary
2002 # -- Labels for single binary service
2004 # -- Environment variables to add to the single binary pods
2006 # -- Environment variables from secrets or configmaps to add to the single binary pods
2008 # @schema type:[string, array, null]
2009 # -- Extra containers to add to the single binary loki pod
2011 # @schema type:[string, array, null]
2012 # -- Init containers to add to the single binary pods
2014 # -- Volume mounts to add to the single binary pods
2015 extraVolumeMounts: []
2016 # -- Volumes to add to the single binary pods
2018 # @schema additionalProperties:true
2019 # -- Resource requests and limits for the single binary
2021 # -- Container resize policy for the single binary
2024 # - resourceName: cpu
2025 # restartPolicy: NotRequired
2026 # - resourceName: memory
2027 # restartPolicy: RestartContainer
2029 # -- Grace period to allow the single binary to shutdown before it is killed
2030 terminationGracePeriodSeconds: 30
2031 # @schema type:[boolean, null]
2032 # -- Use the host's user namespace in the single binary pods
2034 # @schema type:[object, null];skipProperties:true;additionalProperties:true
2035 # -- Affinity for single binary pods.
2036 # @default -- Hard node anti-affinity
2037 # The value will be passed through tpl.
2040 requiredDuringSchedulingIgnoredDuringExecution:
2043 app.kubernetes.io/component: single-binary
2044 app.kubernetes.io/name: '{{ include "loki.name" . }}'
2045 app.kubernetes.io/instance: '{{ .Release.Name }}'
2046 topologyKey: kubernetes.io/hostname
2047 # @schema item:object
2048 # -- Topology Spread Constraints for single binary pods
2049 # The value will be passed through tpl.
2050 topologySpreadConstraints: []
2051 # @schema additionalProperties:true
2053 # @schema additionalProperties:true
2054 # -- Node selector for single binary pods
2056 # -- Tolerations for single binary pods
2058 # -- The default is to deploy all pods in parallel.
2059 podManagementPolicy: "Parallel"
2061 # -- What to do with the volume when the StatefulSet is scaled down.
2063 # -- What to do with the volumes when the StatefulSet is deleted.
2065 # -- Enable StatefulSetAutoDeletePVC feature
2066 enableStatefulSetAutoDeletePVC: false
2067 # -- Enable persistent disk
2069 # -- Set access modes on the PersistentVolumeClaim
2072 # -- Size of persistent disk
2074 # @schema type:[string, null]
2075 # -- Storage class to be used.
2076 # If defined, storageClassName: <storageClass>.
2077 # If set to "-", storageClassName: "", which disables dynamic provisioning.
2078 # If empty or set to null, no storageClassName spec is
2079 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
2081 # @schema type:[object, null]
2082 # -- Selector for persistent disk
2084 # @schema additionalProperties:{"type":"string"}
2085 # -- Annotations for volume claim
2087 # @schema additionalProperties:{"type":"string"}
2088 # -- Labels for volume claim
2090 # @schema skipProperties:true;additionalProperties:true
2091 # -- Parameters used for the `storage` volume when persistence.enabled is false.
2092 # Allows replacing the default emptyDir volume with a custom volume definition.
2093 # For example, to use an existing PVC:
2094 # dataVolumeParameters:
2095 # persistentVolumeClaim:
2096 # claimName: my-existing-pvc
2097 dataVolumeParameters: {}
2098######################################################################################################################
2100# Simple Scalable Deployment (SSD) Mode
2102# For small to medium size Loki deployments up to around 1 TB/day, this is the default mode for this helm chart
2104######################################################################################################################
2106# Configuration for the write pod(s)
2108 # -- Enable the component. Requires `loki.deploymentMode` to be set to `SimpleScalable`.
2110 # -- Kind of write workload. StatefulSet and Deployment are supported.
2112 # -- Override for the write fullname. By default, this is generated using the fullname template with "-backend"
2113 fullnameOverride: '{{ include "loki.name" . }}-write'
2114 # -- EXPERIMENTAL: Enable creating a Job to recreate the write StatefulSet when the compactor configuration is changed.
2115 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
2116 statefulSetRecreateJob:
2118 # @schema type:[integer, null]
2119 # -- Number of replicas for the write. Set to null to omit spec.replicas from the workload,
2120 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
2122 # @schema skipProperties:true;additionalProperties:true
2123 # -- UpdateStrategy or Strategy for the write.
2128 # -- Enable autoscaling for the write.
2130 # -- Minimum autoscaling replicas for the write.
2132 # -- Maximum autoscaling replicas for the write.
2134 # @schema type:[integer, null]
2135 # -- Target CPU utilisation percentage for the write.
2136 targetCPUUtilizationPercentage: 60
2137 # @schema type:[integer, null]
2138 # -- Target memory utilization percentage for the write.
2139 targetMemoryUtilizationPercentage: null
2140 # @schema skipProperties:true;additionalProperties:true
2141 # -- Behavior policies while scaling.
2143 # -- see https://github.com/grafana/loki/blob/main/docs/sources/operations/storage/wal.md#how-to-scale-updown for scaledown details
2154 stabilizationWindowSeconds: 3600
2156 # -- Enable KEDA autoscaling for the write. Mutually exclusive with autoscaling.enabled
2158 # @schema type:[integer, null]
2159 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
2160 pollingInterval: null
2161 # -- Minimum replicas for KEDA autoscaling
2163 # -- Maximum replicas for KEDA autoscaling
2165 # @schema type:[integer, null]
2166 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
2167 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
2168 cooldownPeriod: null
2169 # @schema additionalProperties:true
2170 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
2171 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
2173 # @schema skipProperties:true;additionalProperties:true
2174 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
2175 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
2177 # -- KEDA triggers for the write.
2178 # Ref: https://keda.sh/docs/latest/scalers/
2181 # @schema type:[string, null]
2182 # -- The Docker registry for the write image. Overrides `loki.image.registry`
2184 # @schema type:[string, null]
2185 # -- Docker image repository for the write image. Overrides `loki.image.repository`
2187 # @schema type:[string, null]
2188 # -- Docker image tag for the write image. Overrides `loki.image.tag`
2190 # @schema type:[string, null]
2191 # -- The name of the PriorityClass for write pods
2192 priorityClassName: null
2193 # @schema additionalProperties:{"type":"string"}
2194 # -- Annotations for write StatefulSet
2196 # @schema additionalProperties:{"type":"string"}
2197 # -- Additional labels for write StatefulSet
2199 # @schema additionalProperties:{"type":"string"}
2200 # -- Annotations for write pods
2202 # @schema additionalProperties:{"type":"string"}
2203 # -- Additional labels for each `write` pod
2205 # @schema additionalProperties:{"type":"string"}
2206 # -- Additional selector labels for each `write` pod
2209 # @schema additionalProperties:{"type":"string"}
2210 # -- Annotations for write Service
2212 # @schema additionalProperties:{"type":"string"}
2213 # -- Additional labels for write Service
2215 # -- Service Type for write Service
2217 # -- trafficDistribution for write Service
2218 trafficDistribution: ""
2219 # -- Session affinity for write Service
2221 # @schema additionalProperties:true
2222 # -- Session affinity config for write Service
2223 sessionAffinityConfig: {}
2224 # -- ipFamilyPolicy for write Service
2225 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2227 # -- ipFamilies for write Service
2228 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2230 # -- Adds the appProtocol field to the write service. This allows write to work with istio protocol selection.
2232 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
2234 # -- Additional CLI args for the write
2236 # -- Environment variables to add to the write pods
2238 # -- Environment variables from secrets or configmaps to add to the write pods
2240 # -- Lifecycle for the write container
2242 # @schema type:[string, array, null]
2243 # -- Init containers to add to the write pods
2245 # @schema type:[string, array, null]
2246 # -- Containers to add to the write pods
2248 # -- Volume mounts to add to the write pods
2249 extraVolumeMounts: []
2250 # -- Volumes to add to the write pods
2252 # -- volumeClaimTemplates to add to StatefulSet
2253 extraVolumeClaimTemplates: []
2254 # @schema additionalProperties:true
2255 # -- Resource requests and limits for the write
2257 # -- Container resize policy for the write
2260 # - resourceName: cpu
2261 # restartPolicy: NotRequired
2262 # - resourceName: memory
2263 # restartPolicy: RestartContainer
2265 # -- Grace period to allow the write to shutdown before it is killed. Especially for the ingester,
2266 # this must be increased. It must be long enough so writes can be gracefully shutdown flushing/transferring
2267 # all data and to successfully leave the member ring on shutdown.
2268 terminationGracePeriodSeconds: 300
2269 # @schema type:[boolean, null]
2270 # -- Use the host's user namespace in the write pods.
2272 # @schema type:[object, null];skipProperties:true;additionalProperties:true
2273 # -- Affinity for write pods.
2274 # @default -- Hard node anti-affinity
2275 # The value will be passed through tpl.
2278 requiredDuringSchedulingIgnoredDuringExecution:
2281 app.kubernetes.io/component: write
2282 app.kubernetes.io/name: '{{ include "loki.name" . }}'
2283 app.kubernetes.io/instance: '{{ .Release.Name }}'
2284 topologyKey: kubernetes.io/hostname
2285 # @schema additionalProperties:true
2286 # -- DNS config for write pods
2288 # @schema type:[string, integer, null];deprecated:true
2289 # -- Pod Disruption Budget maxUnavailable
2290 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
2292 podDisruptionBudget:
2293 # -- Enable Pod Disruption Budget
2295 # @schema additionalProperties:{"type":"string"}
2296 # -- Annotations for Pod Disruption Budget
2298 # @schema additionalProperties:{"type":"string"}
2299 # -- Labels for Pod Disruption Budget
2301 # @schema type:[string, integer, null]
2302 # -- Pod Disruption Budget minAvailable
2304 # @schema type:[string, integer, null]
2305 # -- Pod Disruption Budget maxUnavailable
2306 maxUnavailable: null
2307 # @schema type:[string, null]
2308 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
2309 unhealthyPodEvictionPolicy: null
2310 # @schema additionalProperties:true
2311 # -- Node selector for write pods
2313 # @schema item:object
2314 # -- Topology Spread Constraints for write pods
2315 # The value will be passed through tpl.
2316 topologySpreadConstraints: []
2318 # -- The default is to deploy all pods in parallel.
2319 podManagementPolicy: "Parallel"
2321 # -- Enable volume claims in pod spec
2322 volumeClaimsEnabled: true
2323 # -- Set access modes on the PersistentVolumeClaim
2326 # @schema skipProperties:true;additionalProperties:true
2327 # -- Parameters used for the `data` volume when volumeClaimEnabled if false
2328 dataVolumeParameters:
2330 # -- Enable StatefulSetAutoDeletePVC feature
2331 enableStatefulSetAutoDeletePVC: false
2332 # -- Size of persistent disk
2334 # @schema type:[string, null]
2335 # -- Storage class to be used.
2336 # If defined, storageClassName: <storageClass>.
2337 # If set to "-", storageClassName: "", which disables dynamic provisioning.
2338 # If empty or set to null, no storageClassName spec is
2339 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
2341 # @schema type:[string, null]
2342 # -- Volume attributes class name to be used.
2343 # If empty or set to null, no volumeAttributesClassName spec is set.
2344 # Requires Kubernetes 1.31
2345 volumeAttributesClassName: null
2346 # @schema type:[object, null]
2347 # -- Selector for persistent disk
2349 # @schema additionalProperties:{"type":"string"}
2350 # -- Annotations for volume claim
2352 # @schema additionalProperties:{"type":"string"}
2353 # -- Labels for volume claim
2356 # -- Specifies whether a ServiceAccount should be created
2358 # @schema type:[string, null]
2359 # -- The name of the ServiceAccount to use.
2360 # If not set and create is true, a name is generated using the fullname template
2362 # @schema item:object;itemProperties:{"name": {"type": "string"}}
2363 # -- Image pull secrets for the service account
2364 imagePullSecrets: []
2365 # @schema additionalProperties:{"type":"string"}
2366 # -- Annotations for the service account
2368 # @schema additionalProperties:{"type":"string"}
2369 # -- Labels for the service account
2371 # -- Set this toggle to false to opt out of automounting API credentials for the service account
2372 automountServiceAccountToken: true
2373# -- Configuration for the read pod(s)
2375 # -- Enable the component. Requires `loki.deploymentMode` to be set to `SimpleScalable`.
2377 # -- Kind of read deployment. StatefulSet and Deployment are supported.
2379 # -- Override for the read fullname. By default, this is generated using the fullname template with "-backend"
2380 fullnameOverride: '{{ include "loki.name" . }}-read'
2381 # @schema type:[integer, null]
2382 # -- Number of replicas for the read. Set to null to omit spec.replicas from the workload,
2383 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
2385 # @schema skipProperties:true;additionalProperties:true
2386 # -- UpdateStrategy or Strategy for the read.
2390 # @schema type:[string, integer, null]
2391 # -- Pod Disruption Budget maxUnavailable
2394 # -- Enable autoscaling for the read, this is only used if `queryIndex.enabled: true`
2396 # -- Minimum autoscaling replicas for the read
2398 # -- Maximum autoscaling replicas for the read
2400 # @schema type:[integer, null]
2401 # -- Target CPU utilisation percentage for the read
2402 targetCPUUtilizationPercentage: 60
2403 # @schema type:[integer, null]
2404 # -- Target memory utilisation percentage for the read
2405 targetMemoryUtilizationPercentage: null
2406 # @schema skipProperties:true;additionalProperties:true
2407 # -- Behavior policies while scaling.
2410 # stabilizationWindowSeconds: 300
2416 # stabilizationWindowSeconds: 300
2420 # periodSeconds: 180
2422 # -- Enable KEDA autoscaling for the read. Mutually exclusive with autoscaling.enabled
2424 # @schema type:[integer, null]
2425 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
2426 pollingInterval: null
2427 # -- Minimum replicas for KEDA autoscaling
2429 # -- Maximum replicas for KEDA autoscaling
2431 # @schema type:[integer, null]
2432 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
2433 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
2434 cooldownPeriod: null
2435 # @schema additionalProperties:true
2436 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
2437 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
2439 # @schema skipProperties:true;additionalProperties:true
2440 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
2441 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
2443 # -- KEDA triggers for the read.
2444 # Ref: https://keda.sh/docs/latest/scalers/
2447 # @schema type:[string, null]
2448 # -- The Docker registry for the read image. Overrides `loki.image.registry`
2450 # @schema type:[string, null]
2451 # -- Docker image repository for the read image. Overrides `loki.image.repository`
2453 # @schema type:[string, null]
2454 # -- Docker image tag for the read image. Overrides `loki.image.tag`
2456 # @schema type:[string, null]
2457 # -- The name of the PriorityClass for read pods
2458 priorityClassName: null
2459 # @schema additionalProperties:{"type":"string"}
2460 # -- Annotations for read deployment
2462 # @schema additionalProperties:{"type":"string"}
2463 # -- Additional labels for read deployment
2465 # @schema additionalProperties:{"type":"string"}
2466 # -- Annotations for read pods
2468 # @schema additionalProperties:{"type":"string"}
2469 # -- Additional labels for each `read` pod
2471 # @schema additionalProperties:{"type":"string"}
2472 # -- Additional selector labels for each `read` pod
2475 # @schema additionalProperties:{"type":"string"}
2476 # -- Annotations for read Service
2478 # @schema additionalProperties:{"type":"string"}
2479 # -- Additional labels for read Service
2481 # -- Service Type for read Service
2483 # -- trafficDistribution for read Service
2484 trafficDistribution: ""
2485 # -- Session affinity for read Service
2487 # @schema additionalProperties:true
2488 # -- Session affinity config for read Service
2489 sessionAffinityConfig: {}
2490 # -- ipFamilyPolicy for read Service
2491 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2493 # -- ipFamilies for read Service
2494 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2496 # -- Adds the appProtocol field to the read service. This allows read to work with istio protocol selection.
2498 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
2500 # -- Additional CLI args for the read
2502 # @schema type:[string, array, null]
2503 # -- init containers to add to the read pods
2505 # @schema type:[string, array, null]
2506 # -- Containers to add to the read pods
2508 # -- Environment variables to add to the read pods
2510 # -- Environment variables from secrets or configmaps to add to the read pods
2512 # -- Lifecycle for the read container
2514 # -- Volume mounts to add to the read pods
2515 extraVolumeMounts: []
2516 # -- Volumes to add to the read pods
2518 # @schema additionalProperties:true
2519 # -- Resource requests and limits for the read
2521 # -- Container resize policy for the read
2524 # - resourceName: cpu
2525 # restartPolicy: NotRequired
2526 # - resourceName: memory
2527 # restartPolicy: RestartContainer
2529 # @schema skipProperties:true;additionalProperties:true
2530 # -- liveness probe settings for read pods. If empty, applies no livenessProbe
2532 # @schema skipProperties:true;additionalProperties:true
2533 # -- startup probe for the read pods. If empty, applies no startupProbe
2535 # -- Grace period to allow the read to shutdown before it is killed
2536 terminationGracePeriodSeconds: 30
2537 # @schema type:[boolean, null]
2538 # -- Use the host's user namespace in the read pods.
2540 # @schema type:[object, null];skipProperties:true;additionalProperties:true
2541 # -- Affinity for read pods.
2542 # @default -- Hard node anti-affinity
2543 # The value will be passed through tpl.
2546 requiredDuringSchedulingIgnoredDuringExecution:
2549 app.kubernetes.io/component: read
2550 app.kubernetes.io/name: '{{ include "loki.name" . }}'
2551 app.kubernetes.io/instance: '{{ .Release.Name }}'
2552 topologyKey: kubernetes.io/hostname
2553 # @schema additionalProperties:true
2554 # -- DNS config for read pods
2556 # @schema type:[string, integer, null];deprecated:true
2557 # -- Pod Disruption Budget maxUnavailable
2558 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
2560 podDisruptionBudget:
2561 # -- Enable Pod Disruption Budget for read pods
2563 # @schema additionalProperties:{"type":"string"}
2564 # -- Annotations for read Pod Disruption Budget
2566 # @schema additionalProperties:{"type":"string"}
2567 # -- Labels for read Pod Disruption Budget
2569 # @schema type:[string, integer, null]
2570 # -- Pod Disruption Budget minAvailable
2572 # @schema type:[string, integer, null]
2573 # -- Pod Disruption Budget maxUnavailable
2574 maxUnavailable: null
2575 # @schema type:[string, null]
2576 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
2577 unhealthyPodEvictionPolicy: null
2578 # @schema additionalProperties:true
2579 # -- Node selector for read pods
2581 # @schema item:object
2582 # -- Topology Spread Constraints for read pods
2583 # The value will be passed through tpl.
2584 topologySpreadConstraints: []
2586 # -- The default is to deploy all pods in parallel.
2588 # -- Specifies whether a ServiceAccount should be created
2590 # @schema type:[string, null]
2591 # -- The name of the ServiceAccount to use.
2592 # If not set and create is true, a name is generated using the fullname template
2594 # @schema item:object;itemProperties:{"name": {"type": "string"}}
2595 # -- Image pull secrets for the service account
2596 imagePullSecrets: []
2597 # @schema additionalProperties:{"type":"string"}
2598 # -- Annotations for the service account
2600 # @schema additionalProperties:{"type":"string"}
2601 # -- Labels for the service account
2603 # -- Set this toggle to false to opt out of automounting API credentials for the service account
2604 automountServiceAccountToken: true
2605# -- Configuration for the backend pod(s)
2607 # -- Enable the component. Requires `loki.deploymentMode` to be set to `SimpleScalable`.
2609 # -- Kind of backend workload. StatefulSet and Deployment are supported.
2611 # -- Override for the backend fullname. By default, this is generated using the fullname template with "-backend"
2612 fullnameOverride: '{{ include "loki.name" . }}-backend'
2613 # -- EXPERIMENTAL: Enable creating a Job to recreate the backend StatefulSet when the compactor configuration is changed.
2614 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
2615 statefulSetRecreateJob:
2617 # @schema type:[integer, null]
2618 # -- Number of replicas for the backend. Set to null to omit spec.replicas from the workload,
2619 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
2621 # @schema skipProperties:true;additionalProperties:true
2622 # -- UpdateStrategy or Strategy for the backend.
2626 # -- Whether to enable the rules sidecar
2628 # -- Set this toggle to false to opt out of automounting API credentials for the service account
2629 automountServiceAccountToken: true
2631 # -- Enable autoscaling for the backend.
2633 # -- Minimum autoscaling replicas for the backend.
2635 # -- Maximum autoscaling replicas for the backend.
2637 # @schema type:[integer, null]
2638 # -- Target CPU utilization percentage for the backend.
2639 targetCPUUtilizationPercentage: 60
2640 # @schema type:[integer, null]
2641 # -- Target memory utilization percentage for the backend.
2642 targetMemoryUtilizationPercentage: null
2643 # @schema skipProperties:true;additionalProperties:true
2644 # -- Behavior policies while scaling.
2647 # stabilizationWindowSeconds: 300
2653 # stabilizationWindowSeconds: 300
2657 # periodSeconds: 180
2659 # -- Enable KEDA autoscaling for the backend. Mutually exclusive with autoscaling.enabled
2661 # @schema type:[integer, null]
2662 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
2663 pollingInterval: null
2664 # -- Minimum replicas for KEDA autoscaling
2666 # -- Maximum replicas for KEDA autoscaling
2668 # @schema type:[integer, null]
2669 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
2670 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
2671 cooldownPeriod: null
2672 # @schema additionalProperties:true
2673 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
2674 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
2676 # @schema skipProperties:true;additionalProperties:true
2677 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
2678 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
2680 # -- KEDA triggers for the backend.
2681 # Ref: https://keda.sh/docs/latest/scalers/
2684 # @schema type:[string, null]
2685 # -- The Docker registry for the backend image. Overrides `loki.image.registry`
2687 # @schema type:[string, null]
2688 # -- Docker image repository for the backend image. Overrides `loki.image.repository`
2690 # @schema type:[string, null]
2691 # -- Docker image tag for the backend image. Overrides `loki.image.tag`
2693 # @schema type:[string, null]
2694 # -- The name of the PriorityClass for backend pods
2695 priorityClassName: null
2696 # @schema additionalProperties:{"type":"string"}
2697 # -- Annotations for backend StatefulSet
2699 # @schema additionalProperties:{"type":"string"}
2700 # -- Additional labels for backend StatefulSet
2702 # @schema additionalProperties:{"type":"string"}
2703 # -- Annotations for backend pods
2705 # @schema additionalProperties:{"type":"string"}
2706 # -- Additional labels for each `backend` pod
2708 # @schema additionalProperties:{"type":"string"}
2709 # -- Additional selector labels for each `backend` pod
2712 # @schema additionalProperties:{"type":"string"}
2713 # -- Annotations for backend Service
2715 # @schema additionalProperties:{"type":"string"}
2716 # -- Additional labels for backend Service
2718 # -- Service type for backend Service
2720 # -- trafficDistribution for backend Service
2721 trafficDistribution: ""
2722 # -- Session affinity for backend Service
2724 # @schema additionalProperties:true
2725 # -- Session affinity config for backend Service
2726 sessionAffinityConfig: {}
2727 # -- ipFamilyPolicy for backend Service
2728 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2730 # -- ipFamilies for backend Service
2731 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
2733 # -- Adds the appProtocol field to the backend service. This allows backend to work with istio protocol selection.
2735 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
2737 # -- Additional CLI args for the backend
2739 # -- Environment variables to add to the backend pods
2741 # -- Environment variables from secrets or configmaps to add to the backend pods
2743 # @schema type:[string, array, null]
2744 # -- Init containers to add to the backend pods
2746 # @schema type:[string, array, null]
2747 # -- Containers to add to the backend pods
2749 # -- Volume mounts to add to the backend pods
2750 extraVolumeMounts: []
2751 # -- Volumes to add to the backend pods
2753 # @schema additionalProperties:true
2754 # -- Resource requests and limits for the backend
2756 # -- Container resize policy for the backend
2759 # - resourceName: cpu
2760 # restartPolicy: NotRequired
2761 # - resourceName: memory
2762 # restartPolicy: RestartContainer
2764 # -- Grace period to allow the backend to shutdown before it is killed. Especially for the ingester,
2765 # this must be increased. It must be long enough so backends can be gracefully shutdown flushing/transferring
2766 # all data and to successfully leave the member ring on shutdown.
2767 terminationGracePeriodSeconds: 300
2768 # @schema type:[boolean, null]
2769 # -- Use the host's user namespace in the backend pods.
2771 # @schema type:[object, null];skipProperties:true;additionalProperties:true
2772 # -- Affinity for backend pods.
2773 # @default -- Hard node anti-affinity
2774 # The value will be passed through tpl.
2777 requiredDuringSchedulingIgnoredDuringExecution:
2780 app.kubernetes.io/component: backend
2781 app.kubernetes.io/name: '{{ include "loki.name" . }}'
2782 app.kubernetes.io/instance: '{{ .Release.Name }}'
2783 topologyKey: kubernetes.io/hostname
2784 # @schema additionalProperties:true
2785 # -- DNS config for backend pods
2787 # @schema type:[string, integer, null];deprecated:true
2788 # -- Pod Disruption Budget maxUnavailable
2789 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
2791 podDisruptionBudget:
2792 # -- Enable Pod Disruption Budget
2794 # @schema additionalProperties:{"type":"string"}
2795 # -- Annotations for Pod Disruption Budget
2797 # @schema additionalProperties:{"type":"string"}
2798 # -- Labels for Pod Disruption Budget
2800 # @schema type:[string, integer, null]
2801 # -- Pod Disruption Budget minAvailable
2803 # @schema type:[string, integer, null]
2804 # -- Pod Disruption Budget maxUnavailable
2805 maxUnavailable: null
2806 # @schema type:[string, null]
2807 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
2808 unhealthyPodEvictionPolicy: null
2809 # @schema additionalProperties:true
2810 # -- Node selector for backend pods
2812 # @schema item:object
2813 # -- Topology Spread Constraints for backend pods
2814 # The value will be passed through tpl.
2815 topologySpreadConstraints: []
2817 # -- The default is to deploy all pods in parallel.
2818 podManagementPolicy: "Parallel"
2820 # -- Enable volume claims in pod spec
2822 # -- Enable volume claims in pod spec. Deprecated in favor of `persistence.enabled`.
2823 volumeClaimsEnabled: true
2824 # -- Set access modes on the PersistentVolumeClaim
2827 # @schema skipProperties:true;additionalProperties:true
2828 # -- Parameters used for the `data` volume when volumeClaimEnabled if false
2829 dataVolumeParameters:
2831 # -- What to do with the volume when the StatefulSet is scaled down.
2833 # -- What to do with the volumes when the StatefulSet is deleted.
2835 # -- Enable StatefulSetAutoDeletePVC feature
2836 enableStatefulSetAutoDeletePVC: true
2837 # -- Size of persistent disk
2839 # @schema type:[string, null]
2840 # -- Storage class to be used.
2841 # If defined, storageClassName: <storageClass>.
2842 # If set to "-", storageClassName: "", which disables dynamic provisioning.
2843 # If empty or set to null, no storageClassName spec is
2844 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
2846 # @schema type:[string, null]
2847 # -- Volume attributes class name to be used.
2848 # If empty or set to null, no volumeAttributesClassName spec is set.
2849 # Requires Kubernetes 1.31
2850 volumeAttributesClassName: null
2851 # @schema type:[object, null]
2852 # -- Selector for persistent disk
2854 # @schema additionalProperties:{"type":"string"}
2855 # -- Annotations for volume claim
2857 # @schema additionalProperties:{"type":"string"}
2858 # -- Labels for volume claim
2861 # -- Specifies whether a ServiceAccount should be created
2863 # @schema type:[string, null]
2864 # -- The name of the ServiceAccount to use.
2865 # If not set and create is true, a name is generated using the fullname template
2867 # @schema item:object;itemProperties:{"name": {"type": "string"}}
2868 # -- Image pull secrets for the service account
2869 imagePullSecrets: []
2870 # @schema additionalProperties:{"type":"string"}
2871 # -- Annotations for the service account
2873 # @schema additionalProperties:{"type":"string"}
2874 # -- Labels for the service account
2876 # -- Set this toggle to false to opt out of automounting API credentials for the service account
2877 automountServiceAccountToken: true
2878######################################################################################################################
2882# For large Loki deployments ingesting more than 1 TB/day
2884######################################################################################################################
2886# -- Configuration for the ingester
2888 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
2890 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
2892 # -- EXPERIMENTAL: Enable creating a Job to recreate the ingester StatefulSet
2893 ## Only applicable if `ingester.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
2894 statefulSetRecreateJob:
2896 # @schema skipProperties:true;additionalProperties:true
2897 # -- UpdateStrategy or Strategy for the ingester.
2900 # -- PodManagementPolicy for the ingester StatefulSet. Only applicable if `compactor.kind` is StatefulSet.
2901 ## OrderedReady and Parallel are supported.
2902 podManagementPolicy: Parallel
2903 # @schema type:[integer, null]
2904 # -- Number of replicas for the ingester, when zoneAwareReplication.enabled is true, the total
2905 # number of replicas will match this value with each zone having 1/3rd of the total replicas.
2906 # Set to null to omit spec.replicas from the StatefulSet, allowing an external controller
2907 # (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
2909 # @schema additionalProperties:true
2910 # -- DNSConfig for ingester pods
2912 # -- hostAliases to add
2914 # @schema type:[boolean, null]
2918 # -- Use the host's user namespace in the ingester
2921 # -- Enable autoscaling for the ingester
2923 # -- Minimum autoscaling replicas for the ingester
2925 # -- Maximum autoscaling replicas for the ingester
2927 # @schema type:[integer, null]
2928 # -- Target CPU utilisation percentage for the ingester
2929 targetCPUUtilizationPercentage: 60
2930 # @schema type:[integer, null]
2931 # -- Target memory utilisation percentage for the ingester
2932 targetMemoryUtilizationPercentage: null
2933 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
2938 # name: loki_lines_total
2940 # type: AverageValue
2942 # @schema skipProperties:true;additionalProperties:true
2943 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
2945 # -- Enable autoscaling behaviours
2947 # -- define scale down policies, must conform to HPAScalingRules
2949 # -- define scale up policies, must conform to HPAScalingRules
2952 # -- Enable KEDA autoscaling for the ingester. Mutually exclusive with autoscaling.enabled
2954 # @schema type:[integer, null]
2955 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
2956 pollingInterval: null
2957 # -- Minimum replicas for KEDA autoscaling
2959 # -- Maximum replicas for KEDA autoscaling
2961 # @schema type:[integer, null]
2962 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
2963 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
2964 cooldownPeriod: null
2965 # @schema additionalProperties:true
2966 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
2967 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
2969 # @schema skipProperties:true;additionalProperties:true
2970 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
2971 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
2973 # -- KEDA triggers for the ingester.
2974 # Ref: https://keda.sh/docs/latest/scalers/
2977 # @schema type:[string, null]
2978 # -- The Docker registry for the ingester image. Overrides `loki.image.registry`
2980 # @schema type:[string, null]
2981 # -- Docker image repository for the ingester image. Overrides `loki.image.repository`
2983 # @schema type:[string, null]
2984 # -- Docker image tag for the ingester image. Overrides `loki.image.tag`
2986 # @schema type:[string, null]
2987 # -- Command to execute instead of defined in Docker image
2989 # @schema additionalProperties:{"type":"string"}
2990 # -- Labels for ingester
2992 # @schema additionalProperties:{"type":"string"}
2993 # -- Annotations for ingester
2995 # @schema additionalProperties:{"type":"string"}
2996 # -- Labels for ingester pods
2998 # @schema additionalProperties:{"type":"string"}
2999 # -- Annotations for ingester pods
3001 # @schema type:[string, null]
3002 # -- The name of the PriorityClass for ingester pods
3003 priorityClassName: null
3004 # @schema additionalProperties:{"type":"string"};deprecated:true
3005 # -- Labels for ingester service
3006 # @deprecated -- This option is deprecated in favor of `ingester.service.labels`
3008 # @schema additionalProperties:{"type":"string"};deprecated:true
3009 # -- Annotations for ingester service
3010 # @deprecated -- This option is deprecated in favor of `ingester.service.annotations`
3011 serviceAnnotations: {}
3012 # @schema type:string;deprecated:true
3013 # -- Service type for ingester service
3014 # @deprecated -- This option is deprecated in favor of `ingester.service.type`
3015 serviceType: "ClusterIP"
3017 # @schema additionalProperties:{"type":"string"}
3018 # -- Annotations for ingester Service
3020 # @schema additionalProperties:{"type":"string"}
3021 # -- Additional labels for ingester Service
3023 # -- Service Type for ingester Service
3025 # -- trafficDistribution for ingester Service
3026 trafficDistribution: ""
3027 # -- Session affinity for ingester Service
3029 # @schema additionalProperties:true
3030 # -- Session affinity config for ingester Service
3031 sessionAffinityConfig: {}
3032 # -- ipFamilyPolicy for ingester Service
3033 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3035 # -- ipFamilies for ingester Service
3036 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3038 # -- Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection.
3040 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3042 # -- Additional CLI args for the ingester
3044 # -- Environment variables to add to the ingester pods
3046 # -- Environment variables from secrets or configmaps to add to the ingester pods
3048 # -- Volume mounts to add to the ingester pods
3049 extraVolumeMounts: []
3050 # -- Volumes to add to the ingester pods
3052 # @schema additionalProperties:true
3053 # -- Resource requests and limits for the ingester
3055 # -- Container resize policy for the ingester
3058 # - resourceName: cpu
3059 # restartPolicy: NotRequired
3060 # - resourceName: memory
3061 # restartPolicy: RestartContainer
3063 # @schema type:[string, array, null]
3064 # -- Containers to add to the ingester pods
3066 # @schema type:[string, array, null]
3067 # -- Init containers to add to the ingester pods
3069 # -- Grace period to allow the ingester to shutdown before it is killed. Especially for the ingestor,
3070 # this must be increased. It must be long enough so ingesters can be gracefully shutdown flushing/transferring
3071 # all data and to successfully leave the member ring on shutdown.
3072 terminationGracePeriodSeconds: 300
3073 # -- Lifecycle for the ingester container
3075 # @schema item:object
3076 # -- topologySpread for ingester pods.
3077 # @default -- Defaults to allow skew no more than 1 node
3078 # The value will be passed through tpl.
3079 topologySpreadConstraints:
3081 topologyKey: kubernetes.io/hostname
3082 whenUnsatisfiable: ScheduleAnyway
3085 app.kubernetes.io/component: ingester
3086 app.kubernetes.io/name: '{{ include "loki.name" . }}'
3087 app.kubernetes.io/instance: '{{ .Release.Name }}'
3088 # @schema type:[object, null];skipProperties:true;additionalProperties:true
3089 # -- Affinity for ingester pods. Ignored if zoneAwareReplication is enabled.
3090 # @default -- Hard node anti-affinity
3091 # The value will be passed through tpl.
3094 requiredDuringSchedulingIgnoredDuringExecution:
3097 app.kubernetes.io/component: ingester
3098 app.kubernetes.io/name: '{{ include "loki.name" . }}'
3099 app.kubernetes.io/instance: '{{ .Release.Name }}'
3100 topologyKey: kubernetes.io/hostname
3101 # @schema type:[string, integer, null];deprecated:true
3102 # -- Pod Disruption Budget maxUnavailable
3103 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
3105 podDisruptionBudget:
3106 # -- Enable Pod Disruption Budget
3108 # @schema additionalProperties:{"type":"string"}
3109 # -- Annotations for Pod Disruption Budget
3111 # @schema additionalProperties:{"type":"string"}
3112 # -- Labels for Pod Disruption Budget
3114 # @schema type:[string, integer, null]
3115 # -- Pod Disruption Budget minAvailable
3117 # @schema type:[string, integer, null]
3118 # -- Pod Disruption Budget maxUnavailable
3119 maxUnavailable: null
3120 # @schema type:[string, null]
3121 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
3122 unhealthyPodEvictionPolicy: null
3123 # @schema additionalProperties:true
3124 # -- Node selector for ingester pods
3126 # -- Tolerations for ingester pods
3128 # @schema skipProperties:true;additionalProperties:true
3129 # -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
3131 # @schema skipProperties:true;additionalProperties:true
3132 # -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
3134 # @schema skipProperties:true;additionalProperties:true
3135 # -- startup probe settings for ingester pods. If empty use `loki.startupProbe`
3137 # @schema skipProperties:true;additionalProperties:true
3138 # -- UpdateStrategy for the ingester StatefulSets.
3140 # -- One of 'OnDelete' or 'RollingUpdate'
3142 # -- Optional for updateStrategy.type=RollingUpdate. See [Partitioned rolling updates](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions) in the StatefulSet docs for details.
3146 # -- Enable creating PVCs which is required when using boltdb-shipper
3148 # -- Use emptyDir with ramdisk for storage. **Please note that all data in ingester will be lost on pod restart**
3150 # -- List of the ingester PVCs
3151 # @notationType -- list
3154 # -- Set access modes on the PersistentVolumeClaim
3158 # @schema type:[string, null]
3159 # -- Storage class to be used.
3160 # If defined, storageClassName: <storageClass>.
3161 # If set to "-", storageClassName: "", which disables dynamic provisioning.
3162 # If empty or set to null, no storageClassName spec is
3163 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
3165 # @schema type:[string, null]
3166 # -- Volume attributes class name to be used.
3167 # If empty or set to null, no volumeAttributesClassName spec is set.
3168 # Requires Kubernetes 1.31
3169 volumeAttributesClassName: null
3172 # -- Enable StatefulSetAutoDeletePVC feature
3173 enableStatefulSetAutoDeletePVC: false
3177 # -- Specifies whether a ServiceAccount should be created
3179 # @schema type:[string, null]
3180 # -- The name of the ServiceAccount to use.
3181 # If not set and create is true, a name is generated using the fullname template
3183 # @schema item:object;itemProperties:{"name": {"type": "string"}}
3184 # -- Image pull secrets for the service account
3185 imagePullSecrets: []
3186 # @schema additionalProperties:{"type":"string"}
3187 # -- Annotations for the service account
3189 # @schema additionalProperties:{"type":"string"}
3190 # -- Labels for the service account
3192 # -- Set this toggle to false to opt out of automounting API credentials for the service account
3193 automountServiceAccountToken: true
3194 # @schema additionalProperties:true;deprecated:true
3195 # -- Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection.
3196 # @deprecated -- This option is deprecated in favor of `ingester.service.appProtocol`
3198 # @schema type:string;deprecated:true
3199 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3200 # @deprecated -- This option is deprecated in favor of `ingester.service.appProtocol.grpc`
3202 # -- trafficDistribution for ingester service
3203 trafficDistribution: ""
3204 # -- Enabling zone awareness on ingesters will create 3 statefulests where all writes will send a replica to each zone.
3205 # This is primarily intended to accelerate rollout operations by allowing for multiple ingesters within a single
3206 # zone to be shutdown and restart simultaneously (the remaining 2 zones will be guaranteed to have at least one copy
3208 # Note: This can be used to run Loki over multiple cloud provider availability zones however this is not currently
3209 # recommended as Loki is not optimized for this and cross zone network traffic costs can become extremely high
3210 # extremely quickly. Even with zone awareness enabled, it is recommended to run Loki in a single availability zone.
3211 zoneAwareReplication:
3212 # -- Enable zone awareness.
3214 # -- The percent of replicas in each zone that will be restarted at once. In a value of 0-100
3215 maxUnavailablePct: 33
3216 # -- zoneA configuration
3218 # @schema type:[object, null]
3219 # @schema additionalProperties:true
3220 # -- optionally define a node selector for this zone
3222 # -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
3223 # The value will be passed through tpl.
3225 # @schema additionalProperties:{"type":"string"}
3226 # -- Specific annotations to add to zone A statefulset
3228 # @schema additionalProperties:{"type":"string"}
3229 # -- Specific annotations to add to zone A pods
3231 # -- Persistence overrides applied only to the zone A StatefulSet.
3233 # @schema type:[string, null]
3234 # -- Storage class to use for every PVC in zone A. Overrides the `storageClass` of each entry in
3235 # `ingester.persistence.claims` for this zone only. Use this when you have one StorageClass per
3236 # availability zone (for example a topology-pinned EBS/PD StorageClass). If null, the
3237 # claim-level `storageClass` is used as before, preserving existing behavior.
3238 # If set to "-", `storageClassName: ""` is rendered, which disables dynamic provisioning.
3241 # @schema type:[object, null]
3242 # @schema additionalProperties:true
3243 # -- optionally define a node selector for this zone
3245 # -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
3246 # The value will be passed through tpl.
3248 # @schema additionalProperties:{"type":"string"}
3249 # -- Specific annotations to add to zone B statefulset
3251 # @schema additionalProperties:{"type":"string"}
3252 # -- Specific annotations to add to zone B pods
3254 # -- Persistence overrides applied only to the zone B StatefulSet.
3256 # @schema type:[string, null]
3257 # -- Storage class to use for every PVC in zone B. See
3258 # `ingester.zoneAwareReplication.zoneA.persistence.storageClass` for details. If null, the
3259 # claim-level `storageClass` is used as before.
3262 # @schema type:[object, null]
3263 # @schema additionalProperties:true
3264 # -- optionally define a node selector for this zone
3266 # -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
3267 # The value will be passed through tpl.
3269 # @schema additionalProperties:{"type":"string"}
3270 # -- Specific annotations to add to zone C statefulset
3272 # @schema additionalProperties:{"type":"string"}
3273 # -- Specific annotations to add to zone C pods
3275 # -- Persistence overrides applied only to the zone C StatefulSet.
3277 # @schema type:[string, null]
3278 # -- Storage class to use for every PVC in zone C. See
3279 # `ingester.zoneAwareReplication.zoneA.persistence.storageClass` for details. If null, the
3280 # claim-level `storageClass` is used as before.
3282 # -- The migration block allows migrating non zone aware ingesters to zone aware ingesters.
3285 excludeDefaultZone: false
3288 # @schema type:[string, null]
3289 # optionally allow adding arbitrary prefix to the ingester rollout-group label
3290 rolloutGroupPrefix: null
3291 # optionally allow adding 'loki-' prefix to ingester name label
3292 addIngesterNamePrefix: false
3293# -- Configuration for the distributor
3295 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
3297 # @schema type:[integer, null]
3298 # -- Number of replicas for the distributor. Set to null to omit spec.replicas from the workload,
3299 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
3301 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
3303 # @schema skipProperties:true;additionalProperties:true
3304 # -- UpdateStrategy or Strategy for the distributor.
3308 # @schema type:[string, integer, null]
3309 # -- Pod Disruption Budget maxUnavailable
3311 # -- hostAliases to add
3313 # @schema type:[boolean, null]
3317 # -- Use the host's user namespace in the distributor
3319 # @schema additionalProperties:true
3320 # -- DNSConfig for distributor pods
3323 # -- Enable autoscaling for the distributor
3325 # -- Minimum autoscaling replicas for the distributor
3327 # -- Maximum autoscaling replicas for the distributor
3329 # @schema type:[integer, null]
3330 # -- Target CPU utilisation percentage for the distributor
3331 targetCPUUtilizationPercentage: 60
3332 # @schema type:[integer, null]
3333 # -- Target memory utilisation percentage for the distributor
3334 targetMemoryUtilizationPercentage: null
3335 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
3340 # name: loki_lines_total
3342 # type: AverageValue
3344 # @schema skipProperties:true;additionalProperties:true
3345 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
3347 # -- Enable autoscaling behaviours
3349 # -- define scale down policies, must conform to HPAScalingRules
3351 # -- define scale up policies, must conform to HPAScalingRules
3354 # -- Enable KEDA autoscaling for the distributor. Mutually exclusive with autoscaling.enabled
3356 # @schema type:[integer, null]
3357 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
3358 pollingInterval: null
3359 # -- Minimum replicas for KEDA autoscaling
3361 # -- Maximum replicas for KEDA autoscaling
3363 # @schema type:[integer, null]
3364 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
3365 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
3366 cooldownPeriod: null
3367 # @schema additionalProperties:true
3368 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
3369 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
3371 # @schema skipProperties:true;additionalProperties:true
3372 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
3373 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
3375 # -- KEDA triggers for the distributor.
3376 # Ref: https://keda.sh/docs/latest/scalers/
3379 # @schema type:[string, null]
3380 # -- The Docker registry for the distributor image. Overrides `loki.image.registry`
3382 # @schema type:[string, null]
3383 # -- Docker image repository for the distributor image. Overrides `loki.image.repository`
3385 # @schema type:[string, null]
3386 # -- Docker image tag for the distributor image. Overrides `loki.image.tag`
3388 # @schema type:[string, null]
3389 # -- Command to execute instead of defined in Docker image
3391 # @schema type:[string, null]
3392 # -- The name of the PriorityClass for distributor pods
3393 priorityClassName: null
3394 # @schema additionalProperties:{"type":"string"}
3395 # -- Labels for distributor
3397 # @schema additionalProperties:{"type":"string"}
3398 # -- Annotations for distributor
3400 # @schema additionalProperties:{"type":"string"}
3401 # -- Labels for distributor pods
3403 # @schema additionalProperties:{"type":"string"}
3404 # -- Annotations for distributor pods
3406 # @schema additionalProperties:{"type":"string"};deprecated:true
3407 # -- Labels for distributor service
3408 # @deprecated -- This option is deprecated in favor of `ingester.service.labels`
3410 # @schema additionalProperties:{"type":"string"};deprecated:true
3411 # -- Annotations for distributor service
3412 # @deprecated -- This option is deprecated in favor of `ingester.service.annotations`
3413 serviceAnnotations: {}
3414 # @schema type:string;deprecated:true
3415 # -- Service type for distributor service
3416 # @deprecated -- This option is deprecated in favor of `ingester.service.type`
3417 serviceType: "ClusterIP"
3419 # @schema additionalProperties:{"type":"string"}
3420 # -- Annotations for distributor Service
3422 # @schema additionalProperties:{"type":"string"}
3423 # -- Additional labels for distributor Service
3425 # -- Service Type for distributor Service
3427 # -- trafficDistribution for distributor Service
3428 trafficDistribution: ""
3429 # -- Session affinity for distributor Service
3431 # @schema additionalProperties:true
3432 # -- Session affinity config for distributor Service
3433 sessionAffinityConfig: {}
3434 # -- ipFamilyPolicy for distributor Service
3435 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3437 # -- ipFamilies for distributor Service
3438 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3440 # -- Adds the appProtocol field to the distributor service. This allows distributor to work with istio protocol selection.
3442 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3444 # -- Additional CLI args for the distributor
3446 # -- Environment variables to add to the distributor pods
3448 # -- Environment variables from secrets or configmaps to add to the distributor pods
3450 # -- Volume mounts to add to the distributor pods
3451 extraVolumeMounts: []
3452 # -- Volumes to add to the distributor pods
3454 # @schema additionalProperties:true
3455 # -- Resource requests and limits for the distributor
3457 # -- Container resize policy for the distributor
3460 # - resourceName: cpu
3461 # restartPolicy: NotRequired
3462 # - resourceName: memory
3463 # restartPolicy: RestartContainer
3465 # @schema type:[string, array, null]
3466 # -- Init containers to add to the distributor pods
3468 # @schema type:[string, array, null]
3469 # -- Containers to add to the distributor pods
3471 # @schema type:[string, null]
3472 # -- On SIGTERM, report 503 on /ready and wait this long before shutdown so the LB drains the pod before connections are cut.
3473 # "0s" (default) disables. When enabling, keep terminationGracePeriodSeconds above shutdownDelay + server.graceful_shutdown_timeout.
3475 # -- Grace period to allow the distributor to shutdown before it is killed
3476 terminationGracePeriodSeconds: 30
3477 podDisruptionBudget:
3478 # -- Enable Pod Disruption Budget
3480 # @schema additionalProperties:{"type":"string"}
3481 # -- Annotations for Pod Disruption Budget
3483 # @schema additionalProperties:{"type":"string"}
3484 # -- Labels for Pod Disruption Budget
3486 # @schema type:[string, integer, null]
3487 # -- Pod Disruption Budget minAvailable
3489 # @schema type:[string, integer, null]
3490 # -- Pod Disruption Budget maxUnavailable
3491 maxUnavailable: null
3492 # @schema type:[string, null]
3493 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
3494 unhealthyPodEvictionPolicy: null
3495 # @schema type:[object, null];skipProperties:true;additionalProperties:true
3496 # -- Affinity for distributor pods.
3497 # @default -- Hard node anti-affinity
3498 # The value will be passed through tpl.
3501 requiredDuringSchedulingIgnoredDuringExecution:
3504 app.kubernetes.io/component: distributor
3505 app.kubernetes.io/name: '{{ include "loki.name" . }}'
3506 app.kubernetes.io/instance: '{{ .Release.Name }}'
3507 topologyKey: kubernetes.io/hostname
3508 # @schema type:[string, integer, null];deprecated:true
3509 # -- Pod Disruption Budget maxUnavailable
3510 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
3511 maxUnavailable: null
3512 # @schema type:[string, integer]
3513 # -- Max Surge for distributor pods
3515 # @schema additionalProperties:true
3516 # -- Node selector for distributor pods
3518 # @schema item:object
3519 # -- Topology Spread Constraints for distributor pods
3520 # The value will be passed through tpl.
3521 topologySpreadConstraints: []
3523 # @schema additionalProperties:true;deprecated:true
3524 # -- Adds the appProtocol field to the distributor service. This allows distributor to work with istio protocol selection.
3525 # @deprecated -- This option is deprecated in favor of `distributor.service.appProtocol`
3527 # @schema type:string;deprecated:true
3528 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3529 # @deprecated -- This option is deprecated in favor of `distributor.service.appProtocol.grpc`
3531 # -- trafficDistribution for distributor service
3532 trafficDistribution: ""
3534 # -- Specifies whether a ServiceAccount should be created
3536 # @schema type:[string, null]
3537 # -- The name of the ServiceAccount to use.
3538 # If not set and create is true, a name is generated using the fullname template
3540 # @schema item:object;itemProperties:{"name": {"type": "string"}}
3541 # -- Image pull secrets for the service account
3542 imagePullSecrets: []
3543 # @schema additionalProperties:{"type":"string"}
3544 # -- Annotations for the service account
3546 # @schema additionalProperties:{"type":"string"}
3547 # -- Labels for the service account
3549 # -- Set this toggle to false to opt out of automounting API credentials for the service account
3550 automountServiceAccountToken: true
3551# -- Configuration for the querier
3553 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
3555 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
3557 # @schema type:[integer, null]
3558 # -- Number of replicas for the querier. Set to null to omit spec.replicas from the workload,
3559 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
3561 # @schema skipProperties:true;additionalProperties:true
3562 # -- Strategy for the querier.
3567 # @schema type:[string, integer, null]
3568 # -- Pod Disruption Budget maxUnavailable
3570 # -- hostAliases to add
3572 # @schema type:[boolean, null]
3576 # -- Use the host's user namespace in the querier
3579 # -- Enable autoscaling for the querier, this is only used if `indexGateway.enabled: true`
3581 # -- Minimum autoscaling replicas for the querier
3583 # -- Maximum autoscaling replicas for the querier
3585 # @schema type:[integer, null]
3586 # -- Target CPU utilisation percentage for the querier
3587 targetCPUUtilizationPercentage: 60
3588 # @schema type:[integer, null]
3589 # -- Target memory utilisation percentage for the querier
3590 targetMemoryUtilizationPercentage: null
3591 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
3596 # name: loki_inflight_queries
3598 # type: AverageValue
3600 # @schema skipProperties:true;additionalProperties:true
3601 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
3603 # -- Enable autoscaling behaviours
3605 # -- define scale down policies, must conform to HPAScalingRules
3607 # -- define scale up policies, must conform to HPAScalingRules
3610 # -- Enable KEDA autoscaling for the querier. Mutually exclusive with autoscaling.enabled
3612 # @schema type:[integer, null]
3613 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
3614 pollingInterval: null
3615 # -- Minimum replicas for KEDA autoscaling
3617 # -- Maximum replicas for KEDA autoscaling
3619 # @schema type:[integer, null]
3620 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
3621 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
3622 cooldownPeriod: null
3623 # @schema additionalProperties:true
3624 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
3625 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
3627 # @schema skipProperties:true;additionalProperties:true
3628 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
3629 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
3631 # -- KEDA triggers for the querier. Defaults to a Prometheus trigger using inflight requests.
3634 name: querier_autoscaling_metric
3636 serverAddress: "{{ .Values.defaults.kedaAutoscaling.prometheusAddress }}"
3637 query: sum(max_over_time(loki_query_scheduler_inflight_requests{quantile="0.75"}[2m]))
3639 unsafeSsl: "{{ .Values.defaults.kedaAutoscaling.unsafeSsl }}"
3640 ignoreNullValues: "{{ .Values.defaults.kedaAutoscaling.ignoreNullValues }}"
3641 customHeaders: "{{ .Values.defaults.kedaAutoscaling.customHeaders }}"
3642 authModes: "{{ .Values.defaults.kedaAutoscaling.authentication.authModes }}"
3644 # @schema type:[string, null]
3645 # -- The Docker registry for the querier image. Overrides `loki.image.registry`
3647 # @schema type:[string, null]
3648 # -- Docker image repository for the querier image. Overrides `loki.image.repository`
3650 # @schema type:[string, null]
3651 # -- Docker image tag for the querier image. Overrides `loki.image.tag`
3653 # @schema type:[string, null]
3654 # -- Command to execute instead of defined in Docker image
3656 # @schema type:[string, null]
3657 # -- The name of the PriorityClass for querier pods
3658 priorityClassName: null
3659 # @schema additionalProperties:{"type":"string"}
3660 # -- Labels for querier
3662 # @schema additionalProperties:{"type":"string"}
3663 # -- Annotations for querier
3665 # @schema additionalProperties:{"type":"string"}
3666 # -- Labels for querier pods
3668 # @schema additionalProperties:{"type":"string"}
3669 # -- Annotations for querier pods
3671 # @schema additionalProperties:{"type":"string"};deprecated:true
3672 # -- Labels for querier service
3673 # @deprecated -- This option is deprecated in favor of `querier.service.labels`
3675 # @schema additionalProperties:{"type":"string"};deprecated:true
3676 # -- Annotations for querier service
3677 # @deprecated -- This option is deprecated in favor of `querier.service.annotations`
3678 serviceAnnotations: {}
3679 # @schema type:string;deprecated:true
3680 # -- Service type for querier service
3681 # @deprecated -- This option is deprecated in favor of `querier.service.type`
3682 serviceType: "ClusterIP"
3684 # @schema additionalProperties:{"type":"string"}
3685 # -- Annotations for querier Service
3687 # @schema additionalProperties:{"type":"string"}
3688 # -- Additional labels for querier Service
3690 # -- Service Type for querier Service
3692 # -- trafficDistribution for querier Service
3693 trafficDistribution: ""
3694 # -- Session affinity for querier Service
3696 # @schema additionalProperties:true
3697 # -- Session affinity config for querier Service
3698 sessionAffinityConfig: {}
3699 # -- ipFamilyPolicy for querier Service
3700 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3702 # -- ipFamilies for querier Service
3703 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3705 # -- Adds the appProtocol field to the querier service. This allows querier to work with istio protocol selection.
3707 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3709 # -- Additional CLI args for the querier
3711 # -- Environment variables to add to the querier pods
3713 # -- Environment variables from secrets or configmaps to add to the querier pods
3715 # -- Volume mounts to add to the querier pods
3716 extraVolumeMounts: []
3717 # -- Volumes to add to the querier pods
3719 # @schema additionalProperties:true
3720 # -- Resource requests and limits for the querier
3722 # -- Container resize policy for the querier
3725 # - resourceName: cpu
3726 # restartPolicy: NotRequired
3727 # - resourceName: memory
3728 # restartPolicy: RestartContainer
3730 # @schema type:[string, array, null]
3731 # -- Containers to add to the querier pods
3733 # @schema type:[string, array, null]
3734 # -- Init containers to add to the querier pods
3736 # -- Grace period to allow the querier to shutdown before it is killed
3737 terminationGracePeriodSeconds: 30
3738 podDisruptionBudget:
3739 # -- Enable Pod Disruption Budget
3741 # @schema additionalProperties:{"type":"string"}
3742 # -- Annotations for Pod Disruption Budget
3744 # @schema additionalProperties:{"type":"string"}
3745 # -- Labels for Pod Disruption Budget
3747 # @schema type:[string, integer, null]
3748 # -- Pod Disruption Budget minAvailable
3750 # @schema type:[string, integer, null]
3751 # -- Pod Disruption Budget maxUnavailable
3752 maxUnavailable: null
3753 # @schema type:[string, null]
3754 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
3755 unhealthyPodEvictionPolicy: null
3756 # @schema item:object
3757 # -- topologySpread for querier pods.
3758 # @default -- Defaults to allow skew no more then 1 node
3759 # The value will be passed through tpl.
3760 topologySpreadConstraints:
3762 topologyKey: kubernetes.io/hostname
3763 whenUnsatisfiable: ScheduleAnyway
3766 app.kubernetes.io/component: querier
3767 app.kubernetes.io/name: '{{ include "loki.name" . }}'
3768 app.kubernetes.io/instance: '{{ .Release.Name }}'
3769 # @schema type:[object, null];skipProperties:true;additionalProperties:true
3770 # -- Affinity for querier pods.
3771 # @default -- Hard node anti-affinity
3772 # The value will be passed through tpl.
3775 requiredDuringSchedulingIgnoredDuringExecution:
3778 app.kubernetes.io/component: querier
3779 app.kubernetes.io/name: '{{ include "loki.name" . }}'
3780 app.kubernetes.io/instance: '{{ .Release.Name }}'
3781 topologyKey: kubernetes.io/hostname
3782 # @schema type:[string, integer, null];deprecated:true
3783 # -- Pod Disruption Budget maxUnavailable
3784 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
3785 maxUnavailable: null
3786 # @schema type:[string, integer]
3787 # -- Max Surge for querier pods
3789 # @schema additionalProperties:true
3790 # -- Node selector for querier pods
3792 # -- Tolerations for querier pods
3794 # @schema additionalProperties:true
3795 # -- DNSConfig for querier pods
3797 # @schema additionalProperties:true;deprecated:true
3798 # -- Adds the appProtocol field to the querier service. This allows querier to work with istio protocol selection.
3799 # @deprecated -- This option is deprecated in favor of `querier.service.appProtocol`
3801 # @schema type:string;deprecated:true
3802 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3803 # @deprecated -- This option is deprecated in favor of `querier.service.appProtocol.grpc`
3805 # -- trafficDistribution for querier service
3806 trafficDistribution: ""
3808 # -- Specifies whether a ServiceAccount should be created
3810 # @schema type:[string, null]
3811 # -- The name of the ServiceAccount to use.
3812 # If not set and create is true, a name is generated using the fullname template
3814 # @schema item:object;itemProperties:{"name": {"type": "string"}}
3815 # -- Image pull secrets for the service account
3816 imagePullSecrets: []
3817 # @schema additionalProperties:{"type":"string"}
3818 # -- Annotations for the service account
3820 # @schema additionalProperties:{"type":"string"}
3821 # -- Labels for the service account
3823 # -- Set this toggle to false to opt out of automounting API credentials for the service account
3824 automountServiceAccountToken: true
3825# -- Configuration for the query-frontend
3827 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
3829 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
3831 # @schema type:[integer, null]
3832 # -- Number of replicas for the query-frontend. Set to null to omit spec.replicas from the workload,
3833 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
3835 # @schema skipProperties:true;additionalProperties:true
3836 # -- Strategy for the querier.
3841 # @schema type:[string, integer, null]
3842 # -- Pod Disruption Budget maxUnavailable
3844 # -- hostAliases to add
3846 # @schema type:[boolean, null]
3850 # -- Use the host's user namespace in the query-frontend
3853 # -- Enable autoscaling for the query-frontend
3855 # -- Minimum autoscaling replicas for the query-frontend
3857 # -- Maximum autoscaling replicas for the query-frontend
3859 # @schema type:[integer, null]
3860 # -- Target CPU utilisation percentage for the query-frontend
3861 targetCPUUtilizationPercentage: 60
3862 # @schema type:[integer, null]
3863 # -- Target memory utilisation percentage for the query-frontend
3864 targetMemoryUtilizationPercentage: null
3865 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
3870 # name: loki_query_rate
3872 # type: AverageValue
3874 # @schema skipProperties:true;additionalProperties:true
3875 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
3877 # -- Enable autoscaling behaviours
3879 # -- define scale down policies, must conform to HPAScalingRules
3881 # -- define scale up policies, must conform to HPAScalingRules
3884 # -- Enable KEDA autoscaling for the query-frontend. Mutually exclusive with autoscaling.enabled
3886 # @schema type:[integer, null]
3887 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
3888 pollingInterval: null
3889 # -- Minimum replicas for KEDA autoscaling
3891 # -- Maximum replicas for KEDA autoscaling
3893 # @schema type:[integer, null]
3894 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
3895 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
3896 cooldownPeriod: null
3897 # @schema additionalProperties:true
3898 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
3899 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
3901 # @schema skipProperties:true;additionalProperties:true
3902 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
3903 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
3905 # -- KEDA triggers for the query-frontend.
3906 # Ref: https://keda.sh/docs/latest/scalers/
3909 # @schema type:[string, null]
3910 # -- The Docker registry for the query-frontend image. Overrides `loki.image.registry`
3912 # @schema type:[string, null]
3913 # -- Docker image repository for the query-frontend image. Overrides `loki.image.repository`
3915 # @schema type:[string, null]
3916 # -- Docker image tag for the query-frontend image. Overrides `loki.image.tag`
3918 # @schema type:[string, null]
3919 # -- Command to execute instead of defined in Docker image
3921 # @schema type:[string, null]
3922 # -- The name of the PriorityClass for query-frontend pods
3923 priorityClassName: null
3924 # @schema additionalProperties:{"type":"string"}
3925 # -- Labels for query-frontend
3927 # @schema additionalProperties:{"type":"string"}
3928 # -- Annotations for query-frontend
3930 # @schema additionalProperties:{"type":"string"}
3931 # -- Labels for query-frontend pods
3933 # @schema additionalProperties:{"type":"string"}
3934 # -- Annotations for query-frontend pods
3936 # @schema additionalProperties:{"type":"string"};deprecated:true
3937 # -- Labels for query-frontend service
3938 # @deprecated -- This option is deprecated in favor of `queryFrontend.service.labels`
3940 # @schema additionalProperties:{"type":"string"};deprecated:true
3941 # -- Annotations for query-frontend service
3942 # @deprecated -- This option is deprecated in favor of `queryFrontend.service.annotations`
3943 serviceAnnotations: {}
3944 # @schema type:string;deprecated:true
3945 # -- Service type for query-frontend service
3946 # @deprecated -- This option is deprecated in favor of `queryFrontend.service.type`
3947 serviceType: "ClusterIP"
3949 # @schema additionalProperties:{"type":"string"}
3950 # -- Annotations for query-frontend Service
3952 # @schema additionalProperties:{"type":"string"}
3953 # -- Additional labels for query-frontend Service
3955 # -- Service Type for query-frontend Service
3957 # -- trafficDistribution for query-frontend Service
3958 trafficDistribution: ""
3959 # -- Session affinity for query-frontend Service
3961 # @schema additionalProperties:true
3962 # -- Session affinity config for query-frontend Service
3963 sessionAffinityConfig: {}
3964 # -- ipFamilyPolicy for query-frontend Service
3965 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3967 # -- ipFamilies for query-frontend Service
3968 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
3970 # -- Adds the appProtocol field to the query-frontend service. This allows query-frontend to work with istio protocol selection.
3972 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
3974 # -- Additional CLI args for the query-frontend
3976 # -- Environment variables to add to the query-frontend pods
3978 # -- Environment variables from secrets or configmaps to add to the query-frontend pods
3980 # -- Volume mounts to add to the query-frontend pods
3981 extraVolumeMounts: []
3982 # -- Volumes to add to the query-frontend pods
3984 # @schema additionalProperties:true
3985 # -- Resource requests and limits for the query-frontend
3987 # -- Container resize policy for the query-frontend
3990 # - resourceName: cpu
3991 # restartPolicy: NotRequired
3992 # - resourceName: memory
3993 # restartPolicy: RestartContainer
3995 # @schema type:[string, array, null]
3996 # -- init containers to add to the query-frontend pods
3998 # @schema type:[string, array, null]
3999 # -- Containers to add to the query-frontend pods
4001 # -- Grace period to allow the query-frontend to shutdown before it is killed
4002 terminationGracePeriodSeconds: 30
4003 podDisruptionBudget:
4004 # -- Enable Pod Disruption Budget
4006 # @schema additionalProperties:{"type":"string"}
4007 # -- Annotations for Pod Disruption Budget
4009 # @schema additionalProperties:{"type":"string"}
4010 # -- Labels for Pod Disruption Budget
4012 # @schema type:[string, integer, null]
4013 # -- Pod Disruption Budget minAvailable
4015 # @schema type:[string, integer, null]
4016 # -- Pod Disruption Budget maxUnavailable
4017 maxUnavailable: null
4018 # @schema type:[string, null]
4019 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
4020 unhealthyPodEvictionPolicy: null
4021 # @schema type:[object, null];skipProperties:true;additionalProperties:true
4022 # -- Affinity for query-frontend pods.
4023 # @default -- Hard node anti-affinity
4024 # The value will be passed through tpl.
4027 requiredDuringSchedulingIgnoredDuringExecution:
4030 app.kubernetes.io/component: query-frontend
4031 app.kubernetes.io/name: '{{ include "loki.name" . }}'
4032 app.kubernetes.io/instance: '{{ .Release.Name }}'
4033 topologyKey: kubernetes.io/hostname
4034 # @schema type:[string, integer, null];deprecated:true
4035 # -- Pod Disruption Budget maxUnavailable
4036 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
4037 maxUnavailable: null
4038 # @schema additionalProperties:true
4039 # -- Node selector for query-frontend pods
4041 # @schema item:object
4042 # -- Topology Spread Constraints for query-frontend pods
4043 # The value will be passed through tpl.
4044 topologySpreadConstraints: []
4046 # @schema additionalProperties:true;deprecated:true
4047 # -- Adds the appProtocol field to the queryFrontend service. This allows queryFrontend to work with istio protocol selection.
4048 # @deprecated -- This option is deprecated in favor of `queryFrontend.service.appProtocol`
4050 # @schema type:string;deprecated:true
4051 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4052 # @deprecated -- This option is deprecated in favor of `queryFrontend.service.appProtocol.grpc`
4054 # -- Enable load balancer port for query-frontend
4057 # -- trafficDistribution for query-frontend service
4058 trafficDistribution: ""
4060 # -- Specifies whether a ServiceAccount should be created
4062 # @schema type:[string, null]
4063 # -- The name of the ServiceAccount to use.
4064 # If not set and create is true, a name is generated using the fullname template
4066 # @schema item:object;itemProperties:{"name": {"type": "string"}}
4067 # -- Image pull secrets for the service account
4068 imagePullSecrets: []
4069 # @schema additionalProperties:{"type":"string"}
4070 # -- Annotations for the service account
4072 # @schema additionalProperties:{"type":"string"}
4073 # -- Labels for the service account
4075 # -- Set this toggle to false to opt out of automounting API credentials for the service account
4076 automountServiceAccountToken: true
4077# -- Configuration for the query-scheduler
4079 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
4081 # -- Kind of query-scheduler deployment. StatefulSet and Deployment are supported.
4083 # @schema type:[integer, null]
4084 # -- Number of replicas for the query-scheduler.
4085 # It should be lower than `-querier.max-concurrent` to avoid generating back-pressure in queriers;
4086 # it's also recommended that this value evenly divides the latter
4087 # Set to null to omit spec.replicas from the workload, allowing an external controller
4088 # (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
4090 # @schema skipProperties:true;additionalProperties:true
4091 # -- Strategy for the query-scheduler.
4096 # @schema type:[string, integer, null]
4097 # -- Pod Disruption Budget maxUnavailable
4099 # @schema additionalProperties:true
4100 # -- DNSConfig for query-scheduler
4102 # -- hostAliases to add
4104 # @schema type:[boolean, null]
4108 # -- Use the host's user namespace in the query-scheduler
4111 # @schema type:[string, null]
4112 # -- The Docker registry for the query-scheduler image. Overrides `loki.image.registry`
4114 # @schema type:[string, null]
4115 # -- Docker image repository for the query-scheduler image. Overrides `loki.image.repository`
4117 # @schema type:[string, null]
4118 # -- Docker image tag for the query-scheduler image. Overrides `loki.image.tag`
4120 # @schema type:[string, null]
4121 # -- The name of the PriorityClass for query-scheduler pods
4122 priorityClassName: null
4123 # @schema additionalProperties:{"type":"string"}
4124 # -- Labels for query-scheduler
4126 # @schema additionalProperties:{"type":"string"}
4127 # -- Annotations for query-scheduler
4129 # @schema additionalProperties:{"type":"string"}
4130 # -- Labels for query-scheduler pods
4132 # @schema additionalProperties:{"type":"string"}
4133 # -- Annotations for query-scheduler pods
4135 # @schema additionalProperties:{"type":"string"};deprecated:true
4136 # -- Labels for query-scheduler service
4137 # @deprecated -- This option is deprecated in favor of `queryScheduler.service.labels`
4139 # @schema additionalProperties:{"type":"string"};deprecated:true
4140 # -- Annotations for query-scheduler service
4141 # @deprecated -- This option is deprecated in favor of `queryScheduler.service.annotations`
4142 serviceAnnotations: {}
4143 # @schema type:string;deprecated:true
4144 # -- Service type for query-scheduler service
4145 # @deprecated -- This option is deprecated in favor of `queryScheduler.service.type`
4146 serviceType: "ClusterIP"
4148 # @schema additionalProperties:{"type":"string"}
4149 # -- Annotations for query-scheduler Service
4151 # @schema additionalProperties:{"type":"string"}
4152 # -- Additional labels for query-scheduler Service
4154 # -- Service Type for query-scheduler Service
4156 # -- trafficDistribution for query-scheduler Service
4157 trafficDistribution: ""
4158 # -- Session affinity for query-scheduler Service
4160 # @schema additionalProperties:true
4161 # -- Session affinity config for query-scheduler Service
4162 sessionAffinityConfig: {}
4163 # -- ipFamilyPolicy for query-scheduler Service
4164 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4166 # -- ipFamilies for query-scheduler Service
4167 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4169 # -- Adds the appProtocol field to the query-scheduler service. This allows query-scheduler to work with istio protocol selection.
4171 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4173 # -- Additional CLI args for the query-scheduler
4175 # -- Environment variables to add to the query-scheduler pods
4177 # -- Environment variables from secrets or configmaps to add to the query-scheduler pods
4179 # -- Volume mounts to add to the query-scheduler pods
4180 extraVolumeMounts: []
4181 # -- Volumes to add to the query-scheduler pods
4183 # @schema additionalProperties:true
4184 # -- Resource requests and limits for the query-scheduler
4186 # -- Container resize policy for the query-scheduler
4189 # - resourceName: cpu
4190 # restartPolicy: NotRequired
4191 # - resourceName: memory
4192 # restartPolicy: RestartContainer
4194 # @schema type:[string, array, null]
4195 # -- init containers to add to the query-scheduler pods
4197 # @schema type:[string, array, null]
4198 # -- Containers to add to the query-scheduler pods
4200 # -- Grace period to allow the query-scheduler to shutdown before it is killed
4201 terminationGracePeriodSeconds: 30
4202 # @schema type:[object, null];skipProperties:true;additionalProperties:true
4203 # -- Affinity for query-scheduler pods.
4204 # @default -- Hard node anti-affinity
4205 # The value will be passed through tpl.
4208 requiredDuringSchedulingIgnoredDuringExecution:
4211 app.kubernetes.io/component: query-scheduler
4212 app.kubernetes.io/name: '{{ include "loki.name" . }}'
4213 app.kubernetes.io/instance: '{{ .Release.Name }}'
4214 topologyKey: kubernetes.io/hostname
4215 # @schema type:[string, integer, null];deprecated:true
4216 # -- Pod Disruption Budget maxUnavailable
4217 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
4219 podDisruptionBudget:
4220 # -- Enable Pod Disruption Budget
4222 # @schema additionalProperties:{"type":"string"}
4223 # -- Annotations for Pod Disruption Budget
4225 # @schema additionalProperties:{"type":"string"}
4226 # -- Labels for Pod Disruption Budget
4228 # @schema type:[string, integer, null]
4229 # -- Pod Disruption Budget minAvailable
4231 # @schema type:[string, integer, null]
4232 # -- Pod Disruption Budget maxUnavailable
4233 maxUnavailable: null
4234 # @schema type:[string, null]
4235 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
4236 unhealthyPodEvictionPolicy: null
4237 # @schema additionalProperties:true
4238 # -- Node selector for query-scheduler pods
4240 # @schema item:object
4241 # -- Topology Spread Constraints for query-scheduler pods
4242 # The value will be passed through tpl.
4243 topologySpreadConstraints: []
4245 # @schema additionalProperties:true;deprecated:true
4246 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4247 # @deprecated -- This option is deprecated in favor of `queryScheduler.service.appProtocol`
4250 # -- trafficDistribution for query-scheduler service
4251 trafficDistribution: ""
4253 # -- Specifies whether a ServiceAccount should be created
4255 # @schema type:[string, null]
4256 # -- The name of the ServiceAccount to use.
4257 # If not set and create is true, a name is generated using the fullname template
4259 # @schema item:object;itemProperties:{"name": {"type": "string"}}
4260 # -- Image pull secrets for the service account
4261 imagePullSecrets: []
4262 # @schema additionalProperties:{"type":"string"}
4263 # -- Annotations for the service account
4265 # @schema additionalProperties:{"type":"string"}
4266 # -- Labels for the service account
4268 # -- Set this toggle to false to opt out of automounting API credentials for the service account
4269 automountServiceAccountToken: true
4270# -- Configuration for the index-gateway
4272 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
4274 # -- Kind of index-gateway deployment. StatefulSet and Deployment are supported.
4276 # -- EXPERIMENTAL: Enable creating a Job to recreate the compactor StatefulSet when the compactor configuration is changed.
4277 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
4278 statefulSetRecreateJob:
4280 # @schema type:[integer, null]
4281 # -- Number of replicas for the index-gateway. Set to null to omit spec.replicas from the workload,
4282 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
4284 # -- Whether the index gateway should join the memberlist hashring
4285 joinMemberlist: true
4286 # @schema additionalProperties:true
4287 # -- DNSConfig for index-gateway pods
4289 # -- hostAliases to add
4291 # @schema type:[boolean, null]
4295 # -- Use the host's user namespace in the index-gateway
4298 # @schema type:[string, null]
4299 # -- The Docker registry for the index-gateway image. Overrides `loki.image.registry`
4301 # @schema type:[string, null]
4302 # -- Docker image repository for the index-gateway image. Overrides `loki.image.repository`
4304 # @schema type:[string, null]
4305 # -- Docker image tag for the index-gateway image. Overrides `loki.image.tag`
4307 # @schema type:[string, null]
4308 # -- The name of the PriorityClass for index-gateway pods
4309 priorityClassName: null
4310 # @schema additionalProperties:{"type":"string"}
4311 # -- Labels for index-gateway
4313 # @schema additionalProperties:{"type":"string"}
4314 # -- Annotations for index-gateway
4316 # @schema additionalProperties:{"type":"string"}
4317 # -- Labels for index-gateway pods
4319 # @schema additionalProperties:{"type":"string"}
4320 # -- Annotations for index-gateway pods
4322 # @schema additionalProperties:{"type":"string"};deprecated:true
4323 # -- Labels for index-gateway service
4324 # @deprecated -- This option is deprecated in favor of `indexGateway.service.labels`
4326 # @schema additionalProperties:{"type":"string"};deprecated:true
4327 # -- Annotations for index-gateway service
4328 # @deprecated -- This option is deprecated in favor of `indexGateway.service.annotations`
4329 serviceAnnotations: {}
4330 # @schema type:string;deprecated:true
4331 # -- Service type for index-gateway service
4332 # @deprecated -- This option is deprecated in favor of `indexGateway.service.type`
4333 serviceType: "ClusterIP"
4335 # @schema additionalProperties:{"type":"string"}
4336 # -- Annotations for index-gateway Service
4338 # @schema additionalProperties:{"type":"string"}
4339 # -- Additional labels for index-gateway Service
4341 # -- Service Type for index-gateway Service
4343 # -- trafficDistribution for index-gateway Service
4344 trafficDistribution: ""
4345 # -- Session affinity for index-gateway Service
4347 # @schema additionalProperties:true
4348 # -- Session affinity config for index-gateway Service
4349 sessionAffinityConfig: {}
4350 # -- ipFamilyPolicy for index-gateway Service
4351 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4353 # -- ipFamilies for index-gateway Service
4354 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4356 # -- Adds the appProtocol field to the index-gateway service. This allows index-gateway to work with istio protocol selection.
4358 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4360 # -- Additional CLI args for the index-gateway
4362 # -- Environment variables to add to the index-gateway pods
4364 # -- Environment variables from secrets or configmaps to add to the index-gateway pods
4366 # -- Volume mounts to add to the index-gateway pods
4367 extraVolumeMounts: []
4368 # -- Volumes to add to the index-gateway pods
4370 # @schema additionalProperties:true
4371 # -- Resource requests and limits for the index-gateway
4373 # -- Container resize policy for the index-gateway
4376 # - resourceName: cpu
4377 # restartPolicy: NotRequired
4378 # - resourceName: memory
4379 # restartPolicy: RestartContainer
4381 # @schema type:[string, array, null]
4382 # -- Containers to add to the index-gateway pods
4384 # @schema type:[string, array, null]
4385 # -- Init containers to add to the index-gateway pods
4387 # -- Grace period to allow the index-gateway to shutdown before it is killed.
4388 terminationGracePeriodSeconds: 300
4389 podDisruptionBudget:
4390 # -- Enable Pod Disruption Budget
4392 # @schema additionalProperties:{"type":"string"}
4393 # -- Annotations for Pod Disruption Budget
4395 # @schema additionalProperties:{"type":"string"}
4396 # -- Labels for Pod Disruption Budget
4398 # @schema type:[string, integer, null]
4399 # -- Pod Disruption Budget minAvailable
4401 # @schema type:[string, integer, null]
4402 # -- Pod Disruption Budget maxUnavailable
4403 maxUnavailable: null
4404 # @schema type:[string, null]
4405 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
4406 unhealthyPodEvictionPolicy: null
4407 # -- Lifecycle for the index-gateway container
4409 # @schema type:[object, null];skipProperties:true;additionalProperties:true
4410 # -- Affinity for index-gateway pods.
4411 # @default -- Hard node anti-affinity
4412 # The value will be passed through tpl.
4415 requiredDuringSchedulingIgnoredDuringExecution:
4418 app.kubernetes.io/component: index-gateway
4419 app.kubernetes.io/name: '{{ include "loki.name" . }}'
4420 app.kubernetes.io/instance: '{{ .Release.Name }}'
4421 topologyKey: kubernetes.io/hostname
4422 # @schema type:[string, integer, null];deprecated:true
4423 # -- Pod Disruption Budget maxUnavailable
4424 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
4425 maxUnavailable: null
4426 # @schema additionalProperties:true
4427 # -- Node selector for index-gateway pods
4429 # @schema item:object
4430 # -- Topology Spread Constraints for index-gateway pods
4431 # The value will be passed through tpl.
4432 topologySpreadConstraints: []
4435 # -- Enable creating PVCs which is required when using boltdb-shipper
4437 # -- Set access modes on the PersistentVolumeClaim
4440 # @schema skipProperties:true;additionalProperties:true
4441 # -- Parameters used for the `data` volume when volumeClaimEnabled if false
4442 dataVolumeParameters:
4444 # -- Size of persistent disk
4446 # @schema type:[string, null]
4447 # -- Storage class to be used.
4448 # If defined, storageClassName: <storageClass>.
4449 # If set to "-", storageClassName: "", which disables dynamic provisioning.
4450 # If empty or set to null, no storageClassName spec is
4451 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
4453 # @schema type:[string, null]
4454 # -- Volume attributes class name to be used.
4455 # If empty or set to null, no volumeAttributesClassName spec is set.
4456 # Requires Kubernetes 1.31
4457 volumeAttributesClassName: null
4458 # @schema additionalProperties:{"type":"string"}
4459 # -- Annotations for index gateway PVCs
4461 # @schema additionalProperties:{"type":"string"}
4462 # -- Labels for index gateway PVCs
4464 # -- Enable StatefulSetAutoDeletePVC feature
4465 enableStatefulSetAutoDeletePVC: false
4468 # @schema additionalProperties:true;deprecated:true
4469 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4470 # @deprecated -- This option is deprecated in favor of `indexGateway.service.appProtocol`
4473 # -- trafficDistribution for index-gateway service
4474 trafficDistribution: ""
4475 # @schema skipProperties:true;additionalProperties:true
4476 # -- UpdateStrategy for the index-gateway workload.
4478 # -- One of 'OnDelete' or 'RollingUpdate'
4480 # -- Optional for updateStrategy.type=RollingUpdate. See [Partitioned rolling updates](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions) in the StatefulSet docs for details.
4484 # -- Specifies whether a ServiceAccount should be created
4486 # @schema type:[string, null]
4487 # -- The name of the ServiceAccount to use.
4488 # If not set and create is true, a name is generated using the fullname template
4490 # @schema item:object;itemProperties:{"name": {"type": "string"}}
4491 # -- Image pull secrets for the service account
4492 imagePullSecrets: []
4493 # @schema additionalProperties:{"type":"string"}
4494 # -- Annotations for the service account
4496 # @schema additionalProperties:{"type":"string"}
4497 # -- Labels for the service account
4499 # -- Set this toggle to false to opt out of automounting API credentials for the service account
4500 automountServiceAccountToken: true
4501# -- Configuration for the compactor
4503 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
4505 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
4507 # -- EXPERIMENTAL: Enable creating a Job to recreate the compactor StatefulSet when the compactor configuration is changed.
4508 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
4509 statefulSetRecreateJob:
4511 # @schema type:[integer, null]
4512 # -- Number of replicas for the compactor. Set to null to omit spec.replicas from the workload,
4513 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
4515 # @schema skipProperties:true;additionalProperties:true
4516 # -- UpdateStrategy or Strategy for the compactor.
4520 # -- PodManagementPolicy for the compactor StatefulSet. Only applicable if `compactor.kind` is StatefulSet.
4521 ## OrderedReady and Parallel are supported.
4522 podManagementPolicy: Parallel
4523 # -- hostAliases to add
4525 # @schema type:[boolean, null]
4529 # -- Use the host's user namespace in the compactor
4531 # @schema additionalProperties:true
4532 # -- DNSConfig for compactor pods
4535 # @schema type:[string, null]
4536 # -- The Docker registry for the compactor image. Overrides `loki.image.registry`
4538 # @schema type:[string, null]
4539 # -- Docker image repository for the compactor image. Overrides `loki.image.repository`
4541 # @schema type:[string, null]
4542 # -- Docker image tag for the compactor image. Overrides `loki.image.tag`
4544 # @schema type:[string, null]
4545 # -- Command to execute instead of defined in Docker image
4547 # @schema type:[string, null]
4548 # -- The name of the PriorityClass for compactor pods
4549 priorityClassName: null
4550 # @schema additionalProperties:{"type":"string"}
4551 # -- Labels for compactor
4553 # @schema additionalProperties:{"type":"string"}
4554 # -- Annotations for compactor
4556 # @schema additionalProperties:{"type":"string"}
4557 # -- Labels for compactor pods
4559 # @schema additionalProperties:{"type":"string"}
4560 # -- Annotations for compactor pods
4562 # @schema type:[object, null];skipProperties:true;additionalProperties:true
4563 # -- Affinity for compactor pods.
4564 # @default -- Hard node anti-affinity
4565 # The value will be passed through tpl.
4568 requiredDuringSchedulingIgnoredDuringExecution:
4571 app.kubernetes.io/component: compactor
4572 app.kubernetes.io/name: '{{ include "loki.name" . }}'
4573 app.kubernetes.io/instance: '{{ .Release.Name }}'
4574 topologyKey: kubernetes.io/hostname
4575 # @schema additionalProperties:{"type":"string"};deprecated:true
4576 # -- Labels for compactor service
4577 # @deprecated -- This option is deprecated in favor of `compactor.service.labels`
4579 # @schema additionalProperties:{"type":"string"};deprecated:true
4580 # -- Annotations for compactor service
4581 # @deprecated -- This option is deprecated in favor of `compactor.service.annotations`
4582 serviceAnnotations: {}
4583 # @schema type:string;deprecated:true
4584 # -- Service type for compactor service
4585 # @deprecated -- This option is deprecated in favor of `compactor.service.type`
4586 serviceType: "ClusterIP"
4588 # @schema additionalProperties:{"type":"string"}
4589 # -- Annotations for compactor Service
4591 # @schema additionalProperties:{"type":"string"}
4592 # -- Additional labels for compactor Service
4594 # -- Service Type for compactor Service
4596 # -- trafficDistribution for compactor Service
4597 trafficDistribution: ""
4598 # -- Session affinity for compactor Service
4600 # @schema additionalProperties:true
4601 # -- Session affinity config for compactor Service
4602 sessionAffinityConfig: {}
4603 # -- ipFamilyPolicy for compactor Service
4604 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4606 # -- ipFamilies for compactor Service
4607 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4609 # -- Adds the appProtocol field to the compactor service. This allows compactor to work with istio protocol selection.
4611 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4613 # -- Additional CLI args for the compactor
4615 # -- Environment variables to add to the compactor pods
4617 # -- Environment variables from secrets or configmaps to add to the compactor pods
4619 # -- Volume mounts to add to the compactor pods
4620 extraVolumeMounts: []
4621 # -- Volumes to add to the compactor pods
4623 # @schema skipProperties:true;additionalProperties:true
4624 # -- readiness probe settings for compactor pods. If empty, use `loki.readinessProbe`
4626 # @schema skipProperties:true;additionalProperties:true
4627 # -- liveness probe settings for compactor pods. If empty use `loki.livenessProbe`
4629 # @schema skipProperties:true;additionalProperties:true
4630 # -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
4632 # @schema additionalProperties:true
4633 # -- Resource requests and limits for the compactor
4635 # -- Container resize policy for the compactor
4638 # - resourceName: cpu
4639 # restartPolicy: NotRequired
4640 # - resourceName: memory
4641 # restartPolicy: RestartContainer
4643 # @schema type:[string, array, null]
4644 # -- Containers to add to the compactor pods
4646 # @schema type:[string, array, null]
4647 # -- Init containers to add to the compactor pods
4649 # -- Grace period to allow the compactor to shutdown before it is killed
4650 terminationGracePeriodSeconds: 30
4651 # @schema additionalProperties:true
4652 # -- Node selector for compactor pods
4654 # -- Tolerations for compactor pods
4656 # @schema additionalProperties:true;deprecated:true
4657 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4658 # @deprecated -- This option is deprecated in favor of `compactor.service.appProtocol`
4662 # -- Enable creating PVCs for the compactor
4664 # -- Storage type for the compactor. pvc and ephemeral are supported.
4666 # @schema type:[string, null]
4667 # -- Storage class to be used.
4668 # If defined, storageClassName: <storageClass>.
4669 # If set to "-", storageClassName: "", which disables dynamic provisioning.
4670 # If empty or set to null, no storageClassName spec is
4671 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
4673 # -- Set access modes on the PersistentVolumeClaim
4676 # -- Size of persistent disk
4678 # @schema type:[string, null]
4679 # -- Size of persistent disk
4680 # -- Volume attributes class name to be used.
4681 # If empty or set to null, no volumeAttributesClassName spec is set.
4682 # Requires Kubernetes 1.31
4683 volumeAttributesClassName: null
4684 # @schema additionalProperties:{"type":"string"}
4685 # -- Annotations for the generated volumeClaimTemplate.
4687 # @schema additionalProperties:{"type":"string"}
4688 # -- Labels for the generated volumeClaimTemplate.
4690 # @schema type:[object, null]
4691 # -- Selector for the generated volumeClaimTemplate.
4693 # @schema skipProperties:true;additionalProperties:true
4694 # -- Parameters used for the `data` volume when volumeClaimEnabled if false
4695 dataVolumeParameters:
4697 # -- List of the compactor PVCs. Deprecated in favor of `compactor.persistence.dataVolumeParameters` and `compactor.persistence.size`.
4698 # @notationType -- list
4701 # -- Set access modes on the PersistentVolumeClaim
4705 # @schema type:[string, null]
4706 # -- Storage class to be used.
4707 # If defined, storageClassName: <storageClass>.
4708 # If set to "-", storageClassName: "", which disables dynamic provisioning.
4709 # If empty or set to null, no storageClassName spec is
4710 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
4712 # @schema type:[string, null]
4713 # -- Volume attributes class name to be used.
4714 # If empty or set to null, no volumeAttributesClassName spec is set.
4715 # Requires Kubernetes 1.31
4716 volumeAttributesClassName: null
4717 # @schema additionalProperties:{"type":"string"}
4718 # -- Annotations for compactor PVCs
4720 # @schema additionalProperties:{"type":"string"}
4721 # -- Labels for compactor PVCs
4725 # -- Enable StatefulSetAutoDeletePVC feature
4726 enableStatefulSetAutoDeletePVC: false
4731 # @schema type:[string, null]
4732 # -- The name of the ServiceAccount to use for the compactor.
4733 # If not set and create is true, a name is generated by appending
4734 # "-compactor" to the common ServiceAccount.
4736 # @schema item:object;itemProperties:{"name": {"type": "string"}}
4737 # -- Image pull secrets for the compactor service account
4738 imagePullSecrets: []
4739 # @schema additionalProperties:{"type":"string"}
4740 # -- Annotations for the compactor service account
4742 # -- Set this toggle to false to opt out of automounting API credentials for the service account
4743 automountServiceAccountToken: true
4744# -- Configuration for the bloom-gateway
4746 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
4748 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
4750 # -- Enable creating a Job to recreate the StatefulSet when the StatefulSet configuration is changed.
4751 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
4752 statefulSetRecreateJob:
4754 # -- Number of replicas for the bloom-gateway
4756 # -- hostAliases to add
4758 # @schema type:[boolean, null]
4762 # -- Use the host's user namespace in the bloom-gateway
4764 # @schema skipProperties:true;additionalProperties:true
4765 # -- UpdateStrategy or Strategy for the pattern ingester.
4769 # @schema additionalProperties:true
4770 # -- DNSConfig for bloom-gateway pods
4773 # @schema type:[string, null]
4774 # -- The Docker registry for the bloom-gateway image. Overrides `loki.image.registry`
4776 # @schema type:[string, null]
4777 # -- Docker image repository for the bloom-gateway image. Overrides `loki.image.repository`
4779 # @schema type:[string, null]
4780 # -- Docker image tag for the bloom-gateway image. Overrides `loki.image.tag`
4782 # @schema type:[string, null]
4783 # -- Command to execute instead of defined in Docker image
4785 # @schema type:[string, null]
4786 # -- The name of the PriorityClass for bloom-gateway pods
4787 priorityClassName: null
4788 # @schema additionalProperties:{"type":"string"}
4789 # -- Labels for bloom-builder
4791 # @schema additionalProperties:{"type":"string"}
4792 # -- Annotations for bloom-builder
4794 # @schema additionalProperties:{"type":"string"}
4795 # -- Labels for bloom-gateway pods
4797 # @schema additionalProperties:{"type":"string"}
4798 # -- Annotations for bloom-gateway pods
4800 # @schema type:[object, null];skipProperties:true;additionalProperties:true
4801 # -- Affinity for bloom-gateway pods.
4802 # @default -- Hard node anti-affinity
4803 # The value will be passed through tpl.
4806 requiredDuringSchedulingIgnoredDuringExecution:
4809 app.kubernetes.io/component: bloom-gateway
4810 app.kubernetes.io/name: '{{ include "loki.name" . }}'
4811 app.kubernetes.io/instance: '{{ .Release.Name }}'
4812 topologyKey: kubernetes.io/hostname
4813 # @schema additionalProperties:{"type":"string"};deprecated:true
4814 # -- Labels for bloom-gateway service
4815 # @deprecated -- This option is deprecated in favor of `bloomGateway.service.labels`
4817 # @schema additionalProperties:{"type":"string"};deprecated:true
4818 # -- Annotations for bloom-gateway service
4819 # @deprecated -- This option is deprecated in favor of `bloomGateway.service.annotations`
4820 serviceAnnotations: {}
4822 # @schema additionalProperties:{"type":"string"}
4823 # -- Annotations for bloom-gateway Service
4825 # @schema additionalProperties:{"type":"string"}
4826 # -- Additional labels for bloom-gateway Service
4828 # -- Service Type for bloom-gateway Service
4830 # -- trafficDistribution for bloom-gateway Service
4831 trafficDistribution: ""
4832 # -- Session affinity for bloom-gateway Service
4834 # @schema additionalProperties:true
4835 # -- Session affinity config for bloom-gateway Service
4836 sessionAffinityConfig: {}
4837 # -- ipFamilyPolicy for bloom-gateway Service
4838 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4840 # -- ipFamilies for bloom-gateway Service
4841 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
4843 # -- Adds the appProtocol field to the bloom-gateway service. This allows bloom-gateway to work with istio protocol selection.
4845 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4847 # -- Additional CLI args for the bloom-gateway
4849 # -- Environment variables to add to the bloom-gateway pods
4851 # -- Environment variables from secrets or configmaps to add to the bloom-gateway pods
4853 # -- Volume mounts to add to the bloom-gateway pods
4854 extraVolumeMounts: []
4855 # -- Volumes to add to the bloom-gateway pods
4857 # @schema skipProperties:true;additionalProperties:true
4858 # -- readiness probe settings for bloom-gateway pods. If empty, use `loki.readinessProbe`
4860 # @schema skipProperties:true;additionalProperties:true
4861 # -- liveness probe settings for bloom-gateway pods. If empty use `loki.livenessProbe`
4863 # @schema skipProperties:true;additionalProperties:true
4864 # -- startup probe settings for bloom-gateway pods. If empty, use `loki.startupProbe`
4866 # @schema additionalProperties:true
4867 # -- Resource requests and limits for the bloom-gateway
4869 # -- Container resize policy for the bloom-gateway
4872 # - resourceName: cpu
4873 # restartPolicy: NotRequired
4874 # - resourceName: memory
4875 # restartPolicy: RestartContainer
4877 # @schema type:[string, array, null]
4878 # -- Containers to add to the bloom-gateway pods
4880 # @schema type:[string, array, null]
4881 # -- Init containers to add to the bloom-gateway pods
4883 # -- Grace period to allow the bloom-gateway to shutdown before it is killed
4884 terminationGracePeriodSeconds: 30
4885 podDisruptionBudget:
4886 # -- Enable Pod Disruption Budget
4888 # @schema additionalProperties:{"type":"string"}
4889 # -- Annotations for Pod Disruption Budget
4891 # @schema additionalProperties:{"type":"string"}
4892 # -- Labels for Pod Disruption Budget
4894 # @schema type:[string, integer, null]
4895 # -- Pod Disruption Budget minAvailable
4897 # @schema type:[string, integer, null]
4898 # -- Pod Disruption Budget maxUnavailable
4899 maxUnavailable: null
4900 # @schema type:[string, null]
4901 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
4902 unhealthyPodEvictionPolicy: null
4903 # @schema additionalProperties:true
4904 # -- Node selector for bloom-gateway pods
4906 # -- Tolerations for bloom-gateway pods
4908 # @schema additionalProperties:true;deprecated:true
4909 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
4910 # @deprecated -- This option is deprecated in favor of `bloomGateway.service.appProtocol`
4913 # -- The default is to deploy all pods in parallel.
4914 podManagementPolicy: "Parallel"
4916 # -- Enable creating PVCs for the bloom-gateway
4918 # @schema additionalProperties:{"type":"string"}
4919 # -- Annotations for bloom-gateway PVCs
4921 # @schema additionalProperties:{"type":"string"}
4922 # -- Labels for bloom gateway PVCs
4924 # -- List of the bloom-gateway PVCs
4925 # @notationType -- list
4928 # -- Set access modes on the PersistentVolumeClaim
4931 # -- Size of persistent disk
4933 # @schema type:[string, null]
4934 # -- Storage class to be used.
4935 # If defined, storageClassName: <storageClass>.
4936 # If set to "-", storageClassName: "", which disables dynamic provisioning.
4937 # If empty or set to null, no storageClassName spec is
4938 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
4940 # @schema type:[string, null]
4941 # -- Volume attributes class name to be used.
4942 # If empty or set to null, no volumeAttributesClassName spec is set.
4943 # Requires Kubernetes 1.31
4944 volumeAttributesClassName: null
4945 # -- Enable StatefulSetAutoDeletePVC feature
4946 enableStatefulSetAutoDeletePVC: false
4950 # -- Specifies whether a ServiceAccount should be created
4952 # @schema type:[string, null]
4953 # -- The name of the ServiceAccount to use.
4954 # If not set and create is true, a name is generated using the fullname template
4956 # @schema item:object;itemProperties:{"name": {"type": "string"}}
4957 # -- Image pull secrets for the service account
4958 imagePullSecrets: []
4959 # @schema additionalProperties:{"type":"string"}
4960 # -- Annotations for the service account
4962 # @schema additionalProperties:{"type":"string"}
4963 # -- Labels for the service account
4965 # -- Set this toggle to false to opt out of automounting API credentials for the service account
4966 automountServiceAccountToken: true
4967# -- Configuration for the bloom-planner
4969 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
4971 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
4973 # -- Enable creating a Job to recreate the StatefulSet when the StatefulSet configuration is changed.
4974 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
4975 statefulSetRecreateJob:
4977 # -- Number of replicas for the bloom-planner
4979 # -- hostAliases to add
4981 # @schema type:[boolean, null]
4985 # -- Use the host's user namespace in the bloom-planner
4987 # @schema additionalProperties:true
4988 # -- DNSConfig for bloom-planner pods
4990 # @schema skipProperties:true;additionalProperties:true
4991 # -- UpdateStrategy or Strategy for the pattern ingester.
4996 # @schema type:[string, null]
4997 # -- The Docker registry for the bloom-planner image. Overrides `loki.image.registry`
4999 # @schema type:[string, null]
5000 # -- Docker image repository for the bloom-planner image. Overrides `loki.image.repository`
5002 # @schema type:[string, null]
5003 # -- Docker image tag for the bloom-planner image. Overrides `loki.image.tag`
5005 # @schema type:[string, null]
5006 # -- Command to execute instead of defined in Docker image
5008 # @schema type:[string, null]
5009 # -- The name of the PriorityClass for bloom-planner pods
5010 priorityClassName: null
5011 # @schema additionalProperties:{"type":"string"}
5012 # -- Labels for bloom-builder
5014 # @schema additionalProperties:{"type":"string"}
5015 # -- Annotations for bloom-builder
5017 # @schema additionalProperties:{"type":"string"}
5018 # -- Labels for bloom-planner pods
5020 # @schema additionalProperties:{"type":"string"}
5021 # -- Annotations for bloom-planner pods
5023 # @schema type:[object, null];skipProperties:true;additionalProperties:true
5024 # -- Affinity for bloom-planner pods.
5025 # @default -- Hard node anti-affinity
5026 # The value will be passed through tpl.
5029 requiredDuringSchedulingIgnoredDuringExecution:
5032 app.kubernetes.io/component: bloom-planner
5033 app.kubernetes.io/name: '{{ include "loki.name" . }}'
5034 app.kubernetes.io/instance: '{{ .Release.Name }}'
5035 topologyKey: kubernetes.io/hostname
5036 # @schema additionalProperties:{"type":"string"};deprecated:true
5037 # -- Labels for bloom-planner service
5038 # @deprecated -- This option is deprecated in favor of `bloomPlanner.service.labels`
5040 # @schema additionalProperties:{"type":"string"};deprecated:true
5041 # -- Annotations for bloom-planner service
5042 # @deprecated -- This option is deprecated in favor of `bloomPlanner.service.annotations`
5043 serviceAnnotations: {}
5045 # @schema additionalProperties:{"type":"string"}
5046 # -- Annotations for bloom-planner Service
5048 # @schema additionalProperties:{"type":"string"}
5049 # -- Additional labels for bloom-planner Service
5051 # -- Service Type for bloom-planner Service
5053 # -- trafficDistribution for bloom-planner Service
5054 trafficDistribution: ""
5055 # -- Session affinity for bloom-planner Service
5057 # @schema additionalProperties:true
5058 # -- Session affinity config for bloom-planner Service
5059 sessionAffinityConfig: {}
5060 # -- ipFamilyPolicy for bloom-planner Service
5061 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5063 # -- ipFamilies for bloom-planner Service
5064 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5066 # -- Adds the appProtocol field to the bloom-planner service. This allows bloom-planner to work with istio protocol selection.
5068 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5070 # -- Additional CLI args for the bloom-planner
5072 # -- Environment variables to add to the bloom-planner pods
5074 # -- Environment variables from secrets or configmaps to add to the bloom-planner pods
5076 # -- Volume mounts to add to the bloom-planner pods
5077 extraVolumeMounts: []
5078 # -- Volumes to add to the bloom-planner pods
5080 # @schema skipProperties:true;additionalProperties:true
5081 # -- readiness probe settings for bloom-planner pods. If empty, use `loki.readinessProbe`
5083 # @schema skipProperties:true;additionalProperties:true
5084 # -- liveness probe settings for bloom-planner pods. If empty use `loki.livenessProbe`
5086 # @schema skipProperties:true;additionalProperties:true
5087 # -- startup probe settings for bloom-planner pods. If empty use `loki.startupProbe`
5089 # @schema additionalProperties:true
5090 # -- Resource requests and limits for the bloom-planner
5092 # -- Container resize policy for the bloom-planner
5095 # - resourceName: cpu
5096 # restartPolicy: NotRequired
5097 # - resourceName: memory
5098 # restartPolicy: RestartContainer
5100 # @schema type:[string, array, null]
5101 # -- Containers to add to the bloom-planner pods
5103 # @schema type:[string, array, null]
5104 # -- Init containers to add to the bloom-planner pods
5106 # -- Grace period to allow the bloom-planner to shutdown before it is killed
5107 terminationGracePeriodSeconds: 30
5108 podDisruptionBudget:
5109 # -- Enable Pod Disruption Budget
5111 # @schema additionalProperties:{"type":"string"}
5112 # -- Annotations for Pod Disruption Budget
5114 # @schema additionalProperties:{"type":"string"}
5115 # -- Labels for Pod Disruption Budget
5117 # @schema type:[string, integer, null]
5118 # -- Pod Disruption Budget minAvailable
5120 # @schema type:[string, integer, null]
5121 # -- Pod Disruption Budget maxUnavailable
5122 maxUnavailable: null
5123 # @schema type:[string, null]
5124 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
5125 unhealthyPodEvictionPolicy: null
5126 # @schema additionalProperties:true
5127 # -- Node selector for bloom-planner pods
5129 # -- Tolerations for bloom-planner pods
5131 # @schema additionalProperties:true;deprecated:true
5132 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5133 # @deprecated -- This option is deprecated in favor of `bloomPlanner.service.appProtocol`
5136 # -- The default is to deploy all pods in parallel.
5137 podManagementPolicy: "Parallel"
5139 # -- Enable creating PVCs for the bloom-planner
5141 # -- List of the bloom-planner PVCs
5142 # @notationType -- list
5145 # -- Set access modes on the PersistentVolumeClaim
5148 # -- Size of persistent disk
5150 # @schema type:[string, null]
5151 # -- Storage class to be used.
5152 # If defined, storageClassName: <storageClass>.
5153 # If set to "-", storageClassName: "", which disables dynamic provisioning.
5154 # If empty or set to null, no storageClassName spec is
5155 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
5157 # @schema type:[string, null]
5158 # -- Volume attributes class name to be used.
5159 # If empty or set to null, no volumeAttributesClassName spec is set.
5160 # Requires Kubernetes 1.31
5161 volumeAttributesClassName: null
5162 # @schema additionalProperties:{"type":"string"}
5163 # -- Annotations for bloom-planner PVCs
5165 # @schema additionalProperties:{"type":"string"}
5166 # -- Labels for bloom planner PVCs
5168 # -- Enable StatefulSetAutoDeletePVC feature
5169 enableStatefulSetAutoDeletePVC: false
5173 # -- Specifies whether a ServiceAccount should be created
5175 # @schema type:[string, null]
5176 # -- The name of the ServiceAccount to use.
5177 # If not set and create is true, a name is generated using the fullname template
5179 # @schema item:object;itemProperties:{"name": {"type": "string"}}
5180 # -- Image pull secrets for the service account
5181 imagePullSecrets: []
5182 # @schema additionalProperties:{"type":"string"}
5183 # -- Annotations for the service account
5185 # @schema additionalProperties:{"type":"string"}
5186 # -- Labels for the service account
5188 # -- Set this toggle to false to opt out of automounting API credentials for the service account
5189 automountServiceAccountToken: true
5190# -- Configuration for the bloom-builder
5192 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
5194 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
5196 # -- Enable creating a Job to recreate the compactor StatefulSet when the compactor configuration is changed.
5197 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
5198 statefulSetRecreateJob:
5200 # @schema type:[integer, null]
5201 # -- Number of replicas for the bloom-builder. Set to null to omit spec.replicas from the workload,
5202 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
5204 # -- hostAliases to add
5206 # @schema type:[boolean, null]
5210 # -- Use the host's user namespace in the boom-builder
5212 # @schema additionalProperties:true
5213 # -- DNSConfig for bloom-builder pods
5216 # -- Enable autoscaling for the bloom-builder
5218 # -- Minimum autoscaling replicas for the bloom-builder
5220 # -- Maximum autoscaling replicas for the bloom-builder
5222 # @schema type:[integer, null]
5223 # -- Target CPU utilisation percentage for the bloom-builder
5224 targetCPUUtilizationPercentage: 60
5225 # @schema type:[integer, null]
5226 # -- Target memory utilisation percentage for the bloom-builder
5227 targetMemoryUtilizationPercentage: null
5228 # -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
5233 # name: loki_query_rate
5235 # type: AverageValue
5237 # @schema skipProperties:true;additionalProperties:true
5238 # -- HPA behavior configuration, passed directly as a K8s HPA behavior object.
5240 # -- Enable autoscaling behaviours
5242 # -- define scale down policies, must conform to HPAScalingRules
5244 # -- define scale up policies, must conform to HPAScalingRules
5247 # -- Enable KEDA autoscaling for the bloom-builder. Mutually exclusive with autoscaling.enabled
5249 # @schema type:[integer, null]
5250 # -- Interval (seconds) to poll each trigger. Defaults to defaults.kedaAutoscaling.pollingInterval if not set.
5251 pollingInterval: null
5252 # -- Minimum replicas for KEDA autoscaling
5254 # -- Maximum replicas for KEDA autoscaling
5256 # @schema type:[integer, null]
5257 # -- Period to wait after the last trigger reported active before scaling the resource back to 0 (seconds).
5258 # Defaults to defaults.kedaAutoscaling.cooldownPeriod if not set.
5259 cooldownPeriod: null
5260 # @schema additionalProperties:true
5261 # -- Fallback configuration for KEDA ScaledObject. Applied when the trigger metric cannot be retrieved.
5262 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#fallback
5264 # @schema skipProperties:true;additionalProperties:true
5265 # -- Behavior configuration for KEDA ScaledObject (horizontalPodAutoscalerConfig.behavior).
5266 # Ref: https://keda.sh/docs/latest/reference/scaledobject-spec/#advanced
5268 # -- KEDA triggers for the bloom-builder.
5269 # Ref: https://keda.sh/docs/latest/scalers/
5272 # @schema type:[string, null]
5273 # -- The Docker registry for the bloom-builder image. Overrides `loki.image.registry`
5275 # @schema type:[string, null]
5276 # -- Docker image repository for the bloom-builder image. Overrides `loki.image.repository`
5278 # @schema type:[string, null]
5279 # -- Docker image tag for the bloom-builder image. Overrides `loki.image.tag`
5281 # @schema type:[string, null]
5282 # -- Command to execute instead of defined in Docker image
5284 # @schema type:[string, null]
5285 # -- The name of the PriorityClass for bloom-builder pods
5286 priorityClassName: null
5287 # @schema additionalProperties:{"type":"string"}
5288 # -- Labels for bloom-builder
5290 # @schema additionalProperties:{"type":"string"}
5291 # -- Annotations for bloom-builder
5293 # @schema additionalProperties:{"type":"string"}
5294 # -- Labels for bloom-builder pods
5296 # @schema additionalProperties:{"type":"string"}
5297 # -- Annotations for bloom-builder pods
5299 # @schema additionalProperties:{"type":"string"};deprecated:true
5300 # -- Labels for bloom-builder service
5301 # @deprecated -- This option is deprecated in favor of `bloomBuilder.service.labels`
5303 # @schema additionalProperties:{"type":"string"};deprecated:true
5304 # -- Annotations for bloom-builder service
5305 # @deprecated -- This option is deprecated in favor of `bloomBuilder.service.annotations`
5306 serviceAnnotations: {}
5308 # @schema additionalProperties:{"type":"string"}
5309 # -- Annotations for bloom-builder Service
5311 # @schema additionalProperties:{"type":"string"}
5312 # -- Additional labels for bloom-builder Service
5314 # -- Service Type for bloom-builder Service
5316 # -- trafficDistribution for bloom-builder Service
5317 trafficDistribution: ""
5318 # -- Session affinity for bloom-builder Service
5320 # @schema additionalProperties:true
5321 # -- Session affinity config for bloom-builder Service
5322 sessionAffinityConfig: {}
5323 # -- ipFamilyPolicy for bloom-builder Service
5324 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5326 # -- ipFamilies for bloom-builder Service
5327 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5329 # -- Adds the appProtocol field to the bloom-builder service. This allows bloom-builder to work with istio protocol selection.
5331 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5333 # -- Additional CLI args for the bloom-builder
5335 # -- Environment variables to add to the bloom-builder pods
5337 # -- Environment variables from secrets or configmaps to add to the bloom-builder pods
5339 # -- Volume mounts to add to the bloom-builder pods
5340 extraVolumeMounts: []
5341 # -- Volumes to add to the bloom-builder pods
5343 # @schema additionalProperties:true
5344 # -- Resource requests and limits for the bloom-builder
5346 # -- Container resize policy for the bloom-builder
5349 # - resourceName: cpu
5350 # restartPolicy: NotRequired
5351 # - resourceName: memory
5352 # restartPolicy: RestartContainer
5354 # @schema type:[string, array, null]
5355 # -- Init containers to add to the bloom-builder pods
5357 # @schema type:[string, array, null]
5358 # -- Containers to add to the bloom-builder pods
5360 # -- Grace period to allow the bloom-builder to shutdown before it is killed
5361 terminationGracePeriodSeconds: 30
5362 podDisruptionBudget:
5363 # -- Enable Pod Disruption Budget
5365 # @schema additionalProperties:{"type":"string"}
5366 # -- Annotations for Pod Disruption Budget
5368 # @schema additionalProperties:{"type":"string"}
5369 # -- Labels for Pod Disruption Budget
5371 # @schema type:[string, integer, null]
5372 # -- Pod Disruption Budget minAvailable
5374 # @schema type:[string, integer, null]
5375 # -- Pod Disruption Budget maxUnavailable
5376 maxUnavailable: null
5377 # @schema type:[string, null]
5378 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
5379 unhealthyPodEvictionPolicy: null
5380 # @schema type:[object, null];skipProperties:true;additionalProperties:true
5381 # -- Affinity for bloom-builder pods.
5382 # @default -- Hard node anti-affinity
5383 # The value will be passed through tpl.
5386 requiredDuringSchedulingIgnoredDuringExecution:
5389 app.kubernetes.io/component: bloom-builder
5390 app.kubernetes.io/name: '{{ include "loki.name" . }}'
5391 app.kubernetes.io/instance: '{{ .Release.Name }}'
5392 topologyKey: kubernetes.io/hostname
5393 # @schema type:[string, integer, null];deprecated:true
5394 # -- Pod Disruption Budget maxUnavailable
5395 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
5396 maxUnavailable: null
5397 # @schema additionalProperties:true
5398 # -- Node selector for bloom-builder pods
5400 # -- Tolerations for bloom-builder pods
5402 # @schema additionalProperties:true;deprecated:true
5403 # -- Adds the appProtocol field to the queryFrontend service. This allows bloomBuilder to work with istio protocol selection.
5404 # @deprecated -- This option is deprecated in favor of `bloomBuilder.service.appProtocol`
5406 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5408 # @schema skipProperties:true;additionalProperties:true
5409 # -- Update strategy for bloom-builder deployment
5413 # @schema type:[string, integer, null]
5414 # -- Pod Disruption Budget maxUnavailable
5417 # -- Enable generic ephemeral volume-backed storage for the bloom-builder `data` volume.
5419 # -- Storage type for the bloom-builder. pvc and ephemeral are supported.
5421 # -- Set access modes on the generated volumeClaimTemplate.
5424 # -- Size of the generated volumeClaimTemplate.
5426 # @schema type:[string, null]
5427 # -- Storage class to be used for the generated volumeClaimTemplate.
5428 # If defined, storageClassName: <storageClass>.
5429 # If set to "-", storageClassName: "", which disables dynamic provisioning.
5430 # If empty or set to null, no storageClassName spec is set, choosing the default provisioner.
5432 # @schema type:[string, null]
5433 # -- Volume attributes class name to be used for the generated volumeClaimTemplate.
5434 # If empty or set to null, no volumeAttributesClassName spec is set.
5435 # Requires Kubernetes 1.31
5436 volumeAttributesClassName: null
5437 # @schema type:[object, null]
5438 # -- Selector for the generated volumeClaimTemplate.
5440 # @schema additionalProperties:{"type":"string"}
5441 # -- Annotations for the generated volumeClaimTemplate.
5443 # @schema additionalProperties:{"type":"string"}
5444 # -- Labels for the generated volumeClaimTemplate.
5447 # -- Specifies whether a ServiceAccount should be created
5449 # @schema type:[string, null]
5450 # -- The name of the ServiceAccount to use.
5451 # If not set and create is true, a name is generated using the fullname template
5453 # @schema item:object;itemProperties:{"name": {"type": "string"}}
5454 # -- Image pull secrets for the service account
5455 imagePullSecrets: []
5456 # @schema additionalProperties:{"type":"string"}
5457 # -- Annotations for the service account
5459 # @schema additionalProperties:{"type":"string"}
5460 # -- Labels for the service account
5462 # -- Set this toggle to false to opt out of automounting API credentials for the service account
5463 automountServiceAccountToken: true
5464# -- Configuration for the pattern ingester
5466 # -- Enable the component. Requires `loki.deploymentMode` to be set to `Distributed`.
5468 # -- Kind of compactor deployment. StatefulSet and Deployment are supported.
5470 # -- EXPERIMENTAL: Enable creating a Job to recreate the compactor StatefulSet when the compactor configuration is changed.
5471 ## Only applicable if `compactor.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
5472 statefulSetRecreateJob:
5474 # @schema type:[integer, null]
5475 # -- Number of replicas for the pattern ingester. Set to null to omit spec.replicas from the workload,
5476 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
5478 # @schema skipProperties:true;additionalProperties:true
5479 # -- UpdateStrategy or Strategy for the pattern ingester.
5483 # @schema additionalProperties:true
5484 # -- DNSConfig for pattern ingester pods
5486 # -- hostAliases to add
5488 # @schema type:[boolean, null]
5492 # -- Use the host's user namespace in the pattern ingester
5495 # @schema type:[string, null]
5496 # -- The Docker registry for the pattern ingester image. Overrides `loki.image.registry`
5498 # @schema type:[string, null]
5499 # -- Docker image repository for the pattern ingester image. Overrides `loki.image.repository`
5501 # @schema type:[string, null]
5502 # -- Docker image tag for the pattern ingester image. Overrides `loki.image.tag`
5504 # @schema type:[string, null]
5505 # -- Command to execute instead of defined in Docker image
5507 # @schema type:[string, null]
5508 # -- The name of the PriorityClass for pattern ingester pods
5509 priorityClassName: null
5510 # @schema additionalProperties:{"type":"string"}
5511 # -- Labels for pattern ingester
5513 # @schema additionalProperties:{"type":"string"}
5514 # -- Annotations for pattern ingester
5516 # @schema additionalProperties:{"type":"string"}
5517 # -- Labels for pattern ingester pods
5519 # @schema additionalProperties:{"type":"string"}
5520 # -- Annotations for pattern ingester pods
5522 # @schema type:[object, null];skipProperties:true;additionalProperties:true
5523 # -- Affinity for pattern ingester pods.
5524 # @default -- Hard node anti-affinity
5525 # The value will be passed through tpl.
5528 requiredDuringSchedulingIgnoredDuringExecution:
5531 app.kubernetes.io/component: pattern-ingester
5532 app.kubernetes.io/name: '{{ include "loki.name" . }}'
5533 app.kubernetes.io/instance: '{{ .Release.Name }}'
5534 topologyKey: kubernetes.io/hostname
5535 # @schema type:[string, integer, null];deprecated:true
5536 # -- Pod Disruption Budget maxUnavailable
5537 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
5538 maxUnavailable: null
5539 # -- Additional CLI args for the pattern ingester
5541 # -- Environment variables to add to the pattern ingester pods
5543 # -- Environment variables from secrets or configmaps to add to the pattern ingester pods
5545 # -- Volume mounts to add to the pattern ingester pods
5546 extraVolumeMounts: []
5547 # -- Volumes to add to the pattern ingester pods
5549 # @schema skipProperties:true;additionalProperties:true
5550 # -- readiness probe settings for pattern ingester pods. If empty, use `loki.readinessProbe`
5552 # @schema skipProperties:true;additionalProperties:true
5553 # -- liveness probe settings for pattern ingester pods. If empty use `loki.livenessProbe`
5555 # @schema skipProperties:true;additionalProperties:true
5556 # -- startup probe settings for pattern ingester pods. If empty use `loki.startupProbe`
5558 # @schema additionalProperties:true
5559 # -- Resource requests and limits for the pattern ingester
5561 # -- Container resize policy for the pattern ingester
5564 # - resourceName: cpu
5565 # restartPolicy: NotRequired
5566 # - resourceName: memory
5567 # restartPolicy: RestartContainer
5569 # @schema type:[string, array, null]
5570 # -- Containers to add to the pattern ingester pods
5572 # @schema type:[string, array, null]
5573 # -- Init containers to add to the pattern ingester pods
5575 # -- Grace period to allow the pattern ingester to shutdown before it is killed
5576 terminationGracePeriodSeconds: 30
5577 podDisruptionBudget:
5578 # -- Enable Pod Disruption Budget
5580 # @schema additionalProperties:{"type":"string"}
5581 # -- Annotations for Pod Disruption Budget
5583 # @schema additionalProperties:{"type":"string"}
5584 # -- Labels for Pod Disruption Budget
5586 # @schema type:[string, integer, null]
5587 # -- Pod Disruption Budget minAvailable
5589 # @schema type:[string, integer, null]
5590 # -- Pod Disruption Budget maxUnavailable
5591 maxUnavailable: null
5592 # @schema type:[string, null]
5593 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
5594 unhealthyPodEvictionPolicy: null
5595 # @schema additionalProperties:true
5596 # -- Node selector for pattern ingester pods
5598 # @schema item:object
5599 # -- Topology Spread Constraints for pattern ingester pods
5600 # The value will be passed through tpl.
5601 topologySpreadConstraints: []
5603 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5607 # -- Enable creating PVCs for the pattern ingester
5609 # -- Size of persistent disk
5611 # @schema type:[string, null]
5612 # -- Storage class to be used.
5613 # If defined, storageClassName: <storageClass>.
5614 # If set to "-", storageClassName: "", which disables dynamic provisioning.
5615 # If empty or set to null, no storageClassName spec is
5616 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
5618 # -- List of the pattern ingester PVCs
5619 # @notationType -- list
5622 # -- Set access modes on the PersistentVolumeClaim
5626 # @schema type:[string, null]
5627 # -- Storage class to be used.
5628 # If defined, storageClassName: <storageClass>.
5629 # If set to "-", storageClassName: "", which disables dynamic provisioning.
5630 # If empty or set to null, no storageClassName spec is
5631 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
5633 # @schema type:[string, null]
5634 # -- Volume attributes class name to be used.
5635 # If empty or set to null, no volumeAttributesClassName spec is set.
5636 # Requires Kubernetes 1.31
5637 volumeAttributesClassName: null
5638 # @schema additionalProperties:{"type":"string"}
5639 # -- Annotations for pattern ingester PVCs
5641 # @schema additionalProperties:{"type":"string"}
5642 # -- Labels for pattern ingester PVCs
5646 # -- Enable StatefulSetAutoDeletePVC feature
5647 enableStatefulSetAutoDeletePVC: false
5651 # -- Specifies whether a ServiceAccount should be created
5653 # @schema type:[string, null]
5654 # -- The name of the ServiceAccount to use.
5655 # If not set and create is true, a name is generated using the fullname template
5657 # @schema item:object;itemProperties:{"name": {"type": "string"}}
5658 # -- Image pull secrets for the service account
5659 imagePullSecrets: []
5660 # @schema additionalProperties:{"type":"string"}
5661 # -- Annotations for the service account
5663 # @schema additionalProperties:{"type":"string"}
5664 # -- Labels for the service account
5666 # -- Set this toggle to false to opt out of automounting API credentials for the service account
5667 automountServiceAccountToken: true
5668# -- Configuration for the ruler
5670 # -- The ruler component is optional and can be disabled if desired.
5672 # -- Kind of ruler deployment. StatefulSet and Deployment are supported.
5674 # -- EXPERIMENTAL: Enable creating a Job to recreate the ruler StatefulSet when the ruler configuration is changed.
5675 ## Only applicable if `ruler.kind` is StatefulSet. Useful for PVC size changes, which require recreating the StatefulSet.
5676 statefulSetRecreateJob:
5678 # -- Whether to enable the rules sidecar
5680 # @schema type:[integer, null]
5681 # -- Number of replicas for the ruler. Set to null to omit spec.replicas from the workload,
5682 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
5684 # -- hostAliases to add
5686 # @schema type:[boolean, null]
5690 # -- Use the host's user namespace in the ruler
5693 # @schema type:[string, null]
5694 # -- The Docker registry for the ruler image. Overrides `loki.image.registry`
5696 # @schema type:[string, null]
5697 # -- Docker image repository for the ruler image. Overrides `loki.image.repository`
5699 # @schema type:[string, null]
5700 # -- Docker image tag for the ruler image. Overrides `loki.image.tag`
5702 # @schema type:[string, null]
5703 # -- Command to execute instead of defined in Docker image
5705 # @schema type:[string, null]
5706 # -- The name of the PriorityClass for ruler pods
5707 priorityClassName: null
5708 # @schema additionalProperties:{"type":"string"}
5709 # -- Labels for ruler
5711 # @schema additionalProperties:{"type":"string"}
5712 # -- Annotations for ruler
5714 # @schema additionalProperties:{"type":"string"}
5715 # -- Labels for ruler pods
5717 # @schema additionalProperties:{"type":"string"}
5718 # -- Annotations for ruler pods
5720 # @schema additionalProperties:{"type":"string"};deprecated:true
5721 # -- Labels for ruler service
5722 # @deprecated -- This option is deprecated in favor of `ruler.service.labels`
5724 # @schema additionalProperties:{"type":"string"};deprecated:true
5725 # -- Annotations for ruler service
5726 # @deprecated -- This option is deprecated in favor of `ruler.service.annotations`
5727 serviceAnnotations: {}
5729 # @schema additionalProperties:{"type":"string"}
5730 # -- Annotations for ruler Service
5732 # @schema additionalProperties:{"type":"string"}
5733 # -- Additional labels for ruler Service
5735 # -- Service Type for ruler Service
5737 # -- trafficDistribution for ruler Service
5738 trafficDistribution: ""
5739 # -- Session affinity for ruler Service
5741 # @schema additionalProperties:true
5742 # -- Session affinity config for ruler Service
5743 sessionAffinityConfig: {}
5744 # -- ipFamilyPolicy for ruler Service
5745 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5747 # -- ipFamilies for ruler Service
5748 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
5750 # -- Adds the appProtocol field to the ruler service. This allows ruler to work with istio protocol selection.
5752 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5754 # -- Additional CLI args for the ruler
5756 # -- Environment variables to add to the ruler pods
5758 # -- Environment variables from secrets or configmaps to add to the ruler pods
5760 # -- Volume mounts to add to the ruler pods
5761 extraVolumeMounts: []
5762 # -- Volumes to add to the ruler pods
5764 # @schema additionalProperties:true
5765 # -- Resource requests and limits for the ruler
5767 # -- Container resize policy for the ruler
5770 # - resourceName: cpu
5771 # restartPolicy: NotRequired
5772 # - resourceName: memory
5773 # restartPolicy: RestartContainer
5775 # @schema type:[string, array, null]
5776 # -- Containers to add to the ruler pods
5778 # @schema type:[string, array, null]
5779 # -- Init containers to add to the ruler pods
5781 # -- Grace period to allow the ruler to shutdown before it is killed
5782 terminationGracePeriodSeconds: 300
5783 podDisruptionBudget:
5784 # -- Enable Pod Disruption Budget
5786 # @schema additionalProperties:{"type":"string"}
5787 # -- Annotations for Pod Disruption Budget
5789 # @schema additionalProperties:{"type":"string"}
5790 # -- Labels for Pod Disruption Budget
5792 # @schema type:[string, integer, null]
5793 # -- Pod Disruption Budget minAvailable
5795 # @schema type:[string, integer, null]
5796 # -- Pod Disruption Budget maxUnavailable
5797 maxUnavailable: null
5798 # @schema type:[string, null]
5799 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
5800 unhealthyPodEvictionPolicy: null
5801 # @schema type:[object, null];skipProperties:true;additionalProperties:true
5802 # -- Affinity for ruler pods.
5803 # @default -- Hard node anti-affinity
5804 # The value will be passed through tpl.
5807 requiredDuringSchedulingIgnoredDuringExecution:
5810 app.kubernetes.io/component: ruler
5811 app.kubernetes.io/name: '{{ include "loki.name" . }}'
5812 app.kubernetes.io/instance: '{{ .Release.Name }}'
5813 topologyKey: kubernetes.io/hostname
5814 # @schema type:[string, integer, null];deprecated:true
5815 # -- Pod Disruption Budget maxUnavailable
5816 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
5817 maxUnavailable: null
5818 # @schema additionalProperties:true
5819 # -- Node selector for ruler pods
5821 # @schema item:object
5822 # -- Topology Spread Constraints for ruler pods
5823 # The value will be passed through tpl.
5824 topologySpreadConstraints: []
5826 # @schema additionalProperties:true
5827 # -- DNSConfig for ruler pods
5830 # -- Enable creating PVCs which is required when using recording rules
5832 # -- Set access modes on the PersistentVolumeClaim
5835 # -- Size of persistent disk
5837 # @schema type:[string, null]
5838 # -- Storage class to be used.
5839 # If defined, storageClassName: <storageClass>.
5840 # If set to "-", storageClassName: "", which disables dynamic provisioning.
5841 # If empty or set to null, no storageClassName spec is
5842 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
5844 # @schema type:[string, null]
5845 # -- Volume attributes class name to be used.
5846 # If empty or set to null, no volumeAttributesClassName spec is set.
5847 # Requires Kubernetes 1.31
5848 volumeAttributesClassName: null
5849 # @schema additionalProperties:{"type":"string"}
5850 # -- Annotations for ruler PVCs
5852 # @schema additionalProperties:{"type":"string"}
5853 # -- Labels for ruler PVCs
5855 # @schema additionalProperties:true;deprecated:true
5856 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
5857 # @deprecated -- This option is deprecated in favor of `ruler.service.appProtocol`
5860 # -- Directories containing rules files. If used, you must also configure `loki.rulerConfig.storage` to use local storage.
5865 # - name: should_fire
5867 # - alert: HighPercentageError
5869 # sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
5871 # sum(rate({app="foo", env="production"}[5m])) by (job)
5877 # summary: High error rate
5878 # - name: credentials_leak
5880 # - alert: http-credentials-leaked
5882 # message: "{{ $labels.job }} is leaking http basic auth credentials."
5883 # expr: 'sum by (cluster, job, pod) (count_over_time({namespace="prod"} |~ "http(s?)://(\\w+):(\\w+)@" [5m]) > 0)'
5886 # severity: critical
5891 # - alert: HighThroughputLogStreams
5892 # expr: sum by(container) (rate({job=~"loki-dev/.*"}[1m])) > 1000
5897 # - name: should_fire
5899 # - alert: HighPercentageError
5901 # sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
5903 # sum(rate({app="foo", env="production"}[5m])) by (job)
5909 # summary: High error rate
5910 # - name: credentials_leak
5912 # - alert: http-credentials-leaked
5914 # message: "{{ $labels.job }} is leaking http basic auth credentials."
5915 # expr: 'sum by (cluster, job, pod) (count_over_time({namespace="prod"} |~ "http(s?)://(\\w+):(\\w+)@" [5m]) > 0)'
5918 # severity: critical
5923 # - alert: HighThroughputLogStreams
5924 # expr: sum by(container) (rate({job=~"loki-dev/.*"}[1m])) > 1000
5928 # -- Specifies whether a ServiceAccount should be created
5930 # @schema type:[string, null]
5931 # -- The name of the ServiceAccount to use.
5932 # If not set and create is true, a name is generated using the fullname template
5934 # @schema item:object;itemProperties:{"name": {"type": "string"}}
5935 # -- Image pull secrets for the service account
5936 imagePullSecrets: []
5937 # @schema additionalProperties:{"type":"string"}
5938 # -- Annotations for the service account
5940 # @schema additionalProperties:{"type":"string"}
5941 # -- Labels for the service account
5943 # -- Set this toggle to false to opt out of automounting API credentials for the service account
5944 automountServiceAccountToken: true
5945# -- Configuration for the overrides-exporter
5947 # -- The overrides-exporter component is optional and can be disabled if desired.
5949 # -- Kind of backend workload. StatefulSet and Deployment are supported.
5951 # @schema type:[integer, null]
5952 # -- Number of replicas for the overrides-exporter. Set to null to omit spec.replicas from the workload,
5953 # allowing an external controller (e.g. HPA, KEDA, rollout-operator) to manage replica counts without Helm resetting them.
5955 # @schema additionalProperties:true
5956 # -- DNSConfig for overrides-exporter
5958 # -- hostAliases to add
5960 # @schema type:[boolean, null]
5964 # -- Use the host's user namespace in the overrides-exporter
5967 # @schema type:[string, null]
5968 # -- The Docker registry for the overrides-exporter image. Overrides `loki.image.registry`
5970 # @schema type:[string, null]
5971 # -- Docker image repository for the overrides-exporter image. Overrides `loki.image.repository`
5973 # @schema type:[string, null]
5974 # -- Docker image tag for the overrides-exporter image. Overrides `loki.image.tag`
5976 # @schema type:[string, null]
5977 # -- Command to execute instead of defined in Docker image
5979 # @schema type:[string, null]
5980 # -- The name of the PriorityClass for overrides-exporter pods
5981 priorityClassName: null
5982 # @schema additionalProperties:{"type":"string"}
5983 # -- Labels for overrides-exporter
5985 # @schema additionalProperties:{"type":"string"}
5986 # -- Annotations for overrides-exporter
5988 # @schema additionalProperties:{"type":"string"}
5989 # -- Labels for overrides-exporter pods
5991 # @schema additionalProperties:{"type":"string"}
5992 # -- Annotations for overrides-exporter pods
5994 # @schema additionalProperties:{"type":"string"};deprecated:true
5995 # -- Labels for overrides-exporter service
5996 # @deprecated -- This option is deprecated in favor of `overridesExporter.service.labels`
5998 # @schema additionalProperties:{"type":"string"};deprecated:true
5999 # -- Annotations for overrides-exporter service
6000 # @deprecated -- This option is deprecated in favor of `overridesExporter.service.annotations`
6001 serviceAnnotations: {}
6003 # @schema additionalProperties:{"type":"string"}
6004 # -- Annotations for overrides-exporter Service
6006 # @schema additionalProperties:{"type":"string"}
6007 # -- Additional labels for overrides-exporter Service
6009 # -- Service Type for overrides-exporter Service
6011 # -- trafficDistribution for overrides-exporter Service
6012 trafficDistribution: ""
6013 # -- Session affinity for overrides-exporter Service
6015 # @schema additionalProperties:true
6016 # -- Session affinity config for overrides-exporter Service
6017 sessionAffinityConfig: {}
6018 # -- ipFamilyPolicy for overrides-exporter Service
6019 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
6021 # -- ipFamilies for overrides-exporter Service
6022 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
6024 # -- Adds the appProtocol field to the overrides-exporter service. This allows overrides-exporter to work with istio protocol selection.
6026 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
6028 # -- Additional CLI args for the overrides-exporter
6030 # -- Environment variables to add to the overrides-exporter pods
6032 # -- Environment variables from secrets or configmaps to add to the overrides-exporter pods
6034 # -- Volume mounts to add to the overrides-exporter pods
6035 extraVolumeMounts: []
6036 # -- Volumes to add to the overrides-exporter pods
6038 # @schema additionalProperties:true
6039 # -- Resource requests and limits for the overrides-exporter
6041 # -- Container resize policy for the overrides-exporter
6044 # - resourceName: cpu
6045 # restartPolicy: NotRequired
6046 # - resourceName: memory
6047 # restartPolicy: RestartContainer
6049 # @schema type:[string, array, null]
6050 # -- Containers to add to the overrides-exporter pods
6052 # @schema type:[string, array, null]
6053 # -- Init containers to add to the overrides-exporter pods
6055 # -- Grace period to allow the overrides-exporter to shutdown before it is killed
6056 terminationGracePeriodSeconds: 300
6057 podDisruptionBudget:
6058 # -- Enable Pod Disruption Budget
6060 # @schema additionalProperties:{"type":"string"}
6061 # -- Annotations for Pod Disruption Budget
6063 # @schema additionalProperties:{"type":"string"}
6064 # -- Labels for Pod Disruption Budget
6066 # @schema type:[string, integer, null]
6067 # -- Pod Disruption Budget minAvailable
6069 # @schema type:[string, integer, null]
6070 # -- Pod Disruption Budget maxUnavailable
6071 maxUnavailable: null
6072 # @schema type:[string, null]
6073 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
6074 unhealthyPodEvictionPolicy: null
6075 # @schema type:[object, null];skipProperties:true;additionalProperties:true
6076 # -- Affinity for overrides-exporter pods.
6077 # @default -- Hard node anti-affinity
6078 # The value will be passed through tpl.
6081 requiredDuringSchedulingIgnoredDuringExecution:
6084 app.kubernetes.io/component: overrides-exporter
6085 app.kubernetes.io/name: '{{ include "loki.name" . }}'
6086 app.kubernetes.io/instance: '{{ .Release.Name }}'
6087 topologyKey: kubernetes.io/hostname
6088 # @schema type:[string, integer, null];deprecated:true
6089 # -- Pod Disruption Budget maxUnavailable
6090 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
6091 maxUnavailable: null
6092 # @schema additionalProperties:true
6093 # -- Node selector for overrides-exporter pods
6095 # @schema item:object
6096 # -- Topology Spread Constraints for overrides-exporter pods
6097 # The value will be passed through tpl.
6098 topologySpreadConstraints: []
6100 # @schema additionalProperties:true;deprecated:true
6101 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
6102 # @deprecated -- This option is deprecated in favor of `overridesExporter.service.appProtocol`
6106 # -- Specifies whether a ServiceAccount should be created
6108 # @schema type:[string, null]
6109 # -- The name of the ServiceAccount to use.
6110 # If not set and create is true, a name is generated using the fullname template
6112 # @schema item:object;itemProperties:{"name": {"type": "string"}}
6113 # -- Image pull secrets for the service account
6114 imagePullSecrets: []
6115 # @schema additionalProperties:{"type":"string"}
6116 # -- Annotations for the service account
6118 # @schema additionalProperties:{"type":"string"}
6119 # -- Labels for the service account
6121 # -- Set this toggle to false to opt out of automounting API credentials for the service account
6122 automountServiceAccountToken: true
6123# You can use a self hosted memcached by setting enabled to false and providing addresses.
6125 # -- Enable the built in memcached server provided by the chart
6128 # -- Memcached Docker image repository
6129 repository: cgr.dev/scratch-images/test-tmp/memcached
6130 # -- Memcached Docker image tag
6131 tag: 1.6.45-r2@sha256:7095ff7c117e80bd8116d8a3e768b3972aca16b2b26b6bf2a45058711b0809dd
6132 # -- Memcached Docker image pull policy
6133 pullPolicy: IfNotPresent
6134 # @schema skipProperties:true;additionalProperties:true
6135 # -- The SecurityContext override for memcached pods
6142 type: RuntimeDefault
6143 # @schema type:[string, null]
6144 # -- The name of the PriorityClass for memcached pods
6145 priorityClassName: null
6146 # @schema skipProperties:true;additionalProperties:true
6147 # -- The SecurityContext for memcached containers
6148 containerSecurityContext:
6149 readOnlyRootFilesystem: true
6152 allowPrivilegeEscalation: false
6155 type: RuntimeDefault
6156 # @schema skipProperties:true;additionalProperties:true
6157 # -- Readiness probe for memcached pods (probe port defaults to container port)
6161 initialDelaySeconds: 5
6165 # @schema skipProperties:true;additionalProperties:true
6166 # -- Liveness probe for memcached pods
6170 initialDelaySeconds: 30
6174 # @schema skipProperties:true;additionalProperties:true
6175 # -- Startup probe for memcached pods
6178 # -- Specifies whether a ServiceAccount should be created
6180 # @schema type:[string, null]
6181 # -- The name of the ServiceAccount to use.
6182 # If not set and create is true, a name is generated using the fullname template
6184 # @schema item:object;itemProperties:{"name": {"type": "string"}}
6185 # -- Image pull secrets for the service account
6186 imagePullSecrets: []
6187 # @schema additionalProperties:{"type":"string"}
6188 # -- Annotations for the service account
6190 # @schema additionalProperties:{"type":"string"}
6191 # -- Labels for the service account
6193 # -- Set this toggle to false to opt out of automounting API credentials for the service account
6194 automountServiceAccountToken: false
6196 # -- Whether memcached metrics should be exported
6199 repository: cgr.dev/scratch-images/test-tmp/memcached-exporter
6200 tag: 0.16.0-r13@sha256:8bb1ee6eb47d44d8ce2ce1fe869416d55d87047ed55f41085b5c299ff0b899f3
6201 pullPolicy: IfNotPresent
6202 # @schema additionalProperties:true
6206 # -- Container resize policy for the memcached exporter
6209 # - resourceName: cpu
6210 # restartPolicy: NotRequired
6211 # - resourceName: memory
6212 # restartPolicy: RestartContainer
6214 # @schema skipProperties:true;additionalProperties:true
6215 # -- The SecurityContext for memcached exporter containers
6216 containerSecurityContext:
6217 readOnlyRootFilesystem: true
6220 allowPrivilegeEscalation: false
6223 type: RuntimeDefault
6224 # -- Extra args to add to the exporter container.
6227 # memcached.tls.enable: true
6228 # memcached.tls.cert-file: /certs/cert.crt
6229 # memcached.tls.key-file: /certs/cert.key
6230 # memcached.tls.ca-file: /certs/ca.crt
6231 # memcached.tls.insecure-skip-verify: false
6232 # memcached.tls.server-name: memcached
6234 # @schema skipProperties:true;additionalProperties:true
6235 # -- Liveness probe for memcached exporter
6240 initialDelaySeconds: 30
6244 # @schema skipProperties:true;additionalProperties:true
6245 # -- Readiness probe for memcached exporter
6250 initialDelaySeconds: 5
6254 # @schema skipProperties:true;additionalProperties:true
6255 # -- Startup probe for memcached exporter
6258 # -- Specifies whether memcached based results-cache should be enabled
6260 # -- Comma separated addresses list in DNS Service Discovery format
6261 addresses: dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "results-cache") }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}
6262 # -- Specify how long cached results should be stored in the results-cache before being expired
6263 defaultValidity: 12h
6264 # -- Memcached operation timeout
6266 # -- Total number of results-cache replicas
6268 # -- Port of the results-cache service
6270 # -- Amount of memory allocated to results-cache for object storage (in MB).
6271 allocatedMemory: 1024
6272 # -- Amount of cpu allocated to results-cache for object storage (in integer or millicores).
6274 # -- Maximum item results-cache for memcached (in MB).
6276 # -- Maximum number of connections allowed
6277 connectionLimit: 16384
6278 # -- Max memory to use for cache write back
6279 writebackSizeLimit: 500MB
6280 # -- Max number of objects to use for cache write back
6281 writebackBuffer: 500000
6282 # -- Number of parallel threads for cache write back
6283 writebackParallelism: 1
6284 # -- Extra init containers for results-cache pods
6286 # @schema additionalProperties:{"type":"string"}
6287 # -- Annotations for the results-cache pods
6289 # @schema additionalProperties:true
6290 # -- Node selector for results-cache pods
6292 # @schema type:[object, null];skipProperties:true;additionalProperties:true
6293 # -- Affinity for results-cache pods
6295 # @schema item:object
6296 # -- topologySpreadConstraints allows to customize the default topologySpreadConstraints. This can be either a single dict as shown below or a slice of topologySpreadConstraints.
6297 # labelSelector is taken from the constraint itself (if it exists) or is generated by the chart using the same selectors as for services.
6298 topologySpreadConstraints: []
6299 # topologyKey: kubernetes.io/hostname
6300 # whenUnsatisfiable: ScheduleAnyway
6301 # -- Tolerations for results-cache pods
6303 # @schema type:[string, integer, null];deprecated:true
6304 # -- Pod Disruption Budget maxUnavailable
6305 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
6307 podDisruptionBudget:
6308 # -- Enable Pod Disruption Budget
6310 # @schema additionalProperties:{"type":"string"}
6311 # -- Annotations for Pod Disruption Budget
6313 # @schema additionalProperties:{"type":"string"}
6314 # -- Labels for Pod Disruption Budget
6316 # @schema type:[string, integer, null]
6317 # -- Pod Disruption Budget minAvailable
6319 # @schema type:[string, integer, null]
6320 # -- Pod Disruption Budget maxUnavailable
6321 maxUnavailable: null
6322 # @schema type:[string, null]
6323 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
6324 unhealthyPodEvictionPolicy: null
6325 # @schema additionalProperties:true
6326 # -- DNSConfig for results-cache
6328 # @schema type:[string, null]
6329 # -- The name of the PriorityClass for results-cache pods
6330 priorityClassName: null
6331 # @schema type:[boolean, null]
6332 # -- Use the host's user namespace in results-cache pods
6334 # @schema additionalProperties:{"type":"string"}
6335 # -- Labels for results-cache pods
6337 # @schema additionalProperties:{"type":"string"}
6338 # -- Annotations for results-cache pods
6340 # -- Management policy for results-cache pods
6341 podManagementPolicy: Parallel
6342 # -- Grace period to allow the results-cache to shutdown before it is killed
6343 terminationGracePeriodSeconds: 60
6344 # @schema skipProperties:true;additionalProperties:true
6345 # -- Stateful results-cache strategy
6348 # -- Add extended options for results-cache memcached container. The format is the same as for the memcached -o/--extend flag.
6350 # extraExtendedOptions: 'tls,modern,track_sizes'
6351 extraExtendedOptions: ""
6352 # -- Additional CLI args for results-cache
6354 # @schema type:[array, null]
6355 # -- Additional containers to be added to the results-cache pod.
6357 # -- Additional volumes to be added to the results-cache pod (applies to both memcached and exporter containers).
6360 # - name: extra-volume
6362 # secretName: extra-volume-secret
6364 # -- Additional volume mounts to be added to the results-cache pod (applies to both memcached and exporter containers).
6366 # extraVolumeMounts:
6367 # - name: extra-volume
6368 # mountPath: /etc/extra-volume
6370 extraVolumeMounts: []
6371 # @schema additionalProperties:true
6372 # -- Resource requests and limits for the results-cache
6373 # By default a safe memory limit will be requested based on allocatedMemory value (floor (* 1.2 allocatedMemory)).
6375 # -- Container resize policy for the results-cache
6378 # - resourceName: cpu
6379 # restartPolicy: NotRequired
6380 # - resourceName: memory
6381 # restartPolicy: RestartContainer
6383 # -- Service annotations and labels
6385 # @schema additionalProperties:{"type":"string"}
6387 # @schema additionalProperties:{"type":"string"}
6389 # -- Persistence settings for the results-cache
6391 # -- Enable creating PVCs for the results-cache
6393 # -- Size of persistent disk, must be in G or Gi
6395 # @schema type:[string, null]
6396 # -- Storage class to be used.
6397 # If defined, storageClassName: <storageClass>.
6398 # If set to "-", storageClassName: "", which disables dynamic provisioning.
6399 # If empty or set to null, no storageClassName spec is
6400 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
6402 # @schema type:[string, null]
6403 # -- Volume attributes class name to be used.
6404 # If empty or set to null, no volumeAttributesClassName spec is set.
6405 # Requires Kubernetes 1.31
6406 volumeAttributesClassName: null
6407 # -- Volume mount path
6409 # @schema additionalProperties:{"type":"string"}
6410 # -- PVC additional labels
6413 # -- Append to the name of the resources to make names different for l1 and l2
6415 # -- Specifies whether memcached based chunks-cache should be enabled
6417 # -- Comma separated addresses list in DNS Service Discovery format
6418 addresses: 'dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "chunks-cache" "suffix" $.Values.chunksCache.suffix ) }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}'
6419 # -- Batchsize for sending and receiving chunks from chunks cache
6421 # -- Parallel threads for sending and receiving chunks from chunks cache
6423 # -- Memcached operation timeout
6425 # -- Specify how long cached chunks should be stored in the chunks-cache before being expired
6427 # -- Total number of chunks-cache replicas
6429 # -- Port of the chunks-cache service
6431 # -- Amount of memory allocated to chunks-cache for object storage (in MB).
6432 allocatedMemory: 8192
6433 # -- Amount of cpu allocated to chunks-cache for object storage (in integer or millicores).
6435 # -- Maximum item memory for chunks-cache (in MB).
6437 # -- Maximum number of connections allowed
6438 connectionLimit: 16384
6439 # -- Max memory to use for cache write back
6440 writebackSizeLimit: 500MB
6441 # -- Max number of objects to use for cache write back
6442 writebackBuffer: 500000
6443 # -- Number of parallel threads for cache write back
6444 writebackParallelism: 1
6445 # -- Extra init containers for chunks-cache pods
6447 # @schema additionalProperties:{"type":"string"}
6448 # -- Annotations for the chunks-cache pods
6450 # @schema additionalProperties:true
6451 # -- Node selector for chunks-cache pods
6453 # @schema type:[object, null];skipProperties:true;additionalProperties:true
6454 # -- Affinity for chunks-cache pods
6456 # @schema item:object
6457 # -- topologySpreadConstraints allows to customize the default topologySpreadConstraints. This can be either a single dict as shown below or a slice of topologySpreadConstraints.
6458 # labelSelector is taken from the constraint itself (if it exists) or is generated by the chart using the same selectors as for services.
6459 topologySpreadConstraints: []
6460 # topologyKey: kubernetes.io/hostname
6461 # whenUnsatisfiable: ScheduleAnyway
6462 # -- Tolerations for chunks-cache pods
6464 # @schema type:[string, integer, null];deprecated:true
6465 # -- Pod Disruption Budget maxUnavailable
6466 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
6468 podDisruptionBudget:
6469 # -- Enable Pod Disruption Budget
6471 # @schema additionalProperties:{"type":"string"}
6472 # -- Annotations for Pod Disruption Budget
6474 # @schema additionalProperties:{"type":"string"}
6475 # -- Labels for Pod Disruption Budget
6477 # @schema type:[string, integer, null]
6478 # -- Pod Disruption Budget minAvailable
6480 # @schema type:[string, integer, null]
6481 # -- Pod Disruption Budget maxUnavailable
6482 maxUnavailable: null
6483 # @schema type:[string, null]
6484 # -- Pod Disruption Budget unhealthyPodEvictionPolicy
6485 unhealthyPodEvictionPolicy: null
6486 # @schema additionalProperties:true
6487 # -- DNSConfig for chunks-cache
6489 # @schema type:[string, null]
6490 # -- The name of the PriorityClass for chunks-cache pods
6491 priorityClassName: null
6492 # @schema type:[boolean, null]
6493 # -- Use the host's user namespace in chunks-cache pods
6495 # @schema additionalProperties:{"type":"string"}
6496 # -- Labels for chunks-cache pods
6498 # @schema additionalProperties:{"type":"string"}
6499 # -- Annotations for chunks-cache pods
6501 # -- Management policy for chunks-cache pods
6502 podManagementPolicy: Parallel
6503 # -- Grace period to allow the chunks-cache to shutdown before it is killed
6504 terminationGracePeriodSeconds: 60
6505 # @schema skipProperties:true;additionalProperties:true
6506 # -- Stateful chunks-cache strategy
6509 # -- Add extended options for chunks-cache memcached container. The format is the same as for the memcached -o/--extend flag.
6511 # extraExtendedOptions: 'tls,no_hashexpand'
6512 extraExtendedOptions: ""
6513 # -- Additional CLI args for chunks-cache
6515 # @schema type:[array, null]
6516 # -- Additional containers to be added to the chunks-cache pod.
6518 # -- Additional volumes to be added to the chunks-cache pod (applies to both memcached and exporter containers).
6521 # - name: extra-volume
6523 # secretName: extra-volume-secret
6525 # -- Additional volume mounts to be added to the chunks-cache pod (applies to both memcached and exporter containers).
6527 # extraVolumeMounts:
6528 # - name: extra-volume
6529 # mountPath: /etc/extra-volume
6531 extraVolumeMounts: []
6532 # @schema additionalProperties:true
6533 # -- Resource requests and limits for the chunks-cache
6534 # By default a safe memory limit will be requested based on allocatedMemory value (floor (* 1.2 allocatedMemory)).
6536 # -- Container resize policy for the chunks-cache
6539 # - resourceName: cpu
6540 # restartPolicy: NotRequired
6541 # - resourceName: memory
6542 # restartPolicy: RestartContainer
6544 # -- Service annotations and labels
6546 # @schema additionalProperties:{"type":"string"}
6548 # @schema additionalProperties:{"type":"string"}
6550 # -- Persistence settings for the chunks-cache
6552 # -- Enable creating PVCs for the chunks-cache
6554 # -- Size of persistent disk, must be in G or Gi
6556 # @schema type:[string, null]
6557 # -- Storage class to be used.
6558 # If defined, storageClassName: <storageClass>.
6559 # If set to "-", storageClassName: "", which disables dynamic provisioning.
6560 # If empty or set to null, no storageClassName spec is
6561 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
6563 # @schema type:[string, null]
6564 # -- Volume attributes class name to be used.
6565 # If empty or set to null, no volumeAttributesClassName spec is set.
6566 # Requires Kubernetes 1.31
6567 volumeAttributesClassName: null
6568 # -- Volume mount path
6570 # @schema additionalProperties:{"type":"string"}
6572 # -- l2 memcache configuration
6574 # -- Append to the name of the resources to make names different for l1 and l2
6576 # -- The age of chunks should be transferred from l1 cache to l2
6578 l2ChunkCacheHandoff: 345600s
6579 # -- Specifies whether memcached based chunks-cache-l2 should be enabled
6581 # -- Comma separated addresses list in DNS Service Discovery format
6582 addresses: 'dnssrvnoa+_memcached-client._tcp.{{ include "loki.resourceName" (dict "ctx" $ "component" "chunks-cache" "suffix" $.Values.chunksCache.l2.suffix ) }}.{{ include "loki.namespace" $ }}.svc.{{ .Values.global.clusterDomain }}'
6583 # -- Batchsize for sending and receiving chunks from chunks cache
6585 # -- Parallel threads for sending and receiving chunks from chunks cache
6587 # -- Memcached operation timeout
6589 # -- Specify how long cached chunks should be stored in the chunks-cache-l2 before being expired
6591 # -- Total number of chunks-cache-l2 replicas
6593 # -- Port of the chunks-cache-l2 service
6595 # -- Amount of memory allocated to chunks-cache-l2 for object storage (in MB).
6596 allocatedMemory: 8192
6597 # -- Amount of cpu allocated to chunks-cache-l2 for object storage (in integer or millicores).
6599 # -- Maximum item memory for chunks-cache-l2 (in MB).
6601 # -- Maximum number of connections allowed
6602 connectionLimit: 16384
6603 # -- Max memory to use for cache write back
6604 writebackSizeLimit: 500MB
6605 # -- Max number of objects to use for cache write back
6606 writebackBuffer: 500000
6607 # -- Number of parallel threads for cache write back
6608 writebackParallelism: 1
6609 # -- Extra init containers for chunks-cache-l2 pods
6611 # @schema additionalProperties:{"type":"string"}
6612 # -- Annotations for the chunks-cache-l2 pods
6614 # @schema additionalProperties:true
6615 # -- Node selector for chunks-cach-l2 pods
6617 # @schema skipProperties:true;additionalProperties:true
6618 # -- Affinity for chunks-cache-l2 pods
6620 # @schema item:object
6621 # -- topologySpreadConstraints allows to customize the default topologySpreadConstraints. This can be either a single dict as shown below or a slice of topologySpreadConstraints.
6622 # labelSelector is taken from the constraint itself (if it exists) or is generated by the chart using the same selectors as for services.
6623 topologySpreadConstraints: []
6624 # topologyKey: kubernetes.io/hostname
6625 # whenUnsatisfiable: ScheduleAnyway
6626 # -- Tolerations for chunks-cache-l2 pods
6628 # @schema type:[string, integer, null];deprecated:true
6629 # -- Pod Disruption Budget maxUnavailable
6630 # @deprecated -- This is deprecated in favor of `podDisruptionBudget.maxUnavailable`.
6632 podDisruptionBudget:
6633 # -- Enable Pod Disruption Budget
6635 # @schema additionalProperties:{"type":"string"}
6636 # -- Annotations for Pod Disruption Budget
6638 # @schema additionalProperties:{"type":"string"}
6639 # -- Labels for Pod Disruption Budget
6643 # unhealthyPodEvictionPolicy: IfHealthyBudget
6644 # @schema additionalProperties:true
6645 # -- DNSConfig for chunks-cache-l2
6647 # @schema type:[string, null]
6648 # -- The name of the PriorityClass for chunks-cache-l2 pods
6649 priorityClassName: null
6650 # @schema type:[boolean, null]
6651 # -- Use the host's user namespace in chunks-cache-l2 pods
6653 # @schema additionalProperties:{"type":"string"}
6654 # -- Labels for chunks-cache-l2 pods
6656 # @schema additionalProperties:{"type":"string"}
6657 # -- Annotations for chunks-cache-l2 pods
6659 # -- Management policy for chunks-cache-l2 pods
6660 podManagementPolicy: Parallel
6661 # -- Grace period to allow the chunks-cache-l2 to shutdown before it is killed
6662 terminationGracePeriodSeconds: 60
6663 # @schema skipProperties:true;additionalProperties:true
6664 # -- Stateful chunks-cache strategy
6667 # -- Add extended options for chunks-cache-l2 memcached container. The format is the same as for the memcached -o/--extend flag.
6669 # extraExtendedOptions: 'tls,no_hashexpand'
6670 extraExtendedOptions: ""
6671 # -- Additional CLI args for chunks-cache-l2
6673 # @schema type:[array, null]
6674 # -- Additional containers to be added to the chunks-cache-l2 pod.
6676 # -- Additional volumes to be added to the chunks-cache-l2 pod (applies to both memcached and exporter containers).
6679 # - name: extra-volume
6681 # secretName: extra-volume-secret
6683 # -- Additional volume mounts to be added to the chunks-cache-l2 pod (applies to both memcached and exporter containers).
6685 # extraVolumeMounts:
6686 # - name: extra-volume
6687 # mountPath: /etc/extra-volume
6689 extraVolumeMounts: []
6690 # @schema additionalProperties:true
6691 # -- Resource requests and limits for the chunks-cache-l2
6692 # By default a safe memory limit will be requested based on allocatedMemory value (floor (* 1.2 allocatedMemory)).
6694 # -- Container resize policy for the chunks-cache-l2
6697 # - resourceName: cpu
6698 # restartPolicy: NotRequired
6699 # - resourceName: memory
6700 # restartPolicy: RestartContainer
6702 # -- Service annotations and labels
6704 # @schema additionalProperties:{"type":"string"}
6706 # @schema additionalProperties:{"type":"string"}
6708 # -- Persistence settings for the chunks-cache-l2
6710 # -- Enable creating PVCs for the chunks-cache-l2
6712 # -- Size of persistent disk, must be in G or Gi
6714 # @schema type:[string, null]
6715 # -- Storage class to be used.
6716 # If defined, storageClassName: <storageClass>.
6717 # If set to "-", storageClassName: "", which disables dynamic provisioning.
6718 # If empty or set to null, no storageClassName spec is
6719 # set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).
6721 # @schema type:[string, null]
6722 # -- Volume attributes class name to be used.
6723 # If empty or set to null, no volumeAttributesClassName spec is set.
6724 # Requires Kubernetes 1.31
6725 volumeAttributesClassName: null
6726 # -- Volume mount path
6728 # @schema additionalProperties:{"type":"string"}
6730######################################################################################################################
6732# Subchart configurations
6734######################################################################################################################
6736# @schema skipProperties:true;additionalProperties:true
6737# -- Setting for the Grafana Rollout Operator https://github.com/grafana/helm-charts/tree/main/charts/rollout-operator
6740 # @schema skipProperties:true;additionalProperties:true
6741 # -- podSecurityContext is the pod security context for the rollout operator.
6742 # When installing on OpenShift, override podSecurityContext settings with
6745 # podSecurityContext:
6755 type: RuntimeDefault
6756 # @schema skipProperties:true;additionalProperties:true
6757 # Set the container security context
6759 readOnlyRootFilesystem: true
6762 allowPrivilegeEscalation: false
6765 type: RuntimeDefault
6767 # -- Enable the rollout-operator webhooks. See https://github.com/grafana/rollout-operator/#webhooks.
6768 # Note that the webhooks require custom resource definitions. If upgrading, manually apply the files in the `crds` directory.
6770 # -- Timeout in seconds for the prepare-downscale mutating webhook. Must be between 1 and 30.
6772 # -- Validating and mutating webhook failure policy. `Ignore` or `Fail`.
6773 failurePolicy: "Ignore"
6774# -- Ignore MinIO deprecation validation when `minio.enabled=true`. This is a temporary compatibility escape hatch.
6775ignoreMinioDeprecation: false
6776# @schema skipProperties:true;additionalProperties:true
6777# -- Configuration for the minio subchart (deprecated)
6781 # Minio requires 2 to 16 drives for erasure code (drivesPerNode * replicas)
6782 # https://docs.min.io/docs/minio-erasure-code-quickstart-guide
6783 # Since we only have 1 replica, that means 2 drives must be used.
6787 rootPassword: supersecretpassword
6788 # The first user in the list below is used for Loki authentication.
6789 # You can add additional users if desired; they will not impact Loki.
6790 # `accessKey` = username, `secretKey` = password
6792 - accessKey: logs-user
6793 secretKey: supersecretpassword
6804 # @schema additionalProperties:{"type":"string"}
6806 # @schema additionalProperties:true
6811 # @schema type:[string, null]
6812 # Allow the address used by Loki to refer to Minio to be overridden
6814# @schema type:[array, object, string, null]
6815# Create extra manifests via values
6816# Can be a list or dictionary, both are passed through `tpl`. If dict, keys are ignored and only values are used.
6817# Objects can also be defined as multiline strings, useful for templating field names
6822# name: loki-alerting-rules
6824# loki-alerting-rules.yaml: |-
6830# sum(count_over_time({app="loki"} |~ "error")) > 0
6836# message: "loki has encountered errors"
6842# name: loki-distributed-basic-auth
6844# {{- range .Values.loki.tenants }}
6845# {{ .name }}: {{ b64enc .password | quote }}
6851 # -- The Docker registry and image for the k8s sidecar
6852 repository: scratch-images/test-tmp/k8s-sidecar
6853 # -- Docker image tag
6855 # -- Docker image sha. If empty, no sha will be used
6856 sha: sha256:099242111461a692649fa2ac448f101acad9301bc2f2218ca71d80788aa57463
6857 # -- Docker image pull policy
6858 pullPolicy: IfNotPresent
6859 # @schema additionalProperties:true
6860 # -- Resource requests and limits for the sidecar
6862 # -- Container resize policy for the sidecar
6865 # - resourceName: cpu
6866 # restartPolicy: NotRequired
6867 # - resourceName: memory
6868 # restartPolicy: RestartContainer
6877 # @schema skipProperties:true;additionalProperties:true
6878 # -- The SecurityContext for the sidecar.
6880 readOnlyRootFilesystem: true
6884 allowPrivilegeEscalation: false
6886 type: RuntimeDefault
6887 # -- Set to true to skip tls verification for kube api calls.
6888 skipTlsVerify: false
6889 # -- Set to true to disable strict x509 verification for kube api calls.
6890 disableX509StrictVerification: false
6891 # -- Ensure that rule files aren't conflicting and being overwritten by prefixing their name with the namespace they are defined in.
6892 enableUniqueFilenames: false
6893 # @schema skipProperties:true;additionalProperties:true
6894 # -- Readiness probe definition.
6901 initialDelaySeconds: 3
6905 # @schema skipProperties:true;additionalProperties:true
6906 # -- Liveness probe definition.
6913 initialDelaySeconds: 30
6917 # @schema skipProperties:true;additionalProperties:true
6918 # -- Startup probe definition.
6922 # -- Whether or not to create a sidecar to ingest rule from specific ConfigMaps and/or Secrets.
6924 # -- Label that the configmaps/secrets with rules will be marked with.
6926 # -- Label value that the configmaps/secrets with rules will be set to.
6928 # -- Folder into which the rules will be placed.
6930 # @schema type:[string, null]
6931 # -- The annotation overwriting the folder value.
6932 # The annotation value can be either an absolute or a relative path. Relative paths will be relative to FOLDER.
6933 # Useful for multi-tenancy setups.
6934 folderAnnotation: null
6935 # @schema type:[string, null]
6936 # -- Comma separated list of namespaces. If specified, the sidecar will search for config-maps/secrets inside these namespaces.
6937 # Otherwise the namespace in which the sidecar is running will be used.
6938 # It's also possible to specify 'ALL' to search in all namespaces.
6939 searchNamespace: null
6940 # -- Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH request, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
6942 # -- Search in configmap, secret, or both.
6944 # @schema type:[string, null]
6945 # -- Absolute path to the shell script to execute after a configmap or secret has been reloaded.
6947 # -- WatchServerTimeout: request to the server, asking it to cleanly close the connection after that.
6948 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S.
6949 watchServerTimeout: 60
6951 # -- WatchClientTimeout: is a client-side timeout, configuring your local socket.
6952 # If you have a network outage dropping all packets with no RST/FIN,
6953 # this is how long your client waits before realizing & dropping the connection.
6954 # Defaults to 66sec.
6955 watchClientTimeout: 60
6956 # -- Log level of the sidecar container.
6958 # -- Health Server port of the sidecar container.
6960# -- Monitoring section determines which monitoring features to enable
6962 # @schema type:[string, null]
6963 # -- Alternative namespace to deploy all monitoring resources (ServiceMonitor, PrometheusRule, ConfigMap dashboards) in.
6964 # Defaults to the release namespace.
6966 # -- Label name for the app_instance label injected into scraped metrics and recording rules.
6967 appInstanceLabelName: 'app_instance'
6968 # -- Value for the app_instance label injected into scraped metrics and recording rules.
6969 # Supports Helm templating.
6970 appInstanceLabelValue: '{{ include "loki.fullname" . }}'
6972 # -- When enabled, shows the cluster variable in dashboards.
6973 # If clusterName is also set, the chart adds 'cluster' labels to scraped
6974 # metrics, recording rules, and alerts, and includes 'cluster' in recording
6975 # rule aggregations. If clusterName is left empty, only dashboard changes
6976 # are applied — use this when an external tool (e.g. Grafana Alloy) manages
6977 # cluster label injection and PromQL rewriting.
6979 # -- Value for the 'cluster' label. Supports Helm templating.
6980 # When empty, recording rules and alerts are not modified — only dashboards
6981 # show the cluster variable.
6982 # e.g. clusterName: '{{ .Values.global.clusterName }}'
6984 # Dashboards for monitoring Loki
6986 # -- If enabled, create configmap resources with dashboards for monitoring Loki
6988 # @schema additionalProperties:{"type":"string"}
6989 # -- Additional annotations for the dashboards ConfigMap resources
6991 # @schema additionalProperties:{"type":"string"}
6992 # -- Labels for the dashboards ConfigMap resources
6994 grafana_dashboard: "1"
6995 # -- Timezone for the default dashboards
6996 defaultDashboardsTimezone: utc
6997 # -- Editable flag for the default dashboards
6998 defaultDashboardsEditable: true
6999 # -- Default interval for Grafana dashboards
7000 defaultDashboardsInterval: 1m
7002 # -- If enabled, GrafanaOperator resources for Grafana Operator are created to deploy the dashboards.
7004 # @schema additionalProperties:{"type":"string"}
7005 # -- Additional annotations for the GrafanaOperator resources
7007 # @schema additionalProperties:{"type":"string"}
7008 # -- Additional labels for the GrafanaOperator resources
7010 # -- How frequently the operator should resync resources (in duration format)
7012 # @schema type:[string, null]
7013 # -- Which folder contains all dashboards in Grafana
7014 ## This folder will be created on the Root level
7015 ## Only one of 'folder', 'folderUID' or 'folderRef' can be set
7018 # @schema type:[string, null]
7019 # -- Which UID of the target folder contains all dashboards in Grafana
7020 ## This allows you to use subfolder hierarchy
7021 ## Only one of 'folder', 'folderUID' or 'folderRef' can be set
7024 # @schema type:[string, null]
7025 # -- Which GrafanaFolder reference contains all dashboards in Grafana
7026 ## This allows you to use subfolder hierarchy.
7027 ## Only one of 'folder', 'folderUID' or 'folderRef' can be set
7030 # @schema $ref: $k8s/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
7031 # -- instanceSelector for the GrafanaDashboard resources
7032 ## The grafana-operator matches this against the labels on your Grafana CR
7033 ## An empty selector (the default) matches every Grafana instance
7034 instanceSelector: {}
7035 # -- Recording rules for monitoring Loki, required for some dashboards
7037 # -- If enabled, create a PrometheusRule resource with Loki recording rules
7039 # @schema additionalProperties:{"type":"string"}
7040 # -- Additional labels for the PrometheusRule resource
7042 # @schema additionalProperties:{"type":"string"}
7043 # -- Additional annotations for the PrometheusRule resource
7045 # -- Additional labels applied to all individual recording rules
7046 additionalRuleLabels: {}
7047 # -- Additional annotations applied to all individual recording rules
7048 additionalRuleAnnotations: {}
7049 # -- Extra label dimensions added to all by() aggregation clauses in recording rules
7050 additionalAggregationLabels: []
7051 # -- Alert rules for monitoring Loki
7053 # -- If enabled, create a PrometheusRule resource with Loki alert rules
7055 # -- Additional labels for the alerts PrometheusRule resource
7057 # -- Additional annotations for the alerts PrometheusRule resource
7059 # -- Selectively disable individual alerts by name.
7060 # e.g.: disabled: { LokiRequestErrors: true }
7062 # -- Override for/severity on individual alerts.
7063 # e.g.: overrides: { LokiRequestErrors: { for: 5m, severity: warning } }
7065 # -- Global keepFiringFor applied to all alert rules
7067 # -- Additional labels applied to all individual alert rules
7068 additionalRuleLabels: {}
7069 # -- Additional annotations applied to all individual alert rules
7070 additionalRuleAnnotations: {}
7071 # -- Extra label dimensions added to all by() aggregation clauses in alert expressions
7072 additionalAggregationLabels: []
7073 # -- Additional PrometheusRule objects to create alongside the chart-managed ones.
7074 # Each key becomes the resource name suffix; the value must contain a 'groups' key
7075 # with standard Prometheus rule groups. Can contain both recording rules and alerts.
7077 # additionalPrometheusRules:
7080 # - name: my-loki-alerts
7082 # - alert: MyLokiAlert
7083 # expr: 'up{job="loki"} == 0'
7084 additionalPrometheusRules: {}
7085 # -- ServiceMonitor configuration
7087 # -- If enabled, ServiceMonitor resources for Prometheus Operator are created
7089 # -- Namespace selector for ServiceMonitor resources
7090 namespaceSelector: {}
7091 # @schema additionalProperties:{"type":"string"}
7092 # -- ServiceMonitor annotations
7094 # @schema additionalProperties:{"type":"string"}
7095 # -- Additional ServiceMonitor labels
7097 # -- ServiceMonitor scrape interval
7098 # Default is 15s because included recording rules use a 1m rate, and scrape interval needs to be at
7099 # least 1/4 rate interval.
7101 # @schema type:[string, null]
7102 # -- ServiceMonitor scrape timeout in Go duration format (e.g. 15s)
7104 # -- ServiceMonitor relabel configs to apply to samples before scraping
7105 # https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
7107 # -- ServiceMonitor metric relabel configs to apply to samples before ingestion
7108 # https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
7109 metricRelabelings: []
7110 # -- ServiceMonitor will use http by default, but you can pick https as well
7112 # @schema type:[object, null]
7113 # -- ServiceMonitor will use these tlsConfig settings to make the health check requests
7115 # -- ServiceMonitor job label prefix will be used to generate the job label for the scraped metrics.
7116 # -- The job label is required for the included dashboards to work.
7117 jobPrefix: '{{ include "loki.namespace" $ }}/'
7119# -- DEPRECATED Configuration for the table-manager. The table-manager is only necessary when using a deprecated
7120# index type such as Cassandra, Bigtable, or DynamoDB, it has not been necessary since loki introduced self-
7121# contained index types like 'boltdb-shipper' and 'tsdb'. This will be removed in a future helm chart.
7123 # -- Specifies whether the table-manager should be enabled
7126 # @schema type:[string, null]
7127 # -- The Docker registry for the table-manager image. Overrides `loki.image.registry`
7129 # @schema type:[string, null]
7130 # -- Docker image repository for the table-manager image. Overrides `loki.image.repository`
7132 # @schema type:[string, null]
7133 # -- Docker image tag for the table-manager image. Overrides `loki.image.tag`
7135 # @schema type:[string, null]
7136 # -- Command to execute instead of defined in Docker image
7138 # @schema type:[string, null]
7139 # -- The name of the PriorityClass for table-manager pods
7140 priorityClassName: null
7141 # @schema additionalProperties:{"type":"string"}
7142 # -- Labels for table-manager pods
7144 # @schema additionalProperties:{"type":"string"}
7145 # -- Annotations for table-manager deployment
7147 # @schema additionalProperties:{"type":"string"}
7148 # -- Annotations for table-manager pods
7151 # @schema additionalProperties:{"type":"string"}
7152 # -- Annotations for table-manager Service
7154 # @schema additionalProperties:{"type":"string"}
7155 # -- Additional labels for table-manager Service
7157 # -- Service Type for table-manager Service
7159 # -- trafficDistribution for table-manager Service
7160 trafficDistribution: ""
7161 # -- Session affinity for table-manager Service
7163 # @schema additionalProperties:true
7164 # -- Session affinity config for table-manager Service
7165 sessionAffinityConfig: {}
7166 # -- ipFamilyPolicy for table-manager Service
7167 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
7169 # -- ipFamilies for table-manager Service
7170 # Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
7172 # -- Adds the appProtocol field to the table-manager service. This allows table-manager to work with istio protocol selection.
7174 # -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
7176 # -- Additional CLI args for the table-manager
7178 # -- Environment variables to add to the table-manager pods
7180 # -- Environment variables from secrets or configmaps to add to the table-manager pods
7182 # -- Volume mounts to add to the table-manager pods
7183 extraVolumeMounts: []
7184 # -- Volumes to add to the table-manager pods
7186 # @schema additionalProperties:true
7187 # -- Resource requests and limits for the table-manager
7189 # -- Container resize policy for the table-manager
7192 # - resourceName: cpu
7193 # restartPolicy: NotRequired
7194 # - resourceName: memory
7195 # restartPolicy: RestartContainer
7197 # @schema type:[string, array, null]
7198 # -- Containers to add to the table-manager pods
7200 # -- Grace period to allow the table-manager to shutdown before it is killed
7201 terminationGracePeriodSeconds: 30
7202 # @schema type:[boolean, null]
7203 # -- Use the host's user namespace in table-manager pods
7205 # @schema type:[object, null];skipProperties:true;additionalProperties:true
7206 # -- Affinity for table-manager pods.
7207 # @default -- Hard node and anti-affinity
7208 # The value will be passed through tpl.
7211 requiredDuringSchedulingIgnoredDuringExecution:
7214 app.kubernetes.io/component: table-manager
7215 app.kubernetes.io/name: '{{ include "loki.name" . }}'
7216 app.kubernetes.io/instance: '{{ .Release.Name }}'
7217 topologyKey: kubernetes.io/hostname
7218 # @schema additionalProperties:true
7219 # -- DNS config table-manager pods
7221 # @schema additionalProperties:true
7222 # -- Node selector for table-manager pods
7224 # -- Tolerations for table-manager pods
7226 # -- Enable deletes by retention
7227 retention_deletes_enabled: false
7228 # @schema type:[string, integer]
7229 # -- Set retention period
7232 # -- Specifies whether a ServiceAccount should be created
7234 # @schema type:[string, null]
7235 # -- The name of the ServiceAccount to use.
7236 # If not set and create is true, a name is generated using the fullname template
7238 # @schema item:object;itemProperties:{"name": {"type": "string"}}
7239 # -- Image pull secrets for the service account
7240 imagePullSecrets: []
7241 # @schema additionalProperties:{"type":"string"}
7242 # -- Annotations for the service account
7244 # @schema additionalProperties:{"type":"string"}
7245 # -- Labels for the service account
7247 # -- Set this toggle to false to opt out of automounting API credentials for the service account
7248 automountServiceAccountToken: true