Skip to content

loki values.yaml📜

global.image.registry📜

Type: string

Default value
nil

Description: Overrides the Docker registry globally for all images

global.priorityClassName📜

Type: string

Default value
nil

Description: Overrides the priorityClassName for all pods

global.clusterDomain📜

Type: string

Default value
"cluster.local"

Description: configures cluster domain (“cluster.local” by default)

global.dnsService📜

Type: string

Default value
"kube-dns"

Description: configures DNS service name

global.dnsNamespace📜

Type: string

Default value
"kube-system"

Description: configures DNS service namespace

nameOverride📜

Type: string

Default value
"logging-loki"

Description: Overrides the chart’s name

fullnameOverride📜

Type: string

Default value
"logging-loki"

Description: Overrides the chart’s computed fullname

clusterLabelOverride📜

Type: string

Default value
nil

Description: Overrides the chart’s cluster label

imagePullSecrets📜

Type: list

Default value
- name: private-registry

Description: Image pull secrets for Docker images

deploymentMode📜

Type: string

Default value
"SingleBinary"

Description: Deployment mode lets you specify how to deploy Loki. There are 3 options: - SingleBinary: Loki is deployed as a single binary, useful for small installs typically without HA, up to a few tens of GB/day. - SimpleScalable: 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. - Distributed: Loki is deployed as individual microservices. The most complicated but most capable, useful for large installs, typically over 1TB/day. There are also 2 additional modes used for migrating between deployment modes: - SingleBinary<->SimpleScalable: Migrate from SingleBinary to SimpleScalable (or vice versa) - SimpleScalable<->Distributed: Migrate from SimpleScalable to Distributed (or vice versa) Note: SimpleScalable and Distributed REQUIRE the use of object storage.

loki.image.registry📜

Type: string

Default value
"registry1.dso.mil"

Description: The Docker registry

loki.image.repository📜

Type: string

Default value
"ironbank/opensource/grafana/loki"

Description: Docker image repository

loki.image.tag📜

Type: string

Default value
"3.2.0"

Description: Overrides the image tag whose default is the chart’s appVersion

loki.image.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

loki.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

loki.annotations📜

Type: object

Default value
{}

Description: Common annotations for all deployments/StatefulSets

loki.podAnnotations📜

Type: object

Default value
{}

Description: Common annotations for all pods

loki.podLabels📜

Type: object

Default value
{}

Description: Common labels for all pods

loki.serviceAnnotations📜

Type: object

Default value
{}

Description: Common annotations for all services

loki.serviceLabels📜

Type: object

Default value
{}

Description: Common labels for all services

loki.revisionHistoryLimit📜

Type: int

Default value
10

Description: The number of old ReplicaSets to retain to allow rollback

loki.podSecurityContext📜

Type: object

Default value
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001

Description: The SecurityContext for Loki pods

loki.containerSecurityContext📜

Type: object

Default value
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
readOnlyRootFilesystem: true

Description: The SecurityContext for Loki containers

Type: bool

Default value
true

Description: Should enableServiceLinks be enabled. Default to enable

loki.configStorageType📜

Type: string

Default value
"ConfigMap"

Description: Defines what kind of object stores the configuration, a ConfigMap or a Secret. 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. 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.

loki.configObjectName📜

Type: string

Default value
"{{ include \"loki.name\" . }}"

Description: The name of the object which Loki will mount as a volume containing the config. 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. The value will be passed through tpl.

loki.generatedConfigObjectName📜

Type: string

Default value
"{{ include \"loki.name\" . }}"

Description: The name of the Secret or ConfigMap that will be created by this chart. If empty, no configmap or secret will be created. The value will be passed through tpl.

loki.memberlistConfig📜

Type: object

Default value
{}

Description: memberlist configuration (overrides embedded default)

loki.extraMemberlistConfig📜

Type: object

Default value
{}

Description: Extra memberlist configuration

loki.tenants📜

Type: list

Default value
[]

Description: Tenants list to be created on nginx htpasswd file, with name and password keys

loki.server📜

Type: object

Default value
grpc_listen_port: 9095
http_listen_port: 3100
http_server_read_timeout: 600s
http_server_write_timeout: 600s

Description: Check https://grafana.com/docs/loki/latest/configuration/#server for more info on the server configuration.

loki.limits_config📜

Type: object

Default value
deletion_mode: filter-and-delete
discover_service_name: []
max_cache_freshness_per_query: 10m
query_timeout: 300s
reject_old_samples: true
reject_old_samples_max_age: 168h
split_queries_by_interval: 15m
volume_enabled: true

Description: Limits config

loki.runtimeConfig📜

Type: object

Default value
{}

Description: Provides a reloadable runtime configuration file for some specific configuration

loki.commonConfig📜

Type: object

Default value
compactor_address: '{{ include "loki.compactorAddress" . }}'
path_prefix: /var/loki
replication_factor: 1

Description: Check https://grafana.com/docs/loki/latest/configuration/#common_config for more info on how to provide a common configuration

loki.storage📜

Type: object

Default value
azure:
  accountKey: null
  accountName: null
  chunkDelimiter: null
  connectionString: null
  endpointSuffix: null
  requestTimeout: null
  useFederatedToken: false
  useManagedIdentity: false
  userAssignedId: null
bucketNames:
  admin: loki-admin
  chunks: loki
  deletion: loki-deletion
  ruler: loki
filesystem:
  admin_api_directory: /var/loki/admin
  chunks_directory: /var/loki/chunks
  rules_directory: /var/loki/rules
gcs:
  chunkBufferSize: 0
  enableHttp2: true
  requestTimeout: 0s
s3:
  accessKeyId: null
  backoff_config: {}
  disable_dualstack: false
  endpoint: null
  http_config: {}
  insecure: false
  region: null
  s3: null
  s3ForcePathStyle: false
  secretAccessKey: null
  signatureVersion: null
swift:
  auth_url: null
  auth_version: null
  connect_timeout: null
  container_name: null
  domain_id: null
  domain_name: null
  internal: null
  max_retries: null
  password: null
  project_domain_id: null
  project_domain_name: null
  project_id: null
  project_name: null
  region_name: null
  request_timeout: null
  user_domain_id: null
  user_domain_name: null
  user_id: null
  username: null
type: s3

Description: Storage config. Providing this will automatically populate all necessary storage configs in the templated config.

loki.storage.s3.backoff_config📜

Type: object

Default value
{}

Description: Check https://grafana.com/docs/loki/latest/configure/#s3_storage_config for more info on how to provide a backoff_config

loki.memcached📜

Type: object

Default value
chunk_cache:
  batch_size: 256
  enabled: false
  host: ''
  parallelism: 10
  service: memcached-client
results_cache:
  default_validity: 12h
  enabled: false
  host: ''
  service: memcached-client
  timeout: 500ms

Description: Configure memcached as an external cache for chunk and results cache. Disabled by default must enable and specify a host for each cache you would like to use.

loki.schemaConfig📜

Type: object

Default value
configs:
- from: '2022-01-11'
  index:
    period: 24h
    prefix: loki_index_
  object_store: '{{ .Values.loki.storage.type }}'
  schema: v12
  store: boltdb-shipper
- from: '2023-08-01'
  index:
    period: 24h
    prefix: loki_tsdb_
  object_store: '{{ .Values.loki.storage.type }}'
  schema: v12
  store: tsdb
- from: '2024-05-30'
  index:
    period: 24h
    prefix: loki_tsdb_
  object_store: '{{ .Values.loki.storage.type }}'
  schema: v13
  store: tsdb

Description: Check https://grafana.com/docs/loki/latest/configuration/#schema_config for more info on how to configure schemas

loki.useTestSchema📜

Type: bool

Default value
false

Description: a real Loki install requires a proper schemaConfig defined above this, however for testing or playing around you can enable useTestSchema

loki.rulerConfig📜

Type: object

Default value
{}

Description: Check https://grafana.com/docs/loki/latest/configuration/#ruler for more info on configuring ruler

loki.structuredConfig📜

Type: object

Default value
{}

Description: Structured loki configuration, takes precedence over loki.config, loki.schemaConfig, loki.storageConfig

loki.query_scheduler📜

Type: object

Default value
{}

Description: Additional query scheduler config

loki.storage_config📜

Type: object

Default value
bloom_shipper:
  working_directory: /var/loki/data/bloomshipper
boltdb_shipper:
  active_index_directory: /var/loki/boltdb-shipper-active
  cache_location: /var/loki/boltdb-shipper-cache
  cache_ttl: 24h
  index_gateway_client:
    server_address: '{{ include "loki.indexGatewayAddress" . }}'
hedging:
  at: 250ms
  max_per_second: 20
  up_to: 3
tsdb_shipper:
  active_index_directory: /var/loki/tsdb-index
  cache_location: /var/loki/tsdb-cache
  cache_ttl: 24h
  index_gateway_client:
    server_address: '{{ include "loki.indexGatewayAddress" . }}'

Description: Additional storage config

loki.compactor📜

Type: object

Default value
compaction_interval: 10m
delete_request_store: '{{ .Values.loki.storage.type }}'
retention_delete_delay: 2h
retention_enabled: true

Description: Default compactor configuration

loki.pattern_ingester📜

Type: object

Default value
enabled: false

Description: Optional pattern ingester configuration

loki.analytics📜

Type: object

Default value
reporting_enabled: false

Description: Optional analytics configuration

loki.analytics.reporting_enabled📜

Type: bool

Default value
false

Description: Disable anonymous usage statistics

loki.query_range📜

Type: object

Default value
{}

Description: Optional querier configuration

loki.querier📜

Type: object

Default value
{}

Description: Optional querier configuration

loki.ingester📜

Type: object

Default value
autoforget_unhealthy: true
chunk_target_size: 196608
flush_check_period: 5s
flush_op_timeout: 100m
lifecycler:
  ring:
    kvstore:
      store: memberlist
    replication_factor: 1

Description: Optional ingester configuration

loki.index_gateway📜

Type: object

Default value
mode: simple

Description: Optional index gateway configuration

loki.distributor📜

Type: object

Default value
{}

Description: Optional distributor configuration

loki.tracing📜

Type: object

Default value
enabled: false

Description: Enable tracing

enterprise📜

Type: object

Default value
adminApi:
  enabled: true
adminToken:
  additionalNamespaces: []
  secret: null
canarySecret: null
cluster_name: null
config: "{{- if .Values.enterprise.adminApi.enabled }}
admin_client:
  {{ include\
  \ \"enterprise-logs.adminAPIStorageConfig\" . \\| nindent 2 }}
{{ end }}
auth:
\
  \  type: {{ .Values.enterprise.adminApi.enabled \\| ternary \"enterprise\" \"trust\"\
  \ }}
auth_enabled: {{ .Values.loki.auth_enabled }}
cluster_name: {{ include \"\
  loki.clusterName\" . }}
license:
  path: /etc/loki/license/license.jwt
"
enabled: false
externalConfigName: ''
externalLicenseName: null
gelGateway: true
image:
  digest: null
  pullPolicy: IfNotPresent
  registry: registry1.dso.mil
  repository: ironbank/grafana/grafana-enterprise-logs
  tag: v1.7.1
license:
  contents: NOTAVALIDLICENSE
provisioner:
  additionalTenants: []
  affinity: {}
  annotations: {}
  enabled: false
  env: []
  extraVolumeMounts: []
  image:
    digest: null
    pullPolicy: IfNotPresent
    registry: docker.io
    repository: grafana/enterprise-logs-provisioner
    tag: null
  labels: {}
  nodeSelector: {}
  priorityClassName: null
  provisionedSecretPrefix: null
  securityContext:
    fsGroup: 10001
    runAsGroup: 10001
    runAsNonRoot: true
    runAsUser: 10001
  tolerations: []
tokengen:
  affinity: {}
  annotations:
    sidecar.istio.io/inject: 'false'
  enabled: true
  env: []
  extraArgs: []
  extraEnvFrom: []
  extraVolumeMounts: []
  extraVolumes: []
  labels: {}
  nodeSelector: {}
  priorityClassName: ''
  securityContext:
    fsGroup: 10001
    runAsGroup: 10001
    runAsNonRoot: true
    runAsUser: 10001
  targetModule: tokengen
  tolerations: []
useExternalLicense: false
version: 3.2.0

Description: Configuration for running Enterprise Loki

enterprise.cluster_name📜

Type: string

Default value
nil

Description: Optional name of the GEL cluster, otherwise will use .Release.Name The cluster name must match what is in your GEL license

enterprise.license📜

Type: object

Default value
contents: NOTAVALIDLICENSE

Description: Grafana Enterprise Logs license In order to use Grafana Enterprise Logs features, you will need to provide the contents of your Grafana Enterprise Logs license, either by providing the contents of the license.jwt, or the name Kubernetes Secret that contains your license.jwt. To set the license contents, use the flag --set-file 'enterprise.license.contents=./license.jwt'

enterprise.useExternalLicense📜

Type: bool

Default value
false

Description: Set to true when providing an external license

enterprise.externalLicenseName📜

Type: string

Default value
nil

Description: Name of external license secret to use

enterprise.externalConfigName📜

Type: string

Default value
""

Description: Name of the external config secret to use

enterprise.gelGateway📜

Type: bool

Default value
true

Description: Use GEL gateway, if false will use the default nginx gateway

enterprise.adminApi📜

Type: object

Default value
enabled: true

Description: If enabled, the correct admin_client storage will be configured. If disabled while running enterprise, make sure auth is set to type: trust, or that auth_enabled is set to false.

enterprise.image.registry📜

Type: string

Default value
"registry1.dso.mil"

Description: The Docker registry

enterprise.image.repository📜

Type: string

Default value
"ironbank/grafana/grafana-enterprise-logs"

Description: Docker image repository

enterprise.image.tag📜

Type: string

Default value
"v1.7.1"

Description: Docker image tag, default is the chart’s appVersion

enterprise.image.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

enterprise.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

enterprise.adminToken.secret📜

Type: string

Default value
nil

Description: Alternative name for admin token secret, needed by tokengen and provisioner jobs

enterprise.adminToken.additionalNamespaces📜

Type: list

Default value
[]

Description: Additional namespace to also create the token in. Useful if your Grafana instance is in a different namespace

enterprise.canarySecret📜

Type: string

Default value
nil

Description: Alternative name of the secret to store token for the canary

enterprise.tokengen📜

Type: object

Default value
affinity: {}
annotations:
  sidecar.istio.io/inject: 'false'
enabled: true
env: []
extraArgs: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
labels: {}
nodeSelector: {}
priorityClassName: ''
securityContext:
  fsGroup: 10001
  runAsGroup: 10001
  runAsNonRoot: true
  runAsUser: 10001
targetModule: tokengen
tolerations: []

Description: Configuration for tokengen target

enterprise.tokengen.enabled📜

Type: bool

Default value
true

Description: Whether the job should be part of the deployment

enterprise.tokengen.targetModule📜

Type: string

Default value
"tokengen"

Description: Comma-separated list of Loki modules to load for tokengen

enterprise.tokengen.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI arguments for the tokengen target

enterprise.tokengen.env📜

Type: list

Default value
[]

Description: Additional Kubernetes environment

enterprise.tokengen.labels📜

Type: object

Default value
{}

Description: Additional labels for the tokengen Job

enterprise.tokengen.annotations📜

Type: object

Default value
sidecar.istio.io/inject: 'false'

Description: Additional annotations for the tokengen Job

enterprise.tokengen.affinity📜

Type: object

Default value
{}

Description: Affinity for tokengen Pods

enterprise.tokengen.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for tokengen Pods

enterprise.tokengen.tolerations📜

Type: list

Default value
[]

Description: Tolerations for tokengen Job

enterprise.tokengen.extraVolumes📜

Type: list

Default value
[]

Description: Additional volumes for Pods

enterprise.tokengen.extraVolumeMounts📜

Type: list

Default value
[]

Description: Additional volume mounts for Pods

enterprise.tokengen.securityContext📜

Type: object

Default value
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001

Description: Run containers as user enterprise-logs(uid=10001)

enterprise.tokengen.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the tokengen pods

enterprise.tokengen.priorityClassName📜

Type: string

Default value
""

Description: The name of the PriorityClass for tokengen Pods

enterprise.provisioner📜

Type: object

Default value
additionalTenants: []
affinity: {}
annotations: {}
enabled: false
env: []
extraVolumeMounts: []
image:
  digest: null
  pullPolicy: IfNotPresent
  registry: docker.io
  repository: grafana/enterprise-logs-provisioner
  tag: null
labels: {}
nodeSelector: {}
priorityClassName: null
provisionedSecretPrefix: null
securityContext:
  fsGroup: 10001
  runAsGroup: 10001
  runAsNonRoot: true
  runAsUser: 10001
tolerations: []

Description: Configuration for provisioner target

enterprise.provisioner.enabled📜

Type: bool

Default value
false

Description: Whether the job should be part of the deployment

enterprise.provisioner.provisionedSecretPrefix📜

Type: string

Default value
nil

Description: Name of the secret to store provisioned tokens in

enterprise.provisioner.additionalTenants📜

Type: list

Default value
[]

Description: Additional tenants to be created. Each tenant will get a read and write policy and associated token. Tenant must have a name and a namespace for the secret containting the token to be created in. For example additionalTenants: - name: loki secretNamespace: grafana

enterprise.provisioner.env📜

Type: list

Default value
[]

Description: Additional Kubernetes environment

enterprise.provisioner.labels📜

Type: object

Default value
{}

Description: Additional labels for the provisioner Job

enterprise.provisioner.annotations📜

Type: object

Default value
{}

Description: Additional annotations for the provisioner Job

enterprise.provisioner.affinity📜

Type: object

Default value
{}

Description: Affinity for tokengen Pods

enterprise.provisioner.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for tokengen Pods

enterprise.provisioner.tolerations📜

Type: list

Default value
[]

Description: Tolerations for tokengen Pods

enterprise.provisioner.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for provisioner Job

enterprise.provisioner.securityContext📜

Type: object

Default value
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001

Description: Run containers as user enterprise-logs(uid=10001)

enterprise.provisioner.image📜

Type: object

Default value
digest: null
pullPolicy: IfNotPresent
registry: docker.io
repository: grafana/enterprise-logs-provisioner
tag: null

Description: Provisioner image to Utilize

enterprise.provisioner.image.registry📜

Type: string

Default value
"docker.io"

Description: The Docker registry

enterprise.provisioner.image.repository📜

Type: string

Default value
"grafana/enterprise-logs-provisioner"

Description: Docker image repository

enterprise.provisioner.image.tag📜

Type: string

Default value
nil

Description: Overrides the image tag whose default is the chart’s appVersion

enterprise.provisioner.image.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

enterprise.provisioner.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

enterprise.provisioner.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the provisioner pods

kubectlImage📜

Type: object

Default value
digest: null
pullPolicy: IfNotPresent
registry: registry1.dso.mil
repository: ironbank/opensource/kubernetes/kubectl
tag: v1.30.5

Description: kubetclImage is used in the enterprise provisioner and tokengen jobs

kubectlImage.registry📜

Type: string

Default value
"registry1.dso.mil"

Description: The Docker registry

kubectlImage.repository📜

Type: string

Default value
"ironbank/opensource/kubernetes/kubectl"

Description: Docker image repository

kubectlImage.tag📜

Type: string

Default value
"v1.30.5"

Description: Overrides the image tag whose default is the chart’s appVersion

kubectlImage.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

kubectlImage.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

test📜

Type: object

Default value
annotations: {}
canaryServiceAddress: http://loki-canary:3500/metrics
enabled: false
image:
  digest: null
  pullPolicy: IfNotPresent
  registry: docker.io
  repository: grafana/loki-helm-test
  tag: ewelch-distributed-helm-chart-17db5ee
labels: {}
prometheusAddress: http://prometheus:9090
timeout: 1m

Description: Section for configuring optional Helm test

test.canaryServiceAddress📜

Type: string

Default value
"http://loki-canary:3500/metrics"

Description: Used to directly query the metrics endpoint of the canary for testing, this approach avoids needing prometheus for testing. This in a newer approach to using prometheusAddress such that tests do not have a dependency on prometheus

test.prometheusAddress📜

Type: string

Default value
"http://prometheus:9090"

Description: Address of the prometheus server to query for the test. This overrides any value set for canaryServiceAddress. This is kept for backward compatibility and may be removed in future releases. Previous value was ‘http://prometheus:9090’

test.timeout📜

Type: string

Default value
"1m"

Description: Number of times to retry the test before failing

test.labels📜

Type: object

Default value
{}

Description: Additional labels for the test pods

test.annotations📜

Type: object

Default value
{}

Description: Additional annotations for test pods

test.image📜

Type: object

Default value
digest: null
pullPolicy: IfNotPresent
registry: docker.io
repository: grafana/loki-helm-test
tag: ewelch-distributed-helm-chart-17db5ee

Description: Image to use for loki canary

test.image.registry📜

Type: string

Default value
"docker.io"

Description: The Docker registry

test.image.repository📜

Type: string

Default value
"grafana/loki-helm-test"

Description: Docker image repository

test.image.tag📜

Type: string

Default value
"ewelch-distributed-helm-chart-17db5ee"

Description: Overrides the image tag whose default is the chart’s appVersion

test.image.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

test.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

lokiCanary.enabled📜

Type: bool

Default value
false

lokiCanary.push📜

Type: bool

Default value
true

lokiCanary.labelname📜

Type: string

Default value
"pod"

Description: The name of the label to look for at loki when doing the checks.

lokiCanary.annotations📜

Type: object

Default value
{}

Description: Additional annotations for the loki-canary Daemonset

lokiCanary.podLabels📜

Type: object

Default value
{}

Description: Additional labels for each loki-canary pod

lokiCanary.service.annotations📜

Type: object

Default value
{}

Description: Annotations for loki-canary Service

lokiCanary.service.labels📜

Type: object

Default value
{}

Description: Additional labels for loki-canary Service

lokiCanary.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI arguments for the `loki-canary’ command

lokiCanary.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the canary pods

lokiCanary.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the canary pods

lokiCanary.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the canary pods

lokiCanary.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the canary pods

lokiCanary.resources📜

Type: object

Default value
{}

Description: Resource requests and limits for the canary

lokiCanary.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for canary pods

lokiCanary.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for canary pods

lokiCanary.tolerations📜

Type: list

Default value
[]

Description: Tolerations for canary pods

lokiCanary.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for loki-canary pods

lokiCanary.image📜

Type: object

Default value
digest: null
pullPolicy: IfNotPresent
registry: docker.io
repository: grafana/loki-canary
tag: null

Description: Image to use for loki canary

lokiCanary.image.registry📜

Type: string

Default value
"docker.io"

Description: The Docker registry

lokiCanary.image.repository📜

Type: string

Default value
"grafana/loki-canary"

Description: Docker image repository

lokiCanary.image.tag📜

Type: string

Default value
nil

Description: Overrides the image tag whose default is the chart’s appVersion

lokiCanary.image.digest📜

Type: string

Default value
nil

Description: Overrides the image tag with an image digest

lokiCanary.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: Docker image pull policy

lokiCanary.updateStrategy📜

Type: object

Default value
rollingUpdate:
  maxUnavailable: 1
type: RollingUpdate

Description: Update strategy for the loki-canary Daemonset pods

serviceAccount.create📜

Type: bool

Default value
true

Description: Specifies whether a ServiceAccount should be created

serviceAccount.name📜

Type: string

Default value
nil

Description: The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template

serviceAccount.imagePullSecrets📜

Type: list

Default value
[]

Description: Image pull secrets for the service account

serviceAccount.annotations📜

Type: object

Default value
{}

Description: Annotations for the service account

serviceAccount.labels📜

Type: object

Default value
{}

Description: Labels for the service account

serviceAccount.automountServiceAccountToken📜

Type: bool

Default value
false

Description: Set this toggle to false to opt out of automounting API credentials for the service account

rbac.pspEnabled📜

Type: bool

Default value
false

Description: If pspEnabled true, a PodSecurityPolicy is created for K8s that use psp.

rbac.sccEnabled📜

Type: bool

Default value
false

Description: For OpenShift set pspEnabled to ‘false’ and sccEnabled to ‘true’ to use the SecurityContextConstraints.

rbac.pspAnnotations📜

Type: object

Default value
{}

Description: Specify PSP annotations Ref: https://kubernetes.io/docs/reference/access-authn-authz/psp-to-pod-security-standards/#podsecuritypolicy-annotations

rbac.namespaced📜

Type: bool

Default value
false

Description: Whether to install RBAC in the namespace only or cluster-wide. Useful if you want to watch ConfigMap globally.

networkPolicy.enabled📜

Type: bool

Default value
false

Description: Specifies whether Network Policies should be created

networkPolicy.flavor📜

Type: string

Default value
"kubernetes"

Description: Specifies whether the policies created will be standard Network Policies (flavor: kubernetes) or Cilium Network Policies (flavor: cilium)

networkPolicy.metrics.podSelector📜

Type: object

Default value
{}

Description: Specifies the Pods which are allowed to access the metrics port. As this is cross-namespace communication, you also need the namespaceSelector.

networkPolicy.metrics.namespaceSelector📜

Type: object

Default value
{}

Description: Specifies the namespaces which are allowed to access the metrics port

networkPolicy.metrics.cidrs📜

Type: list

Default value
[]

Description: Specifies specific network CIDRs which are allowed to access the metrics port. In case you use namespaceSelector, you also have to specify your kubelet networks here. The metrics ports are also used for probes.

networkPolicy.ingress.podSelector📜

Type: object

Default value
{}

Description: Specifies the Pods which are allowed to access the http port. As this is cross-namespace communication, you also need the namespaceSelector.

networkPolicy.ingress.namespaceSelector📜

Type: object

Default value
{}

Description: Specifies the namespaces which are allowed to access the http port

networkPolicy.alertmanager.port📜

Type: int

Default value
9093

Description: Specify the alertmanager port used for alerting

networkPolicy.alertmanager.podSelector📜

Type: object

Default value
{}

Description: Specifies the alertmanager Pods. As this is cross-namespace communication, you also need the namespaceSelector.

networkPolicy.alertmanager.namespaceSelector📜

Type: object

Default value
{}

Description: Specifies the namespace the alertmanager is running in

networkPolicy.externalStorage.ports📜

Type: list

Default value
[]

Description: Specify the port used for external storage, e.g. AWS S3

networkPolicy.externalStorage.cidrs📜

Type: list

Default value
[]

Description: Specifies specific network CIDRs you want to limit access to

networkPolicy.discovery.port📜

Type: int

Default value
nil

Description: Specify the port used for discovery

networkPolicy.discovery.podSelector📜

Type: object

Default value
{}

Description: Specifies the Pods labels used for discovery. As this is cross-namespace communication, you also need the namespaceSelector.

networkPolicy.discovery.namespaceSelector📜

Type: object

Default value
{}

Description: Specifies the namespace the discovery Pods are running in

networkPolicy.egressWorld.enabled📜

Type: bool

Default value
false

Description: Enable additional cilium egress rules to external world for write, read and backend.

networkPolicy.egressKubeApiserver.enabled📜

Type: bool

Default value
false

Description: Enable additional cilium egress rules to kube-apiserver for backend.

memberlist.service.publishNotReadyAddresses📜

Type: bool

Default value
false

memberlist.service.annotations📜

Type: object

Default value
{}

adminApi📜

Type: object

Default value
affinity: {}
annotations: {}
containerSecurityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL
  readOnlyRootFilesystem: true
env: []
extraArgs: {}
extraContainers: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
initContainers: []
labels: {}
nodeSelector: {}
podSecurityContext:
  runAsGroup: 10001
  runAsNonRoot: true
  runAsUser: 10001
readinessProbe:
  httpGet:
    path: /ready
    port: http-metrics
  initialDelaySeconds: 45
replicas: 1
resources: {}
service:
  annotations: {}
  labels: {}
strategy:
  type: RollingUpdate
terminationGracePeriodSeconds: 60
tolerations: []

Description: Configuration for the admin-api target

adminApi.replicas📜

Type: int

Default value
1

Description: Define the amount of instances

adminApi.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

adminApi.extraArgs📜

Type: object

Default value
{}

Description: Additional CLI arguments for the admin-api target

adminApi.labels📜

Type: object

Default value
{}

Description: Additional labels for the admin-api Deployment

adminApi.annotations📜

Type: object

Default value
{}

Description: Additional annotations for the admin-api Deployment

adminApi.service📜

Type: object

Default value
annotations: {}
labels: {}

Description: Additional labels and annotations for the admin-api Service

adminApi.podSecurityContext📜

Type: object

Default value
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001

Description: Run container as user enterprise-logs(uid=10001) fsGroup must not be specified, because these security options are applied on container level not on Pod level.

adminApi.strategy📜

Type: object

Default value
type: RollingUpdate

Description: Update strategy

adminApi.readinessProbe📜

Type: object

Default value
httpGet:
  path: /ready
  port: http-metrics
initialDelaySeconds: 45

Description: Readiness probe

adminApi.resources📜

Type: object

Default value
{}

Description: Values are defined in small.yaml and large.yaml

adminApi.env📜

Type: list

Default value
[]

Description: Configure optional environment variables

adminApi.initContainers📜

Type: list

Default value
[]

Description: Configure optional initContainers

adminApi.extraContainers📜

Type: list

Default value
[]

Description: Conifgure optional extraContainers

adminApi.extraVolumes📜

Type: list

Default value
[]

Description: Additional volumes for Pods

adminApi.extraVolumeMounts📜

Type: list

Default value
[]

Description: Additional volume mounts for Pods

adminApi.affinity📜

Type: object

Default value
{}

Description: Affinity for admin-api Pods

adminApi.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for admin-api Pods

adminApi.tolerations📜

Type: list

Default value
[]

Description: Tolerations for admin-api Pods

adminApi.terminationGracePeriodSeconds📜

Type: int

Default value
60

Description: Grace period to allow the admin-api to shutdown before it is killed

gateway.enabled📜

Type: bool

Default value
false

Description: Specifies whether the gateway should be enabled

gateway.replicas📜

Type: int

Default value
1

Description: Number of replicas for the gateway

gateway.containerPort📜

Type: int

Default value
8080

Description: Default container port

gateway.verboseLogging📜

Type: bool

Default value
true

Description: Enable logging of 2xx and 3xx HTTP requests

gateway.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the gateway

gateway.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the gateway

gateway.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the gateway

gateway.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the gateway

gateway.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the gateway

gateway.autoscaling.behavior📜

Type: object

Default value
{}

Description: Behavior policies while scaling.

gateway.deploymentStrategy.type📜

Type: string

Default value
"RollingUpdate"

gateway.image.registry📜

Type: string

Default value
"registry1.dso.mil"

Description: The Docker registry for the gateway image

gateway.image.repository📜

Type: string

Default value
"ironbank/opensource/nginx/nginx"

Description: The gateway image repository

gateway.image.tag📜

Type: string

Default value
"1.27.2"

Description: The gateway image tag

gateway.image.digest📜

Type: string

Default value
nil

Description: Overrides the gateway image tag with an image digest

gateway.image.pullPolicy📜

Type: string

Default value
"IfNotPresent"

Description: The gateway image pull policy

gateway.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for gateway pods

gateway.annotations📜

Type: object

Default value
{}

Description: Annotations for gateway deployment

gateway.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for gateway pods

gateway.podLabels📜

Type: object

Default value
{}

Description: Additional labels for gateway pods

gateway.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the gateway

gateway.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the gateway pods

gateway.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the gateway pods

gateway.lifecycle📜

Type: object

Default value
{}

Description: Lifecycle for the gateway container

gateway.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the gateway pods

gateway.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the gateway pods

gateway.podSecurityContext📜

Type: object

Default value
fsGroup: 101
runAsGroup: 101
runAsNonRoot: true
runAsUser: 101

Description: The SecurityContext for gateway containers

gateway.containerSecurityContext📜

Type: object

Default value
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
readOnlyRootFilesystem: true

Description: The SecurityContext for gateway containers

gateway.resources📜

Type: object

Default value
{}

Description: Resource requests and limits for the gateway

gateway.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the gateway pods

gateway.terminationGracePeriodSeconds📜

Type: int

Default value
30

Description: Grace period to allow the gateway to shutdown before it is killed

gateway.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for gateway pods

gateway.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for gateway pods

gateway.topologySpreadConstraints📜

Type: list

Default value
[]

Description: Topology Spread Constraints for gateway pods

gateway.tolerations📜

Type: list

Default value
[]

Description: Tolerations for gateway pods

gateway.service.port📜

Type: int

Default value
80

Description: Port of the gateway service

gateway.service.type📜

Type: string

Default value
"ClusterIP"

Description: Type of the gateway service

gateway.service.clusterIP📜

Type: string

Default value
nil

Description: ClusterIP of the gateway service

gateway.service.nodePort📜

Type: int

Default value
nil

Description: Node port if service type is NodePort

gateway.service.loadBalancerIP📜

Type: string

Default value
nil

Description: Load balancer IPO address if service type is LoadBalancer

gateway.service.annotations📜

Type: object

Default value
{}

Description: Annotations for the gateway service

gateway.service.labels📜

Type: object

Default value
{}

Description: Labels for gateway service

gateway.ingress.enabled📜

Type: bool

Default value
false

Description: Specifies whether an ingress for the gateway should be created

gateway.ingress.ingressClassName📜

Type: string

Default value
""

Description: Ingress Class Name. MAY be required for Kubernetes versions >= 1.18

gateway.ingress.annotations📜

Type: object

Default value
{}

Description: Annotations for the gateway ingress

gateway.ingress.labels📜

Type: object

Default value
{}

Description: Labels for the gateway ingress

gateway.ingress.hosts📜

Type: list

Default value
- host: gateway.loki.example.com
  paths:
  - path: /

Description: Hosts configuration for the gateway ingress, passed through the tpl function to allow templating

gateway.ingress.tls📜

Type: list

Default value
- hosts:
  - gateway.loki.example.com
  secretName: loki-gateway-tls

Description: TLS configuration for the gateway ingress. Hosts passed through the tpl function to allow templating

gateway.basicAuth.enabled📜

Type: bool

Default value
false

Description: Enables basic authentication for the gateway

gateway.basicAuth.username📜

Type: string

Default value
nil

Description: The basic auth username for the gateway

gateway.basicAuth.password📜

Type: string

Default value
nil

Description: The basic auth password for the gateway

gateway.basicAuth.existingSecret📜

Type: string

Default value
nil

Description: Existing basic auth secret to use. Must contain ‘.htpasswd’

gateway.readinessProbe.httpGet.path📜

Type: string

Default value
"/"

gateway.readinessProbe.httpGet.port📜

Type: string

Default value
"http-metrics"

gateway.readinessProbe.initialDelaySeconds📜

Type: int

Default value
15

gateway.readinessProbe.timeoutSeconds📜

Type: int

Default value
1

gateway.nginxConfig.schema📜

Type: string

Default value
"http"

Description: Which schema to be used when building URLs. Can be ‘http’ or ‘https’.

gateway.nginxConfig.enableIPv6📜

Type: bool

Default value
true

Description: Enable listener for IPv6, disable on IPv4-only systems

gateway.nginxConfig.logFormat📜

Type: string

Default value
"main '$remote_addr - $remote_user [$time_local]  $status '\n        '\"$request\" $body_bytes_sent \"$http_referer\" '\n        '\"$http_user_agent\" \"$http_x_forwarded_for\"';"

Description: NGINX log format

gateway.nginxConfig.serverSnippet📜

Type: string

Default value
""

Description: Allows appending custom configuration to the server block

gateway.nginxConfig.httpSnippet📜

Type: string

Default value
"{{ if .Values.loki.tenants }}proxy_set_header X-Scope-OrgID $remote_user;{{ end }}"

Description: Allows appending custom configuration to the http block, passed through the tpl function to allow templating

gateway.nginxConfig.ssl📜

Type: bool

Default value
false

Description: Whether ssl should be appended to the listen directive of the server block or not.

gateway.nginxConfig.customReadUrl📜

Type: string

Default value
nil

Description: Override Read URL

gateway.nginxConfig.customWriteUrl📜

Type: string

Default value
nil

Description: Override Write URL

gateway.nginxConfig.customBackendUrl📜

Type: string

Default value
nil

Description: Override Backend URL

gateway.nginxConfig.resolver📜

Type: string

Default value
""

Description: Allows overriding the DNS resolver address nginx will use.

gateway.podDisruptionBudget.maxUnavailable📜

Type: string

Default value
"1"

Description: Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). # Has higher precedence over controller.pdb.minAvailable

enterpriseGateway📜

Type: object

Default value
affinity: {}
annotations: {}
containerSecurityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL
  readOnlyRootFilesystem: true
env: []
extraArgs: {}
extraContainers: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
initContainers: []
labels: {}
nodeSelector: {}
podSecurityContext:
  fsGroup: 10001
  runAsGroup: 10001
  runAsNonRoot: true
  runAsUser: 10001
readinessProbe:
  httpGet:
    path: /ready
    port: http-metrics
  initialDelaySeconds: 45
replicas: 1
resources: {}
service:
  annotations: {}
  labels: {}
  type: ClusterIP
strategy:
  type: RollingUpdate
terminationGracePeriodSeconds: 60
tolerations: []
useDefaultProxyURLs: true

Description: If running enterprise and using the default enterprise gateway, configs go here.

enterpriseGateway.replicas📜

Type: int

Default value
1

Description: Define the amount of instances

enterpriseGateway.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

enterpriseGateway.extraArgs📜

Type: object

Default value
{}

Description: Additional CLI arguments for the gateway target

enterpriseGateway.labels📜

Type: object

Default value
{}

Description: Additional labels for the gateway Pod

enterpriseGateway.annotations📜

Type: object

Default value
{}

Description: Additional annotations for the gateway Pod

enterpriseGateway.service📜

Type: object

Default value
annotations: {}
labels: {}
type: ClusterIP

Description: Service overriding service type

enterpriseGateway.podSecurityContext📜

Type: object

Default value
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001

Description: Run container as user enterprise-logs(uid=10001)

enterpriseGateway.containerSecurityContext📜

Type: object

Default value
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
readOnlyRootFilesystem: true

Description: The SecurityContext for enterpriseGateway containers

enterpriseGateway.useDefaultProxyURLs📜

Type: bool

Default value
true

Description: If you want to use your own proxy URLs, set this to false.

enterpriseGateway.strategy📜

Type: object

Default value
type: RollingUpdate

Description: update strategy

enterpriseGateway.readinessProbe📜

Type: object

Default value
httpGet:
  path: /ready
  port: http-metrics
initialDelaySeconds: 45

Description: Readiness probe

enterpriseGateway.resources📜

Type: object

Default value
{}

Description: Values are defined in small.yaml and large.yaml

enterpriseGateway.env📜

Type: list

Default value
[]

Description: Configure optional environment variables

enterpriseGateway.initContainers📜

Type: list

Default value
[]

Description: Configure optional initContainers

enterpriseGateway.extraContainers📜

Type: list

Default value
[]

Description: Conifgure optional extraContainers

enterpriseGateway.extraVolumes📜

Type: list

Default value
[]

Description: Additional volumes for Pods

enterpriseGateway.extraVolumeMounts📜

Type: list

Default value
[]

Description: Additional volume mounts for Pods

enterpriseGateway.affinity📜

Type: object

Default value
{}

Description: Affinity for gateway Pods

enterpriseGateway.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for gateway Pods

enterpriseGateway.tolerations📜

Type: list

Default value
[]

Description: Tolerations for gateway Pods

enterpriseGateway.terminationGracePeriodSeconds📜

Type: int

Default value
60

Description: Grace period to allow the gateway to shutdown before it is killed

ingress📜

Type: object

Default value
annotations: {}
enabled: false
hosts:
- loki.example.com
ingressClassName: ''
labels: {}
paths:
  distributor:
  - /api/prom/push
  - /loki/api/v1/push
  - /otlp/v1/logs
  queryFrontend:
  - /api/prom/query
  - /api/prom/label
  - /api/prom/series
  - /api/prom/tail
  - /loki/api/v1/query
  - /loki/api/v1/query_range
  - /loki/api/v1/tail
  - /loki/api/v1/label
  - /loki/api/v1/labels
  - /loki/api/v1/series
  - /loki/api/v1/index/stats
  - /loki/api/v1/index/volume
  - /loki/api/v1/index/volume_range
  - /loki/api/v1/format_query
  - /loki/api/v1/detected_field
  - /loki/api/v1/detected_fields
  - /loki/api/v1/detected_labels
  - /loki/api/v1/patterns
  ruler:
  - /api/prom/rules
  - /api/prom/api/v1/rules
  - /api/prom/api/v1/alerts
  - /loki/api/v1/rules
  - /prometheus/api/v1/rules
  - /prometheus/api/v1/alerts
tls: []

Description: Ingress configuration Use either this ingress or the gateway, but not both at once. If you enable this, make sure to disable the gateway. You’ll need to supply authn configuration for your ingress controller.

ingress.paths.distributor📜

Type: list

Default value
- /api/prom/push
- /loki/api/v1/push
- /otlp/v1/logs

Description: Paths that are exposed by Loki Distributor. If deployment mode is Distributed, the requests are forwarded to the service: {{"loki.distributorFullname"}}. If deployment mode is SimpleScalable, the requests are forwarded to write k8s service: {{"loki.writeFullname"}}. If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service: {{"loki.singleBinaryFullname"}}

ingress.paths.queryFrontend📜

Type: list

Default value
- /api/prom/query
- /api/prom/label
- /api/prom/series
- /api/prom/tail
- /loki/api/v1/query
- /loki/api/v1/query_range
- /loki/api/v1/tail
- /loki/api/v1/label
- /loki/api/v1/labels
- /loki/api/v1/series
- /loki/api/v1/index/stats
- /loki/api/v1/index/volume
- /loki/api/v1/index/volume_range
- /loki/api/v1/format_query
- /loki/api/v1/detected_field
- /loki/api/v1/detected_fields
- /loki/api/v1/detected_labels
- /loki/api/v1/patterns

Description: Paths that are exposed by Loki Query Frontend. If deployment mode is Distributed, the requests are forwarded to the service: {{"loki.queryFrontendFullname"}}. If deployment mode is SimpleScalable, the requests are forwarded to write k8s service: {{"loki.readFullname"}}. If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service: {{"loki.singleBinaryFullname"}}

ingress.paths.ruler📜

Type: list

Default value
- /api/prom/rules
- /api/prom/api/v1/rules
- /api/prom/api/v1/alerts
- /loki/api/v1/rules
- /prometheus/api/v1/rules
- /prometheus/api/v1/alerts

Description: Paths that are exposed by Loki Ruler. If deployment mode is Distributed, the requests are forwarded to the service: {{"loki.rulerFullname"}}. If deployment mode is SimpleScalable, the requests are forwarded to k8s service: {{"loki.backendFullname"}}. If deployment mode is SimpleScalable but read.legacyReadTarget is true, the requests are forwarded to k8s service: {{"loki.readFullname"}}. If deployment mode is SingleBinary, the requests are forwarded to the central/single k8s service: {{"loki.singleBinaryFullname"}}

ingress.hosts📜

Type: list

Default value
- loki.example.com

Description: Hosts configuration for the ingress, passed through the tpl function to allow templating

ingress.tls📜

Type: list

Default value
[]

Description: TLS configuration for the ingress. Hosts passed through the tpl function to allow templating

migrate📜

Type: object

Default value
fromDistributed:
  enabled: false
  memberlistService: ''

Description: Options that may be necessary when performing a migration from another helm chart

migrate.fromDistributed📜

Type: object

Default value
enabled: false
memberlistService: ''

Description: When migrating from a distributed chart like loki-distributed or enterprise-logs

migrate.fromDistributed.enabled📜

Type: bool

Default value
false

Description: Set to true if migrating from a distributed helm chart

migrate.fromDistributed.memberlistService📜

Type: string

Default value
""

Description: If migrating from a distributed service, provide the distributed deployment’s memberlist service DNS so the new deployment can join its ring.

singleBinary.replicas📜

Type: int

Default value
1

Description: Number of replicas for the single binary

singleBinary.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling

singleBinary.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the single binary

singleBinary.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the single binary

singleBinary.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the single binary

singleBinary.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the single binary

singleBinary.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the single binary image. Overrides loki.image.registry

singleBinary.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the single binary image. Overrides loki.image.repository

singleBinary.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the single binary image. Overrides loki.image.tag

singleBinary.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for single binary pods

singleBinary.annotations📜

Type: object

Default value
{}

Description: Annotations for single binary StatefulSet

singleBinary.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for single binary pods

singleBinary.podLabels📜

Type: object

Default value
{}

Description: Additional labels for each single binary pod

singleBinary.selectorLabels📜

Type: object

Default value
{}

Description: Additional selector labels for each single binary pod

singleBinary.service.annotations📜

Type: object

Default value
{}

Description: Annotations for single binary Service

singleBinary.service.labels📜

Type: object

Default value
{}

Description: Additional labels for single binary Service

singleBinary.targetModule📜

Type: string

Default value
"all"

Description: Comma-separated list of Loki modules to load for the single binary

singleBinary.extraArgs📜

Type: list

Default value
[]

Description: Labels for single binary service

singleBinary.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the single binary pods

singleBinary.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the single binary pods

singleBinary.extraContainers📜

Type: list

Default value
[]

Description: Extra containers to add to the single binary loki pod

singleBinary.initContainers📜

Type: list

Default value
[]

Description: Init containers to add to the single binary pods

singleBinary.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the single binary pods

singleBinary.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the single binary pods

singleBinary.resources📜

Type: object

Default value
limits:
  cpu: 100m
  memory: 256Mi
requests:
  cpu: 100m
  memory: 256Mi

Description: Resource requests and limits for the single binary

singleBinary.terminationGracePeriodSeconds📜

Type: int

Default value
30

Description: Grace period to allow the single binary to shutdown before it is killed

singleBinary.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for single binary pods

singleBinary.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for single binary pods

singleBinary.tolerations📜

Type: list

Default value
[]

Description: Tolerations for single binary pods

singleBinary.persistence.enableStatefulSetAutoDeletePVC📜

Type: bool

Default value
false

Description: Enable StatefulSetAutoDeletePVC feature

singleBinary.persistence.enabled📜

Type: bool

Default value
true

Description: Enable persistent disk

singleBinary.persistence.size📜

Type: string

Default value
"12Gi"

Description: Size of persistent disk

singleBinary.persistence.storageClass📜

Type: string

Default value
nil

Description: Storage class to be used. If defined, storageClassName: . If set to “-“, storageClassName: “”, which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).

singleBinary.persistence.selector📜

Type: string

Default value
nil

Description: Selector for persistent disk

singleBinary.persistence.annotations📜

Type: object

Default value
{}

Description: Annotations for volume claim

write.replicas📜

Type: int

Default value
0

Description: Number of replicas for the write

write.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the write.

write.autoscaling.minReplicas📜

Type: int

Default value
2

Description: Minimum autoscaling replicas for the write.

write.autoscaling.maxReplicas📜

Type: int

Default value
6

Description: Maximum autoscaling replicas for the write.

write.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the write.

write.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilization percentage for the write.

write.autoscaling.behavior📜

Type: object

Default value
scaleDown:
  policies:
  - periodSeconds: 1800
    type: Pods
    value: 1
  stabilizationWindowSeconds: 3600
scaleUp:
  policies:
  - periodSeconds: 900
    type: Pods
    value: 1

Description: Behavior policies while scaling.

write.autoscaling.behavior.scaleUp📜

Type: object

Default value
policies:
- periodSeconds: 900
  type: Pods
  value: 1

Description: see https://github.com/grafana/loki/blob/main/docs/sources/operations/storage/wal.md#how-to-scale-updown for scaledown details

write.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the write image. Overrides loki.image.registry

write.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the write image. Overrides loki.image.repository

write.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the write image. Overrides loki.image.tag

write.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for write pods

write.annotations📜

Type: object

Default value
{}

Description: Annotations for write StatefulSet

write.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for write pods

write.podLabels📜

Type: object

Default value
{}

Description: Additional labels for each write pod

write.selectorLabels📜

Type: object

Default value
{}

Description: Additional selector labels for each write pod

write.service.annotations📜

Type: object

Default value
{}

Description: Annotations for write Service

write.service.labels📜

Type: object

Default value
{}

Description: Additional labels for write Service

write.targetModule📜

Type: string

Default value
"write"

Description: Comma-separated list of Loki modules to load for the write

write.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the write

write.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the write pods

write.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the write pods

write.lifecycle📜

Type: object

Default value
{}

Description: Lifecycle for the write container

write.initContainers📜

Type: list

Default value
[]

Description: Init containers to add to the write pods

write.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the write pods

write.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the write pods

write.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the write pods

write.extraVolumeClaimTemplates📜

Type: list

Default value
[]

Description: volumeClaimTemplates to add to StatefulSet

write.resources📜

Type: object

Default value
limits:
  cpu: 300m
  memory: 2Gi
requests:
  cpu: 300m
  memory: 2Gi

Description: Resource requests and limits for the write

write.terminationGracePeriodSeconds📜

Type: int

Default value
300

Description: Grace period to allow the write to shutdown before it is killed. Especially for the ingester, this must be increased. It must be long enough so writes can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown.

write.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for write pods

write.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for write pods

write.topologySpreadConstraints📜

Type: list

Default value
[]

Description: Topology Spread Constraints for write pods

write.tolerations📜

Type: list

Default value
[]

Description: Tolerations for write pods

write.podManagementPolicy📜

Type: string

Default value
"Parallel"

Description: The default is to deploy all pods in parallel.

write.persistence.volumeClaimsEnabled📜

Type: bool

Default value
true

Description: Enable volume claims in pod spec

write.persistence.dataVolumeParameters📜

Type: object

Default value
emptyDir: {}

Description: Parameters used for the data volume when volumeClaimEnabled if false

write.persistence.enableStatefulSetAutoDeletePVC📜

Type: bool

Default value
false

Description: Enable StatefulSetAutoDeletePVC feature

write.persistence.size📜

Type: string

Default value
"10Gi"

Description: Size of persistent disk

write.persistence.storageClass📜

Type: string

Default value
nil

Description: Storage class to be used. If defined, storageClassName: . If set to “-“, storageClassName: “”, which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).

write.persistence.selector📜

Type: string

Default value
nil

Description: Selector for persistent disk

write.persistence.annotations📜

Type: object

Default value
{}

Description: Annotations for volume claim

write.podDisruptionBudget.maxUnavailable📜

Type: string

Default value
"1"

Description: Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). # Has higher precedence over controller.pdb.minAvailable

read📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: read
      topologyKey: kubernetes.io/hostname
annotations: {}
autoscaling:
  behavior: {}
  enabled: false
  maxReplicas: 6
  minReplicas: 2
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
dnsConfig: {}
extraArgs: []
extraContainers: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
image:
  registry: null
  repository: null
  tag: null
legacyReadTarget: false
lifecycle: {}
nodeSelector: {}
persistence:
  annotations: {}
  enableStatefulSetAutoDeletePVC: true
  selector: null
  size: 10Gi
  storageClass: null
podAnnotations: {}
podDisruptionBudget:
  maxUnavailable: '1'
  minAvailable: ''
podLabels: {}
podManagementPolicy: Parallel
priorityClassName: null
replicas: 0
resources:
  limits:
    cpu: 300m
    memory: 2Gi
  requests:
    cpu: 300m
    memory: 2Gi
selectorLabels: {}
service:
  annotations: {}
  labels: {}
targetModule: read
terminationGracePeriodSeconds: 30
tolerations: []
topologySpreadConstraints: []

Description: Configuration for the read pod(s)

read.replicas📜

Type: int

Default value
0

Description: Number of replicas for the read

read.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the read, this is only used if queryIndex.enabled: true

read.autoscaling.minReplicas📜

Type: int

Default value
2

Description: Minimum autoscaling replicas for the read

read.autoscaling.maxReplicas📜

Type: int

Default value
6

Description: Maximum autoscaling replicas for the read

read.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the read

read.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the read

read.autoscaling.behavior📜

Type: object

Default value
{}

Description: Behavior policies while scaling.

read.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the read image. Overrides loki.image.registry

read.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the read image. Overrides loki.image.repository

read.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the read image. Overrides loki.image.tag

read.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for read pods

read.annotations📜

Type: object

Default value
{}

Description: Annotations for read deployment

read.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for read pods

read.podLabels📜

Type: object

Default value
{}

Description: Additional labels for each read pod

read.selectorLabels📜

Type: object

Default value
{}

Description: Additional selector labels for each read pod

read.service.annotations📜

Type: object

Default value
{}

Description: Annotations for read Service

read.service.labels📜

Type: object

Default value
{}

Description: Additional labels for read Service

read.targetModule📜

Type: string

Default value
"read"

Description: Comma-separated list of Loki modules to load for the read

read.legacyReadTarget📜

Type: bool

Default value
false

Description: Whether or not to use the 2 target type simple scalable mode (read, write) or the 3 target type (read, write, backend). Legacy refers to the 2 target type, so true will run two targets, false will run 3 targets.

read.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the read

read.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the read pods

read.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the read pods

read.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the read pods

read.lifecycle📜

Type: object

Default value
{}

Description: Lifecycle for the read container

read.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the read pods

read.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the read pods

read.resources📜

Type: object

Default value
limits:
  cpu: 300m
  memory: 2Gi
requests:
  cpu: 300m
  memory: 2Gi

Description: Resource requests and limits for the read

read.terminationGracePeriodSeconds📜

Type: int

Default value
30

Description: Grace period to allow the read to shutdown before it is killed

read.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for read pods

read.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for read pods

read.topologySpreadConstraints📜

Type: list

Default value
[]

Description: Topology Spread Constraints for read pods

read.tolerations📜

Type: list

Default value
[]

Description: Tolerations for read pods

read.podManagementPolicy📜

Type: string

Default value
"Parallel"

Description: The default is to deploy all pods in parallel.

read.persistence.enableStatefulSetAutoDeletePVC📜

Type: bool

Default value
true

Description: Enable StatefulSetAutoDeletePVC feature

read.persistence.size📜

Type: string

Default value
"10Gi"

Description: Size of persistent disk

read.persistence.storageClass📜

Type: string

Default value
nil

Description: Storage class to be used. If defined, storageClassName: . If set to “-“, storageClassName: “”, which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).

read.persistence.selector📜

Type: string

Default value
nil

Description: Selector for persistent disk

read.persistence.annotations📜

Type: object

Default value
{}

Description: Annotations for volume claim

read.podDisruptionBudget.maxUnavailable📜

Type: string

Default value
"1"

Description: Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). # Has higher precedence over controller.pdb.minAvailable

backend📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: backend
      topologyKey: kubernetes.io/hostname
annotations: {}
autoscaling:
  behavior: {}
  enabled: false
  maxReplicas: 6
  minReplicas: 3
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
dnsConfig: {}
extraArgs: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
image:
  registry: null
  repository: null
  tag: null
initContainers: []
nodeSelector: {}
persistence:
  annotations: {}
  dataVolumeParameters:
    emptyDir: {}
  enableStatefulSetAutoDeletePVC: true
  selector: null
  size: 10Gi
  storageClass: null
  volumeClaimsEnabled: true
podAnnotations: {}
podDisruptionBudget:
  maxUnavailable: '1'
  minAvailable: ''
podLabels: {}
podManagementPolicy: Parallel
priorityClassName: null
replicas: 0
resources: {}
selectorLabels: {}
service:
  annotations: {}
  labels: {}
targetModule: backend
terminationGracePeriodSeconds: 300
tolerations: []
topologySpreadConstraints: []

Description: Configuration for the backend pod(s)

backend.replicas📜

Type: int

Default value
0

Description: Number of replicas for the backend

backend.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the backend.

backend.autoscaling.minReplicas📜

Type: int

Default value
3

Description: Minimum autoscaling replicas for the backend.

backend.autoscaling.maxReplicas📜

Type: int

Default value
6

Description: Maximum autoscaling replicas for the backend.

backend.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilization percentage for the backend.

backend.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilization percentage for the backend.

backend.autoscaling.behavior📜

Type: object

Default value
{}

Description: Behavior policies while scaling.

backend.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the backend image. Overrides loki.image.registry

backend.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the backend image. Overrides loki.image.repository

backend.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the backend image. Overrides loki.image.tag

backend.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for backend pods

backend.annotations📜

Type: object

Default value
{}

Description: Annotations for backend StatefulSet

backend.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for backend pods

backend.podLabels📜

Type: object

Default value
{}

Description: Additional labels for each backend pod

backend.selectorLabels📜

Type: object

Default value
{}

Description: Additional selector labels for each backend pod

backend.service.annotations📜

Type: object

Default value
{}

Description: Annotations for backend Service

backend.service.labels📜

Type: object

Default value
{}

Description: Additional labels for backend Service

backend.targetModule📜

Type: string

Default value
"backend"

Description: Comma-separated list of Loki modules to load for the backend

backend.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the backend

backend.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the backend pods

backend.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the backend pods

backend.initContainers📜

Type: list

Default value
[]

Description: Init containers to add to the backend pods

backend.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the backend pods

backend.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the backend pods

backend.resources📜

Type: object

Default value
{}

Description: Resource requests and limits for the backend

backend.terminationGracePeriodSeconds📜

Type: int

Default value
300

Description: Grace period to allow the backend to shutdown before it is killed. Especially for the ingester, this must be increased. It must be long enough so backends can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown.

backend.dnsConfig📜

Type: object

Default value
{}

Description: DNS config for backend pods

backend.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for backend pods

backend.topologySpreadConstraints📜

Type: list

Default value
[]

Description: Topology Spread Constraints for backend pods

backend.tolerations📜

Type: list

Default value
[]

Description: Tolerations for backend pods

backend.podManagementPolicy📜

Type: string

Default value
"Parallel"

Description: The default is to deploy all pods in parallel.

backend.persistence.volumeClaimsEnabled📜

Type: bool

Default value
true

Description: Enable volume claims in pod spec

backend.persistence.dataVolumeParameters📜

Type: object

Default value
emptyDir: {}

Description: Parameters used for the data volume when volumeClaimEnabled if false

backend.persistence.enableStatefulSetAutoDeletePVC📜

Type: bool

Default value
true

Description: Enable StatefulSetAutoDeletePVC feature

backend.persistence.size📜

Type: string

Default value
"10Gi"

Description: Size of persistent disk

backend.persistence.storageClass📜

Type: string

Default value
nil

Description: Storage class to be used. If defined, storageClassName: . If set to “-“, storageClassName: “”, which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).

backend.persistence.selector📜

Type: string

Default value
nil

Description: Selector for persistent disk

backend.persistence.annotations📜

Type: object

Default value
{}

Description: Annotations for volume claim

backend.podDisruptionBudget.maxUnavailable📜

Type: string

Default value
"1"

Description: Number of pods that are unavailable after eviction as number or percentage (eg.: 50%). # Has higher precedence over controller.pdb.minAvailable

ingester📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: ingester
      topologyKey: kubernetes.io/hostname
appProtocol:
  grpc: ''
autoscaling:
  behavior:
    enabled: false
    scaleDown: {}
    scaleUp: {}
  customMetrics: []
  enabled: false
  maxReplicas: 3
  minReplicas: 1
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
command: null
extraArgs: []
extraContainers: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
image:
  registry: null
  repository: null
  tag: null
initContainers: []
lifecycle: {}
livenessProbe: {}
maxUnavailable: 1
nodeSelector: {}
persistence:
  claims:
  - name: data
    size: 10Gi
    storageClass: null
  enableStatefulSetAutoDeletePVC: false
  enabled: false
  inMemory: false
  whenDeleted: Retain
  whenScaled: Retain
podAnnotations: {}
podLabels: {}
priorityClassName: null
readinessProbe: {}
replicas: 0
resources: {}
serviceAnnotations: {}
serviceLabels: {}
terminationGracePeriodSeconds: 300
tolerations: []
topologySpreadConstraints:
- labelSelector:
    matchLabels:
      app.kubernetes.io/component: ingester
  maxSkew: 1
  topologyKey: kubernetes.io/hostname
  whenUnsatisfiable: ScheduleAnyway
updateStrategy:
  type: RollingUpdate
zoneAwareReplication:
  enabled: true
  maxUnavailablePct: 33
  migration:
    enabled: false
    excludeDefaultZone: false
    readPath: false
    writePath: false
  zoneA:
    annotations: {}
    extraAffinity: {}
    nodeSelector: null
    podAnnotations: {}
  zoneB:
    annotations: {}
    extraAffinity: {}
    nodeSelector: null
    podAnnotations: {}
  zoneC:
    annotations: {}
    extraAffinity: {}
    nodeSelector: null
    podAnnotations: {}

Description: Configuration for the ingester

ingester.replicas📜

Type: int

Default value
0

Description: Number of replicas for the ingester, when zoneAwareReplication.enabled is true, the total number of replicas will match this value with each zone having 1/3rd of the total replicas.

ingester.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

ingester.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the ingester

ingester.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the ingester

ingester.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the ingester

ingester.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the ingester

ingester.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the ingester

ingester.autoscaling.customMetrics📜

Type: list

Default value
[]

Description: Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)

ingester.autoscaling.behavior.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling behaviours

ingester.autoscaling.behavior.scaleDown📜

Type: object

Default value
{}

Description: define scale down policies, must conform to HPAScalingRules

ingester.autoscaling.behavior.scaleUp📜

Type: object

Default value
{}

Description: define scale up policies, must conform to HPAScalingRules

ingester.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the ingester image. Overrides loki.image.registry

ingester.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the ingester image. Overrides loki.image.repository

ingester.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the ingester image. Overrides loki.image.tag

ingester.command📜

Type: string

Default value
nil

Description: Command to execute instead of defined in Docker image

ingester.podLabels📜

Type: object

Default value
{}

Description: Labels for ingester pods

ingester.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for ingester pods

ingester.serviceLabels📜

Type: object

Default value
{}

Description: Labels for ingestor service

ingester.serviceAnnotations📜

Type: object

Default value
{}

Description: Annotations for ingestor service

ingester.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the ingester

ingester.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the ingester pods

ingester.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the ingester pods

ingester.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the ingester pods

ingester.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the ingester pods

ingester.resources📜

Type: object

Default value
{}

Description: Resource requests and limits for the ingester

ingester.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the ingester pods

ingester.initContainers📜

Type: list

Default value
[]

Description: Init containers to add to the ingester pods

ingester.terminationGracePeriodSeconds📜

Type: int

Default value
300

Description: Grace period to allow the ingester to shutdown before it is killed. Especially for the ingestor, this must be increased. It must be long enough so ingesters can be gracefully shutdown flushing/transferring all data and to successfully leave the member ring on shutdown.

ingester.lifecycle📜

Type: object

Default value
{}

Description: Lifecycle for the ingester container

ingester.maxUnavailable📜

Type: int

Default value
1

Description: Pod Disruption Budget maxUnavailable

ingester.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for ingester pods

ingester.tolerations📜

Type: list

Default value
[]

Description: Tolerations for ingester pods

ingester.readinessProbe📜

Type: object

Default value
{}

Description: readiness probe settings for ingester pods. If empty, use loki.readinessProbe

ingester.livenessProbe📜

Type: object

Default value
{}

Description: liveness probe settings for ingester pods. If empty use loki.livenessProbe

ingester.updateStrategy📜

Type: object

Default value
type: RollingUpdate

Description: UpdateStrategy for the ingester StatefulSets.

ingester.updateStrategy.type📜

Type: string

Default value
"RollingUpdate"

Description: One of ‘OnDelete’ or ‘RollingUpdate’

ingester.persistence.enabled📜

Type: bool

Default value
false

Description: Enable creating PVCs which is required when using boltdb-shipper

ingester.persistence.inMemory📜

Type: bool

Default value
false

Description: Use emptyDir with ramdisk for storage. Please note that all data in ingester will be lost on pod restart

ingester.persistence.enableStatefulSetAutoDeletePVC📜

Type: bool

Default value
false

Description: Enable StatefulSetAutoDeletePVC feature

ingester.appProtocol📜

Type: object

Default value
grpc: ''

Description: Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection.

ingester.appProtocol.grpc📜

Type: string

Default value
""

Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”

ingester.zoneAwareReplication📜

Type: object

Default value
enabled: true
maxUnavailablePct: 33
migration:
  enabled: false
  excludeDefaultZone: false
  readPath: false
  writePath: false
zoneA:
  annotations: {}
  extraAffinity: {}
  nodeSelector: null
  podAnnotations: {}
zoneB:
  annotations: {}
  extraAffinity: {}
  nodeSelector: null
  podAnnotations: {}
zoneC:
  annotations: {}
  extraAffinity: {}
  nodeSelector: null
  podAnnotations: {}

Description: Enabling zone awareness on ingesters will create 3 statefulests where all writes will send a replica to each zone. This is primarily intended to accelerate rollout operations by allowing for multiple ingesters within a single zone to be shutdown and restart simultaneously (the remaining 2 zones will be guaranteed to have at least one copy of the data). Note: This can be used to run Loki over multiple cloud provider availability zones however this is not currently recommended as Loki is not optimized for this and cross zone network traffic costs can become extremely high extremely quickly. Even with zone awareness enabled, it is recommended to run Loki in a single availability zone.

ingester.zoneAwareReplication.enabled📜

Type: bool

Default value
true

Description: Enable zone awareness.

ingester.zoneAwareReplication.maxUnavailablePct📜

Type: int

Default value
33

Description: The percent of replicas in each zone that will be restarted at once. In a value of 0-100

ingester.zoneAwareReplication.zoneA📜

Type: object

Default value
annotations: {}
extraAffinity: {}
nodeSelector: null
podAnnotations: {}

Description: zoneA configuration

ingester.zoneAwareReplication.zoneA.nodeSelector📜

Type: string

Default value
nil

Description: optionally define a node selector for this zone

ingester.zoneAwareReplication.zoneA.extraAffinity📜

Type: object

Default value
{}

Description: optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host

ingester.zoneAwareReplication.zoneA.annotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone A statefulset

ingester.zoneAwareReplication.zoneA.podAnnotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone A pods

ingester.zoneAwareReplication.zoneB.nodeSelector📜

Type: string

Default value
nil

Description: optionally define a node selector for this zone

ingester.zoneAwareReplication.zoneB.extraAffinity📜

Type: object

Default value
{}

Description: optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host

ingester.zoneAwareReplication.zoneB.annotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone B statefulset

ingester.zoneAwareReplication.zoneB.podAnnotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone B pods

ingester.zoneAwareReplication.zoneC.nodeSelector📜

Type: string

Default value
nil

Description: optionally define a node selector for this zone

ingester.zoneAwareReplication.zoneC.extraAffinity📜

Type: object

Default value
{}

Description: optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host

ingester.zoneAwareReplication.zoneC.annotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone C statefulset

ingester.zoneAwareReplication.zoneC.podAnnotations📜

Type: object

Default value
{}

Description: Specific annotations to add to zone C pods

ingester.zoneAwareReplication.migration📜

Type: object

Default value
enabled: false
excludeDefaultZone: false
readPath: false
writePath: false

Description: The migration block allows migrating non zone aware ingesters to zone aware ingesters.

distributor📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: distributor
      topologyKey: kubernetes.io/hostname
appProtocol:
  grpc: ''
autoscaling:
  behavior:
    enabled: false
    scaleDown: {}
    scaleUp: {}
  customMetrics: []
  enabled: false
  maxReplicas: 3
  minReplicas: 1
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
command: null
extraArgs: []
extraContainers: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
image:
  registry: null
  repository: null
  tag: null
maxSurge: 0
maxUnavailable: null
nodeSelector: {}
podAnnotations: {}
podLabels: {}
priorityClassName: null
replicas: 0
resources: {}
serviceAnnotations: {}
serviceLabels: {}
terminationGracePeriodSeconds: 30
tolerations: []

Description: Configuration for the distributor

distributor.replicas📜

Type: int

Default value
0

Description: Number of replicas for the distributor

distributor.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

distributor.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the distributor

distributor.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the distributor

distributor.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the distributor

distributor.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the distributor

distributor.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the distributor

distributor.autoscaling.customMetrics📜

Type: list

Default value
[]

Description: Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)

distributor.autoscaling.behavior.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling behaviours

distributor.autoscaling.behavior.scaleDown📜

Type: object

Default value
{}

Description: define scale down policies, must conform to HPAScalingRules

distributor.autoscaling.behavior.scaleUp📜

Type: object

Default value
{}

Description: define scale up policies, must conform to HPAScalingRules

distributor.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the distributor image. Overrides loki.image.registry

distributor.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the distributor image. Overrides loki.image.repository

distributor.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the distributor image. Overrides loki.image.tag

distributor.command📜

Type: string

Default value
nil

Description: Command to execute instead of defined in Docker image

distributor.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for distributor pods

distributor.podLabels📜

Type: object

Default value
{}

Description: Labels for distributor pods

distributor.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for distributor pods

distributor.serviceLabels📜

Type: object

Default value
{}

Description: Labels for distributor service

distributor.serviceAnnotations📜

Type: object

Default value
{}

Description: Annotations for distributor service

distributor.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the distributor

distributor.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the distributor pods

distributor.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the distributor pods

distributor.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the distributor pods

distributor.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the distributor pods

distributor.resources📜

Type: object

Default value
{}

Description: Resource requests and limits for the distributor

distributor.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the distributor pods

distributor.terminationGracePeriodSeconds📜

Type: int

Default value
30

Description: Grace period to allow the distributor to shutdown before it is killed

distributor.maxUnavailable📜

Type: string

Default value
nil

Description: Pod Disruption Budget maxUnavailable

distributor.maxSurge📜

Type: int

Default value
0

Description: Max Surge for distributor pods

distributor.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for distributor pods

distributor.tolerations📜

Type: list

Default value
[]

Description: Tolerations for distributor pods

distributor.appProtocol📜

Type: object

Default value
grpc: ''

Description: Adds the appProtocol field to the distributor service. This allows distributor to work with istio protocol selection.

distributor.appProtocol.grpc📜

Type: string

Default value
""

Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”

querier📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: querier
      topologyKey: kubernetes.io/hostname
appProtocol:
  grpc: ''
autoscaling:
  behavior:
    enabled: false
    scaleDown: {}
    scaleUp: {}
  customMetrics: []
  enabled: false
  maxReplicas: 3
  minReplicas: 1
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
command: null
dnsConfig: {}
extraArgs: []
extraContainers: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
image:
  registry: null
  repository: null
  tag: null
initContainers: []
maxSurge: 0
maxUnavailable: null
nodeSelector: {}
persistence:
  annotations: {}
  enabled: false
  size: 10Gi
  storageClass: null
podAnnotations: {}
podLabels: {}
priorityClassName: null
replicas: 0
resources:
  limits:
    cpu: 300m
    memory: 2Gi
  requests:
    cpu: 300m
    memory: 2Gi
serviceAnnotations: {}
serviceLabels: {}
terminationGracePeriodSeconds: 30
tolerations: []
topologySpreadConstraints:
- labelSelector:
    matchLabels:
      app.kubernetes.io/component: querier
  maxSkew: 1
  topologyKey: kubernetes.io/hostname
  whenUnsatisfiable: ScheduleAnyway

Description: Configuration for the querier

querier.replicas📜

Type: int

Default value
0

Description: Number of replicas for the querier

querier.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

querier.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the querier, this is only used if indexGateway.enabled: true

querier.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the querier

querier.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the querier

querier.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the querier

querier.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the querier

querier.autoscaling.customMetrics📜

Type: list

Default value
[]

Description: Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)

querier.autoscaling.behavior.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling behaviours

querier.autoscaling.behavior.scaleDown📜

Type: object

Default value
{}

Description: define scale down policies, must conform to HPAScalingRules

querier.autoscaling.behavior.scaleUp📜

Type: object

Default value
{}

Description: define scale up policies, must conform to HPAScalingRules

querier.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the querier image. Overrides loki.image.registry

querier.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the querier image. Overrides loki.image.repository

querier.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the querier image. Overrides loki.image.tag

querier.command📜

Type: string

Default value
nil

Description: Command to execute instead of defined in Docker image

querier.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for querier pods

querier.podLabels📜

Type: object

Default value
{}

Description: Labels for querier pods

querier.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for querier pods

querier.serviceLabels📜

Type: object

Default value
{}

Description: Labels for querier service

querier.serviceAnnotations📜

Type: object

Default value
{}

Description: Annotations for querier service

querier.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the querier

querier.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the querier pods

querier.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the querier pods

querier.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the querier pods

querier.extraVolumes📜

Type: list

Default value
[]

Description: Volumes to add to the querier pods

querier.resources📜

Type: object

Default value
limits:
  cpu: 300m
  memory: 2Gi
requests:
  cpu: 300m
  memory: 2Gi

Description: Resource requests and limits for the querier

querier.extraContainers📜

Type: list

Default value
[]

Description: Containers to add to the querier pods

querier.initContainers📜

Type: list

Default value
[]

Description: Init containers to add to the querier pods

querier.terminationGracePeriodSeconds📜

Type: int

Default value
30

Description: Grace period to allow the querier to shutdown before it is killed

querier.maxUnavailable📜

Type: string

Default value
nil

Description: Pod Disruption Budget maxUnavailable

querier.maxSurge📜

Type: int

Default value
0

Description: Max Surge for querier pods

querier.nodeSelector📜

Type: object

Default value
{}

Description: Node selector for querier pods

querier.tolerations📜

Type: list

Default value
[]

Description: Tolerations for querier pods

querier.dnsConfig📜

Type: object

Default value
{}

Description: DNSConfig for querier pods

querier.persistence.enabled📜

Type: bool

Default value
false

Description: Enable creating PVCs for the querier cache

querier.persistence.size📜

Type: string

Default value
"10Gi"

Description: Size of persistent disk

querier.persistence.storageClass📜

Type: string

Default value
nil

Description: Storage class to be used. If defined, storageClassName: . If set to “-“, storageClassName: “”, which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack).

querier.persistence.annotations📜

Type: object

Default value
{}

Description: Annotations for querier PVCs

querier.appProtocol📜

Type: object

Default value
grpc: ''

Description: Adds the appProtocol field to the querier service. This allows querier to work with istio protocol selection.

querier.appProtocol.grpc📜

Type: string

Default value
""

Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”

queryFrontend📜

Type: object

Default value
affinity:
  podAntiAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
        matchLabels:
          app.kubernetes.io/component: query-frontend
      topologyKey: kubernetes.io/hostname
appProtocol:
  grpc: ''
autoscaling:
  behavior:
    enabled: false
    scaleDown: {}
    scaleUp: {}
  customMetrics: []
  enabled: false
  maxReplicas: 3
  minReplicas: 1
  targetCPUUtilizationPercentage: 60
  targetMemoryUtilizationPercentage: null
command: null
extraArgs: []
extraContainers: []
extraEnv: []
extraEnvFrom: []
extraVolumeMounts: []
extraVolumes: []
hostAliases: []
image:
  registry: null
  repository: null
  tag: null
maxUnavailable: null
nodeSelector: {}
podAnnotations: {}
podLabels: {}
priorityClassName: null
replicas: 0
resources: {}
serviceAnnotations: {}
serviceLabels: {}
terminationGracePeriodSeconds: 30
tolerations: []

Description: Configuration for the query-frontend

queryFrontend.replicas📜

Type: int

Default value
0

Description: Number of replicas for the query-frontend

queryFrontend.hostAliases📜

Type: list

Default value
[]

Description: hostAliases to add

queryFrontend.autoscaling.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling for the query-frontend

queryFrontend.autoscaling.minReplicas📜

Type: int

Default value
1

Description: Minimum autoscaling replicas for the query-frontend

queryFrontend.autoscaling.maxReplicas📜

Type: int

Default value
3

Description: Maximum autoscaling replicas for the query-frontend

queryFrontend.autoscaling.targetCPUUtilizationPercentage📜

Type: int

Default value
60

Description: Target CPU utilisation percentage for the query-frontend

queryFrontend.autoscaling.targetMemoryUtilizationPercentage📜

Type: string

Default value
nil

Description: Target memory utilisation percentage for the query-frontend

queryFrontend.autoscaling.customMetrics📜

Type: list

Default value
[]

Description: Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)

queryFrontend.autoscaling.behavior.enabled📜

Type: bool

Default value
false

Description: Enable autoscaling behaviours

queryFrontend.autoscaling.behavior.scaleDown📜

Type: object

Default value
{}

Description: define scale down policies, must conform to HPAScalingRules

queryFrontend.autoscaling.behavior.scaleUp📜

Type: object

Default value
{}

Description: define scale up policies, must conform to HPAScalingRules

queryFrontend.image.registry📜

Type: string

Default value
nil

Description: The Docker registry for the query-frontend image. Overrides loki.image.registry

queryFrontend.image.repository📜

Type: string

Default value
nil

Description: Docker image repository for the query-frontend image. Overrides loki.image.repository

queryFrontend.image.tag📜

Type: string

Default value
nil

Description: Docker image tag for the query-frontend image. Overrides loki.image.tag

queryFrontend.command📜

Type: string

Default value
nil

Description: Command to execute instead of defined in Docker image

queryFrontend.priorityClassName📜

Type: string

Default value
nil

Description: The name of the PriorityClass for query-frontend pods

queryFrontend.podLabels📜

Type: object

Default value
{}

Description: Labels for query-frontend pods

queryFrontend.podAnnotations📜

Type: object

Default value
{}

Description: Annotations for query-frontend pods

queryFrontend.serviceLabels📜

Type: object

Default value
{}

Description: Labels for query-frontend service

queryFrontend.serviceAnnotations📜

Type: object

Default value
{}

Description: Annotations for query-frontend service

queryFrontend.extraArgs📜

Type: list

Default value
[]

Description: Additional CLI args for the query-frontend

queryFrontend.extraEnv📜

Type: list

Default value
[]

Description: Environment variables to add to the query-frontend pods

queryFrontend.extraEnvFrom📜

Type: list

Default value
[]

Description: Environment variables from secrets or configmaps to add to the query-frontend pods

queryFrontend.extraVolumeMounts📜

Type: list

Default value
[]

Description: Volume mounts to add to the query-frontend pods

queryFrontend.extraVolumes