loki values.yaml
📜
global.image.registry📜
Type: string
nil
Description: Overrides the Docker registry globally for all images
global.priorityClassName📜
Type: string
nil
Description: Overrides the priorityClassName for all pods
global.clusterDomain📜
Type: string
"cluster.local"
Description: configures cluster domain (“cluster.local” by default)
global.dnsService📜
Type: string
"kube-dns"
Description: configures DNS service name
global.dnsNamespace📜
Type: string
"kube-system"
Description: configures DNS service namespace
nameOverride📜
Type: string
"logging-loki"
Description: Overrides the chart’s name
fullnameOverride📜
Type: string
"logging-loki"
Description: Overrides the chart’s computed fullname
clusterLabelOverride📜
Type: string
nil
Description: Overrides the chart’s cluster label
imagePullSecrets📜
Type: list
- name: private-registry
Description: Image pull secrets for Docker images
deploymentMode📜
Type: string
"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
"registry1.dso.mil"
Description: The Docker registry
loki.image.repository📜
Type: string
"ironbank/opensource/grafana/loki"
Description: Docker image repository
loki.image.tag📜
Type: string
"3.2.0"
Description: Overrides the image tag whose default is the chart’s appVersion
loki.image.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
loki.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
loki.annotations📜
Type: object
{}
Description: Common annotations for all deployments/StatefulSets
loki.podAnnotations📜
Type: object
{}
Description: Common annotations for all pods
loki.podLabels📜
Type: object
{}
Description: Common labels for all pods
loki.serviceAnnotations📜
Type: object
{}
Description: Common annotations for all services
loki.serviceLabels📜
Type: object
{}
Description: Common labels for all services
loki.revisionHistoryLimit📜
Type: int
10
Description: The number of old ReplicaSets to retain to allow rollback
loki.podSecurityContext📜
Type: object
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
Description: The SecurityContext for Loki pods
loki.containerSecurityContext📜
Type: object
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
Description: The SecurityContext for Loki containers
loki.enableServiceLinks📜
Type: bool
true
Description: Should enableServiceLinks be enabled. Default to enable
loki.configStorageType📜
Type: string
"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
"{{ 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
"{{ 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
{}
Description: memberlist configuration (overrides embedded default)
loki.extraMemberlistConfig📜
Type: object
{}
Description: Extra memberlist configuration
loki.tenants📜
Type: list
[]
Description: Tenants list to be created on nginx htpasswd file, with name and password keys
loki.server📜
Type: object
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
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
{}
Description: Provides a reloadable runtime configuration file for some specific configuration
loki.commonConfig📜
Type: object
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
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
{}
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
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
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
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
{}
Description: Check https://grafana.com/docs/loki/latest/configuration/#ruler for more info on configuring ruler
loki.structuredConfig📜
Type: object
{}
Description: Structured loki configuration, takes precedence over loki.config
, loki.schemaConfig
, loki.storageConfig
loki.query_scheduler📜
Type: object
{}
Description: Additional query scheduler config
loki.storage_config📜
Type: object
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
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
enabled: false
Description: Optional pattern ingester configuration
loki.analytics📜
Type: object
reporting_enabled: false
Description: Optional analytics configuration
loki.analytics.reporting_enabled📜
Type: bool
false
Description: Disable anonymous usage statistics
loki.query_range📜
Type: object
{}
Description: Optional querier configuration
loki.querier📜
Type: object
{}
Description: Optional querier configuration
loki.ingester📜
Type: object
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
mode: simple
Description: Optional index gateway configuration
loki.distributor📜
Type: object
{}
Description: Optional distributor configuration
loki.tracing📜
Type: object
enabled: false
Description: Enable tracing
enterprise📜
Type: object
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
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
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
false
Description: Set to true when providing an external license
enterprise.externalLicenseName📜
Type: string
nil
Description: Name of external license secret to use
enterprise.externalConfigName📜
Type: string
""
Description: Name of the external config secret to use
enterprise.gelGateway📜
Type: bool
true
Description: Use GEL gateway, if false will use the default nginx gateway
enterprise.adminApi📜
Type: object
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
"registry1.dso.mil"
Description: The Docker registry
enterprise.image.repository📜
Type: string
"ironbank/grafana/grafana-enterprise-logs"
Description: Docker image repository
enterprise.image.tag📜
Type: string
"v1.7.1"
Description: Docker image tag, default is the chart’s appVersion
enterprise.image.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
enterprise.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
enterprise.adminToken.secret📜
Type: string
nil
Description: Alternative name for admin token secret, needed by tokengen and provisioner jobs
enterprise.adminToken.additionalNamespaces📜
Type: list
[]
Description: Additional namespace to also create the token in. Useful if your Grafana instance is in a different namespace
enterprise.canarySecret📜
Type: string
nil
Description: Alternative name of the secret to store token for the canary
enterprise.tokengen📜
Type: object
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
true
Description: Whether the job should be part of the deployment
enterprise.tokengen.targetModule📜
Type: string
"tokengen"
Description: Comma-separated list of Loki modules to load for tokengen
enterprise.tokengen.extraArgs📜
Type: list
[]
Description: Additional CLI arguments for the tokengen
target
enterprise.tokengen.env📜
Type: list
[]
Description: Additional Kubernetes environment
enterprise.tokengen.labels📜
Type: object
{}
Description: Additional labels for the tokengen
Job
enterprise.tokengen.annotations📜
Type: object
sidecar.istio.io/inject: 'false'
Description: Additional annotations for the tokengen
Job
enterprise.tokengen.affinity📜
Type: object
{}
Description: Affinity for tokengen Pods
enterprise.tokengen.nodeSelector📜
Type: object
{}
Description: Node selector for tokengen Pods
enterprise.tokengen.tolerations📜
Type: list
[]
Description: Tolerations for tokengen Job
enterprise.tokengen.extraVolumes📜
Type: list
[]
Description: Additional volumes for Pods
enterprise.tokengen.extraVolumeMounts📜
Type: list
[]
Description: Additional volume mounts for Pods
enterprise.tokengen.securityContext📜
Type: object
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
Description: Run containers as user enterprise-logs(uid=10001)
enterprise.tokengen.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the tokengen pods
enterprise.tokengen.priorityClassName📜
Type: string
""
Description: The name of the PriorityClass for tokengen Pods
enterprise.provisioner📜
Type: object
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
false
Description: Whether the job should be part of the deployment
enterprise.provisioner.provisionedSecretPrefix📜
Type: string
nil
Description: Name of the secret to store provisioned tokens in
enterprise.provisioner.additionalTenants📜
Type: list
[]
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
[]
Description: Additional Kubernetes environment
enterprise.provisioner.labels📜
Type: object
{}
Description: Additional labels for the provisioner
Job
enterprise.provisioner.annotations📜
Type: object
{}
Description: Additional annotations for the provisioner
Job
enterprise.provisioner.affinity📜
Type: object
{}
Description: Affinity for tokengen Pods
enterprise.provisioner.nodeSelector📜
Type: object
{}
Description: Node selector for tokengen Pods
enterprise.provisioner.tolerations📜
Type: list
[]
Description: Tolerations for tokengen Pods
enterprise.provisioner.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for provisioner Job
enterprise.provisioner.securityContext📜
Type: object
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
Description: Run containers as user enterprise-logs(uid=10001)
enterprise.provisioner.image📜
Type: object
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
"docker.io"
Description: The Docker registry
enterprise.provisioner.image.repository📜
Type: string
"grafana/enterprise-logs-provisioner"
Description: Docker image repository
enterprise.provisioner.image.tag📜
Type: string
nil
Description: Overrides the image tag whose default is the chart’s appVersion
enterprise.provisioner.image.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
enterprise.provisioner.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
enterprise.provisioner.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the provisioner pods
kubectlImage📜
Type: object
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
"registry1.dso.mil"
Description: The Docker registry
kubectlImage.repository📜
Type: string
"ironbank/opensource/kubernetes/kubectl"
Description: Docker image repository
kubectlImage.tag📜
Type: string
"v1.30.5"
Description: Overrides the image tag whose default is the chart’s appVersion
kubectlImage.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
kubectlImage.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
test📜
Type: object
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
"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
"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
"1m"
Description: Number of times to retry the test before failing
test.labels📜
Type: object
{}
Description: Additional labels for the test pods
test.annotations📜
Type: object
{}
Description: Additional annotations for test pods
test.image📜
Type: object
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
"docker.io"
Description: The Docker registry
test.image.repository📜
Type: string
"grafana/loki-helm-test"
Description: Docker image repository
test.image.tag📜
Type: string
"ewelch-distributed-helm-chart-17db5ee"
Description: Overrides the image tag whose default is the chart’s appVersion
test.image.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
test.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
lokiCanary.enabled📜
Type: bool
false
lokiCanary.push📜
Type: bool
true
lokiCanary.labelname📜
Type: string
"pod"
Description: The name of the label to look for at loki when doing the checks.
lokiCanary.annotations📜
Type: object
{}
Description: Additional annotations for the loki-canary
Daemonset
lokiCanary.podLabels📜
Type: object
{}
Description: Additional labels for each loki-canary
pod
lokiCanary.service.annotations📜
Type: object
{}
Description: Annotations for loki-canary Service
lokiCanary.service.labels📜
Type: object
{}
Description: Additional labels for loki-canary Service
lokiCanary.extraArgs📜
Type: list
[]
Description: Additional CLI arguments for the `loki-canary’ command
lokiCanary.extraEnv📜
Type: list
[]
Description: Environment variables to add to the canary pods
lokiCanary.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the canary pods
lokiCanary.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the canary pods
lokiCanary.extraVolumes📜
Type: list
[]
Description: Volumes to add to the canary pods
lokiCanary.resources📜
Type: object
{}
Description: Resource requests and limits for the canary
lokiCanary.dnsConfig📜
Type: object
{}
Description: DNS config for canary pods
lokiCanary.nodeSelector📜
Type: object
{}
Description: Node selector for canary pods
lokiCanary.tolerations📜
Type: list
[]
Description: Tolerations for canary pods
lokiCanary.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for loki-canary pods
lokiCanary.image📜
Type: object
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
"docker.io"
Description: The Docker registry
lokiCanary.image.repository📜
Type: string
"grafana/loki-canary"
Description: Docker image repository
lokiCanary.image.tag📜
Type: string
nil
Description: Overrides the image tag whose default is the chart’s appVersion
lokiCanary.image.digest📜
Type: string
nil
Description: Overrides the image tag with an image digest
lokiCanary.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: Docker image pull policy
lokiCanary.updateStrategy📜
Type: object
rollingUpdate:
maxUnavailable: 1
type: RollingUpdate
Description: Update strategy for the loki-canary
Daemonset pods
serviceAccount.create📜
Type: bool
true
Description: Specifies whether a ServiceAccount should be created
serviceAccount.name📜
Type: string
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
[]
Description: Image pull secrets for the service account
serviceAccount.annotations📜
Type: object
{}
Description: Annotations for the service account
serviceAccount.labels📜
Type: object
{}
Description: Labels for the service account
serviceAccount.automountServiceAccountToken📜
Type: bool
false
Description: Set this toggle to false to opt out of automounting API credentials for the service account
rbac.pspEnabled📜
Type: bool
false
Description: If pspEnabled true, a PodSecurityPolicy is created for K8s that use psp.
rbac.sccEnabled📜
Type: bool
false
Description: For OpenShift set pspEnabled to ‘false’ and sccEnabled to ‘true’ to use the SecurityContextConstraints.
rbac.pspAnnotations📜
Type: object
{}
Description: Specify PSP annotations Ref: https://kubernetes.io/docs/reference/access-authn-authz/psp-to-pod-security-standards/#podsecuritypolicy-annotations
rbac.namespaced📜
Type: bool
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
false
Description: Specifies whether Network Policies should be created
networkPolicy.flavor📜
Type: string
"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
{}
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
{}
Description: Specifies the namespaces which are allowed to access the metrics port
networkPolicy.metrics.cidrs📜
Type: list
[]
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
{}
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
{}
Description: Specifies the namespaces which are allowed to access the http port
networkPolicy.alertmanager.port📜
Type: int
9093
Description: Specify the alertmanager port used for alerting
networkPolicy.alertmanager.podSelector📜
Type: object
{}
Description: Specifies the alertmanager Pods. As this is cross-namespace communication, you also need the namespaceSelector.
networkPolicy.alertmanager.namespaceSelector📜
Type: object
{}
Description: Specifies the namespace the alertmanager is running in
networkPolicy.externalStorage.ports📜
Type: list
[]
Description: Specify the port used for external storage, e.g. AWS S3
networkPolicy.externalStorage.cidrs📜
Type: list
[]
Description: Specifies specific network CIDRs you want to limit access to
networkPolicy.discovery.port📜
Type: int
nil
Description: Specify the port used for discovery
networkPolicy.discovery.podSelector📜
Type: object
{}
Description: Specifies the Pods labels used for discovery. As this is cross-namespace communication, you also need the namespaceSelector.
networkPolicy.discovery.namespaceSelector📜
Type: object
{}
Description: Specifies the namespace the discovery Pods are running in
networkPolicy.egressWorld.enabled📜
Type: bool
false
Description: Enable additional cilium egress rules to external world for write, read and backend.
networkPolicy.egressKubeApiserver.enabled📜
Type: bool
false
Description: Enable additional cilium egress rules to kube-apiserver for backend.
memberlist.service.publishNotReadyAddresses📜
Type: bool
false
memberlist.service.annotations📜
Type: object
{}
adminApi📜
Type: object
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
1
Description: Define the amount of instances
adminApi.hostAliases📜
Type: list
[]
Description: hostAliases to add
adminApi.extraArgs📜
Type: object
{}
Description: Additional CLI arguments for the admin-api
target
adminApi.labels📜
Type: object
{}
Description: Additional labels for the admin-api
Deployment
adminApi.annotations📜
Type: object
{}
Description: Additional annotations for the admin-api
Deployment
adminApi.service📜
Type: object
annotations: {}
labels: {}
Description: Additional labels and annotations for the admin-api
Service
adminApi.podSecurityContext📜
Type: object
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
type: RollingUpdate
Description: Update strategy
adminApi.readinessProbe📜
Type: object
httpGet:
path: /ready
port: http-metrics
initialDelaySeconds: 45
Description: Readiness probe
adminApi.resources📜
Type: object
{}
Description: Values are defined in small.yaml and large.yaml
adminApi.env📜
Type: list
[]
Description: Configure optional environment variables
adminApi.initContainers📜
Type: list
[]
Description: Configure optional initContainers
adminApi.extraContainers📜
Type: list
[]
Description: Conifgure optional extraContainers
adminApi.extraVolumes📜
Type: list
[]
Description: Additional volumes for Pods
adminApi.extraVolumeMounts📜
Type: list
[]
Description: Additional volume mounts for Pods
adminApi.affinity📜
Type: object
{}
Description: Affinity for admin-api Pods
adminApi.nodeSelector📜
Type: object
{}
Description: Node selector for admin-api Pods
adminApi.tolerations📜
Type: list
[]
Description: Tolerations for admin-api Pods
adminApi.terminationGracePeriodSeconds📜
Type: int
60
Description: Grace period to allow the admin-api to shutdown before it is killed
gateway.enabled📜
Type: bool
false
Description: Specifies whether the gateway should be enabled
gateway.replicas📜
Type: int
1
Description: Number of replicas for the gateway
gateway.containerPort📜
Type: int
8080
Description: Default container port
gateway.verboseLogging📜
Type: bool
true
Description: Enable logging of 2xx and 3xx HTTP requests
gateway.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the gateway
gateway.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the gateway
gateway.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the gateway
gateway.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the gateway
gateway.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the gateway
gateway.autoscaling.behavior📜
Type: object
{}
Description: Behavior policies while scaling.
gateway.deploymentStrategy.type📜
Type: string
"RollingUpdate"
gateway.image.registry📜
Type: string
"registry1.dso.mil"
Description: The Docker registry for the gateway image
gateway.image.repository📜
Type: string
"ironbank/opensource/nginx/nginx"
Description: The gateway image repository
gateway.image.tag📜
Type: string
"1.27.2"
Description: The gateway image tag
gateway.image.digest📜
Type: string
nil
Description: Overrides the gateway image tag with an image digest
gateway.image.pullPolicy📜
Type: string
"IfNotPresent"
Description: The gateway image pull policy
gateway.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for gateway pods
gateway.annotations📜
Type: object
{}
Description: Annotations for gateway deployment
gateway.podAnnotations📜
Type: object
{}
Description: Annotations for gateway pods
gateway.podLabels📜
Type: object
{}
Description: Additional labels for gateway pods
gateway.extraArgs📜
Type: list
[]
Description: Additional CLI args for the gateway
gateway.extraEnv📜
Type: list
[]
Description: Environment variables to add to the gateway pods
gateway.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the gateway pods
gateway.lifecycle📜
Type: object
{}
Description: Lifecycle for the gateway container
gateway.extraVolumes📜
Type: list
[]
Description: Volumes to add to the gateway pods
gateway.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the gateway pods
gateway.podSecurityContext📜
Type: object
fsGroup: 101
runAsGroup: 101
runAsNonRoot: true
runAsUser: 101
Description: The SecurityContext for gateway containers
gateway.containerSecurityContext📜
Type: object
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
Description: The SecurityContext for gateway containers
gateway.resources📜
Type: object
{}
Description: Resource requests and limits for the gateway
gateway.extraContainers📜
Type: list
[]
Description: Containers to add to the gateway pods
gateway.terminationGracePeriodSeconds📜
Type: int
30
Description: Grace period to allow the gateway to shutdown before it is killed
gateway.dnsConfig📜
Type: object
{}
Description: DNS config for gateway pods
gateway.nodeSelector📜
Type: object
{}
Description: Node selector for gateway pods
gateway.topologySpreadConstraints📜
Type: list
[]
Description: Topology Spread Constraints for gateway pods
gateway.tolerations📜
Type: list
[]
Description: Tolerations for gateway pods
gateway.service.port📜
Type: int
80
Description: Port of the gateway service
gateway.service.type📜
Type: string
"ClusterIP"
Description: Type of the gateway service
gateway.service.clusterIP📜
Type: string
nil
Description: ClusterIP of the gateway service
gateway.service.nodePort📜
Type: int
nil
Description: Node port if service type is NodePort
gateway.service.loadBalancerIP📜
Type: string
nil
Description: Load balancer IPO address if service type is LoadBalancer
gateway.service.annotations📜
Type: object
{}
Description: Annotations for the gateway service
gateway.service.labels📜
Type: object
{}
Description: Labels for gateway service
gateway.ingress.enabled📜
Type: bool
false
Description: Specifies whether an ingress for the gateway should be created
gateway.ingress.ingressClassName📜
Type: string
""
Description: Ingress Class Name. MAY be required for Kubernetes versions >= 1.18
gateway.ingress.annotations📜
Type: object
{}
Description: Annotations for the gateway ingress
gateway.ingress.labels📜
Type: object
{}
Description: Labels for the gateway ingress
gateway.ingress.hosts📜
Type: list
- 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
- 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
false
Description: Enables basic authentication for the gateway
gateway.basicAuth.username📜
Type: string
nil
Description: The basic auth username for the gateway
gateway.basicAuth.password📜
Type: string
nil
Description: The basic auth password for the gateway
gateway.basicAuth.existingSecret📜
Type: string
nil
Description: Existing basic auth secret to use. Must contain ‘.htpasswd’
gateway.readinessProbe.httpGet.path📜
Type: string
"/"
gateway.readinessProbe.httpGet.port📜
Type: string
"http-metrics"
gateway.readinessProbe.initialDelaySeconds📜
Type: int
15
gateway.readinessProbe.timeoutSeconds📜
Type: int
1
gateway.nginxConfig.schema📜
Type: string
"http"
Description: Which schema to be used when building URLs. Can be ‘http’ or ‘https’.
gateway.nginxConfig.enableIPv6📜
Type: bool
true
Description: Enable listener for IPv6, disable on IPv4-only systems
gateway.nginxConfig.logFormat📜
Type: string
"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
""
Description: Allows appending custom configuration to the server block
gateway.nginxConfig.httpSnippet📜
Type: string
"{{ 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
false
Description: Whether ssl should be appended to the listen directive of the server block or not.
gateway.nginxConfig.customReadUrl📜
Type: string
nil
Description: Override Read URL
gateway.nginxConfig.customWriteUrl📜
Type: string
nil
Description: Override Write URL
gateway.nginxConfig.customBackendUrl📜
Type: string
nil
Description: Override Backend URL
gateway.nginxConfig.resolver📜
Type: string
""
Description: Allows overriding the DNS resolver address nginx will use.
gateway.podDisruptionBudget.maxUnavailable📜
Type: string
"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
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
1
Description: Define the amount of instances
enterpriseGateway.hostAliases📜
Type: list
[]
Description: hostAliases to add
enterpriseGateway.extraArgs📜
Type: object
{}
Description: Additional CLI arguments for the gateway
target
enterpriseGateway.labels📜
Type: object
{}
Description: Additional labels for the gateway
Pod
enterpriseGateway.annotations📜
Type: object
{}
Description: Additional annotations for the gateway
Pod
enterpriseGateway.service📜
Type: object
annotations: {}
labels: {}
type: ClusterIP
Description: Service overriding service type
enterpriseGateway.podSecurityContext📜
Type: object
fsGroup: 10001
runAsGroup: 10001
runAsNonRoot: true
runAsUser: 10001
Description: Run container as user enterprise-logs(uid=10001)
enterpriseGateway.containerSecurityContext📜
Type: object
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
Description: The SecurityContext for enterpriseGateway containers
enterpriseGateway.useDefaultProxyURLs📜
Type: bool
true
Description: If you want to use your own proxy URLs, set this to false.
enterpriseGateway.strategy📜
Type: object
type: RollingUpdate
Description: update strategy
enterpriseGateway.readinessProbe📜
Type: object
httpGet:
path: /ready
port: http-metrics
initialDelaySeconds: 45
Description: Readiness probe
enterpriseGateway.resources📜
Type: object
{}
Description: Values are defined in small.yaml and large.yaml
enterpriseGateway.env📜
Type: list
[]
Description: Configure optional environment variables
enterpriseGateway.initContainers📜
Type: list
[]
Description: Configure optional initContainers
enterpriseGateway.extraContainers📜
Type: list
[]
Description: Conifgure optional extraContainers
enterpriseGateway.extraVolumes📜
Type: list
[]
Description: Additional volumes for Pods
enterpriseGateway.extraVolumeMounts📜
Type: list
[]
Description: Additional volume mounts for Pods
enterpriseGateway.affinity📜
Type: object
{}
Description: Affinity for gateway Pods
enterpriseGateway.nodeSelector📜
Type: object
{}
Description: Node selector for gateway Pods
enterpriseGateway.tolerations📜
Type: list
[]
Description: Tolerations for gateway Pods
enterpriseGateway.terminationGracePeriodSeconds📜
Type: int
60
Description: Grace period to allow the gateway to shutdown before it is killed
ingress📜
Type: object
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
- /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
- /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
- /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
- loki.example.com
Description: Hosts configuration for the ingress, passed through the tpl
function to allow templating
ingress.tls📜
Type: list
[]
Description: TLS configuration for the ingress. Hosts passed through the tpl
function to allow templating
migrate📜
Type: object
fromDistributed:
enabled: false
memberlistService: ''
Description: Options that may be necessary when performing a migration from another helm chart
migrate.fromDistributed📜
Type: object
enabled: false
memberlistService: ''
Description: When migrating from a distributed chart like loki-distributed or enterprise-logs
migrate.fromDistributed.enabled📜
Type: bool
false
Description: Set to true if migrating from a distributed helm chart
migrate.fromDistributed.memberlistService📜
Type: string
""
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
1
Description: Number of replicas for the single binary
singleBinary.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling
singleBinary.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the single binary
singleBinary.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the single binary
singleBinary.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the single binary
singleBinary.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the single binary
singleBinary.image.registry📜
Type: string
nil
Description: The Docker registry for the single binary image. Overrides loki.image.registry
singleBinary.image.repository📜
Type: string
nil
Description: Docker image repository for the single binary image. Overrides loki.image.repository
singleBinary.image.tag📜
Type: string
nil
Description: Docker image tag for the single binary image. Overrides loki.image.tag
singleBinary.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for single binary pods
singleBinary.annotations📜
Type: object
{}
Description: Annotations for single binary StatefulSet
singleBinary.podAnnotations📜
Type: object
{}
Description: Annotations for single binary pods
singleBinary.podLabels📜
Type: object
{}
Description: Additional labels for each single binary
pod
singleBinary.selectorLabels📜
Type: object
{}
Description: Additional selector labels for each single binary
pod
singleBinary.service.annotations📜
Type: object
{}
Description: Annotations for single binary Service
singleBinary.service.labels📜
Type: object
{}
Description: Additional labels for single binary Service
singleBinary.targetModule📜
Type: string
"all"
Description: Comma-separated list of Loki modules to load for the single binary
singleBinary.extraArgs📜
Type: list
[]
Description: Labels for single binary service
singleBinary.extraEnv📜
Type: list
[]
Description: Environment variables to add to the single binary pods
singleBinary.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the single binary pods
singleBinary.extraContainers📜
Type: list
[]
Description: Extra containers to add to the single binary loki pod
singleBinary.initContainers📜
Type: list
[]
Description: Init containers to add to the single binary pods
singleBinary.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the single binary pods
singleBinary.extraVolumes📜
Type: list
[]
Description: Volumes to add to the single binary pods
singleBinary.resources📜
Type: object
limits:
cpu: 100m
memory: 256Mi
requests:
cpu: 100m
memory: 256Mi
Description: Resource requests and limits for the single binary
singleBinary.terminationGracePeriodSeconds📜
Type: int
30
Description: Grace period to allow the single binary to shutdown before it is killed
singleBinary.dnsConfig📜
Type: object
{}
Description: DNS config for single binary pods
singleBinary.nodeSelector📜
Type: object
{}
Description: Node selector for single binary pods
singleBinary.tolerations📜
Type: list
[]
Description: Tolerations for single binary pods
singleBinary.persistence.enableStatefulSetAutoDeletePVC📜
Type: bool
false
Description: Enable StatefulSetAutoDeletePVC feature
singleBinary.persistence.enabled📜
Type: bool
true
Description: Enable persistent disk
singleBinary.persistence.size📜
Type: string
"12Gi"
Description: Size of persistent disk
singleBinary.persistence.storageClass📜
Type: string
nil
Description: Storage class to be used. If defined, storageClassName:
singleBinary.persistence.selector📜
Type: string
nil
Description: Selector for persistent disk
singleBinary.persistence.annotations📜
Type: object
{}
Description: Annotations for volume claim
write.replicas📜
Type: int
0
Description: Number of replicas for the write
write.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the write.
write.autoscaling.minReplicas📜
Type: int
2
Description: Minimum autoscaling replicas for the write.
write.autoscaling.maxReplicas📜
Type: int
6
Description: Maximum autoscaling replicas for the write.
write.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the write.
write.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilization percentage for the write.
write.autoscaling.behavior📜
Type: object
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
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
nil
Description: The Docker registry for the write image. Overrides loki.image.registry
write.image.repository📜
Type: string
nil
Description: Docker image repository for the write image. Overrides loki.image.repository
write.image.tag📜
Type: string
nil
Description: Docker image tag for the write image. Overrides loki.image.tag
write.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for write pods
write.annotations📜
Type: object
{}
Description: Annotations for write StatefulSet
write.podAnnotations📜
Type: object
{}
Description: Annotations for write pods
write.podLabels📜
Type: object
{}
Description: Additional labels for each write
pod
write.selectorLabels📜
Type: object
{}
Description: Additional selector labels for each write
pod
write.service.annotations📜
Type: object
{}
Description: Annotations for write Service
write.service.labels📜
Type: object
{}
Description: Additional labels for write Service
write.targetModule📜
Type: string
"write"
Description: Comma-separated list of Loki modules to load for the write
write.extraArgs📜
Type: list
[]
Description: Additional CLI args for the write
write.extraEnv📜
Type: list
[]
Description: Environment variables to add to the write pods
write.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the write pods
write.lifecycle📜
Type: object
{}
Description: Lifecycle for the write container
write.initContainers📜
Type: list
[]
Description: Init containers to add to the write pods
write.extraContainers📜
Type: list
[]
Description: Containers to add to the write pods
write.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the write pods
write.extraVolumes📜
Type: list
[]
Description: Volumes to add to the write pods
write.extraVolumeClaimTemplates📜
Type: list
[]
Description: volumeClaimTemplates to add to StatefulSet
write.resources📜
Type: object
limits:
cpu: 300m
memory: 2Gi
requests:
cpu: 300m
memory: 2Gi
Description: Resource requests and limits for the write
write.terminationGracePeriodSeconds📜
Type: int
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
{}
Description: DNS config for write pods
write.nodeSelector📜
Type: object
{}
Description: Node selector for write pods
write.topologySpreadConstraints📜
Type: list
[]
Description: Topology Spread Constraints for write pods
write.tolerations📜
Type: list
[]
Description: Tolerations for write pods
write.podManagementPolicy📜
Type: string
"Parallel"
Description: The default is to deploy all pods in parallel.
write.persistence.volumeClaimsEnabled📜
Type: bool
true
Description: Enable volume claims in pod spec
write.persistence.dataVolumeParameters📜
Type: object
emptyDir: {}
Description: Parameters used for the data
volume when volumeClaimEnabled if false
write.persistence.enableStatefulSetAutoDeletePVC📜
Type: bool
false
Description: Enable StatefulSetAutoDeletePVC feature
write.persistence.size📜
Type: string
"10Gi"
Description: Size of persistent disk
write.persistence.storageClass📜
Type: string
nil
Description: Storage class to be used. If defined, storageClassName:
write.persistence.selector📜
Type: string
nil
Description: Selector for persistent disk
write.persistence.annotations📜
Type: object
{}
Description: Annotations for volume claim
write.podDisruptionBudget.maxUnavailable📜
Type: string
"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
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
0
Description: Number of replicas for the read
read.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the read, this is only used if queryIndex.enabled: true
read.autoscaling.minReplicas📜
Type: int
2
Description: Minimum autoscaling replicas for the read
read.autoscaling.maxReplicas📜
Type: int
6
Description: Maximum autoscaling replicas for the read
read.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the read
read.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the read
read.autoscaling.behavior📜
Type: object
{}
Description: Behavior policies while scaling.
read.image.registry📜
Type: string
nil
Description: The Docker registry for the read image. Overrides loki.image.registry
read.image.repository📜
Type: string
nil
Description: Docker image repository for the read image. Overrides loki.image.repository
read.image.tag📜
Type: string
nil
Description: Docker image tag for the read image. Overrides loki.image.tag
read.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for read pods
read.annotations📜
Type: object
{}
Description: Annotations for read deployment
read.podAnnotations📜
Type: object
{}
Description: Annotations for read pods
read.podLabels📜
Type: object
{}
Description: Additional labels for each read
pod
read.selectorLabels📜
Type: object
{}
Description: Additional selector labels for each read
pod
read.service.annotations📜
Type: object
{}
Description: Annotations for read Service
read.service.labels📜
Type: object
{}
Description: Additional labels for read Service
read.targetModule📜
Type: string
"read"
Description: Comma-separated list of Loki modules to load for the read
read.legacyReadTarget📜
Type: bool
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
[]
Description: Additional CLI args for the read
read.extraContainers📜
Type: list
[]
Description: Containers to add to the read pods
read.extraEnv📜
Type: list
[]
Description: Environment variables to add to the read pods
read.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the read pods
read.lifecycle📜
Type: object
{}
Description: Lifecycle for the read container
read.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the read pods
read.extraVolumes📜
Type: list
[]
Description: Volumes to add to the read pods
read.resources📜
Type: object
limits:
cpu: 300m
memory: 2Gi
requests:
cpu: 300m
memory: 2Gi
Description: Resource requests and limits for the read
read.terminationGracePeriodSeconds📜
Type: int
30
Description: Grace period to allow the read to shutdown before it is killed
read.dnsConfig📜
Type: object
{}
Description: DNS config for read pods
read.nodeSelector📜
Type: object
{}
Description: Node selector for read pods
read.topologySpreadConstraints📜
Type: list
[]
Description: Topology Spread Constraints for read pods
read.tolerations📜
Type: list
[]
Description: Tolerations for read pods
read.podManagementPolicy📜
Type: string
"Parallel"
Description: The default is to deploy all pods in parallel.
read.persistence.enableStatefulSetAutoDeletePVC📜
Type: bool
true
Description: Enable StatefulSetAutoDeletePVC feature
read.persistence.size📜
Type: string
"10Gi"
Description: Size of persistent disk
read.persistence.storageClass📜
Type: string
nil
Description: Storage class to be used. If defined, storageClassName:
read.persistence.selector📜
Type: string
nil
Description: Selector for persistent disk
read.persistence.annotations📜
Type: object
{}
Description: Annotations for volume claim
read.podDisruptionBudget.maxUnavailable📜
Type: string
"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
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
0
Description: Number of replicas for the backend
backend.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the backend.
backend.autoscaling.minReplicas📜
Type: int
3
Description: Minimum autoscaling replicas for the backend.
backend.autoscaling.maxReplicas📜
Type: int
6
Description: Maximum autoscaling replicas for the backend.
backend.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilization percentage for the backend.
backend.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilization percentage for the backend.
backend.autoscaling.behavior📜
Type: object
{}
Description: Behavior policies while scaling.
backend.image.registry📜
Type: string
nil
Description: The Docker registry for the backend image. Overrides loki.image.registry
backend.image.repository📜
Type: string
nil
Description: Docker image repository for the backend image. Overrides loki.image.repository
backend.image.tag📜
Type: string
nil
Description: Docker image tag for the backend image. Overrides loki.image.tag
backend.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for backend pods
backend.annotations📜
Type: object
{}
Description: Annotations for backend StatefulSet
backend.podAnnotations📜
Type: object
{}
Description: Annotations for backend pods
backend.podLabels📜
Type: object
{}
Description: Additional labels for each backend
pod
backend.selectorLabels📜
Type: object
{}
Description: Additional selector labels for each backend
pod
backend.service.annotations📜
Type: object
{}
Description: Annotations for backend Service
backend.service.labels📜
Type: object
{}
Description: Additional labels for backend Service
backend.targetModule📜
Type: string
"backend"
Description: Comma-separated list of Loki modules to load for the backend
backend.extraArgs📜
Type: list
[]
Description: Additional CLI args for the backend
backend.extraEnv📜
Type: list
[]
Description: Environment variables to add to the backend pods
backend.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the backend pods
backend.initContainers📜
Type: list
[]
Description: Init containers to add to the backend pods
backend.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the backend pods
backend.extraVolumes📜
Type: list
[]
Description: Volumes to add to the backend pods
backend.resources📜
Type: object
{}
Description: Resource requests and limits for the backend
backend.terminationGracePeriodSeconds📜
Type: int
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
{}
Description: DNS config for backend pods
backend.nodeSelector📜
Type: object
{}
Description: Node selector for backend pods
backend.topologySpreadConstraints📜
Type: list
[]
Description: Topology Spread Constraints for backend pods
backend.tolerations📜
Type: list
[]
Description: Tolerations for backend pods
backend.podManagementPolicy📜
Type: string
"Parallel"
Description: The default is to deploy all pods in parallel.
backend.persistence.volumeClaimsEnabled📜
Type: bool
true
Description: Enable volume claims in pod spec
backend.persistence.dataVolumeParameters📜
Type: object
emptyDir: {}
Description: Parameters used for the data
volume when volumeClaimEnabled if false
backend.persistence.enableStatefulSetAutoDeletePVC📜
Type: bool
true
Description: Enable StatefulSetAutoDeletePVC feature
backend.persistence.size📜
Type: string
"10Gi"
Description: Size of persistent disk
backend.persistence.storageClass📜
Type: string
nil
Description: Storage class to be used. If defined, storageClassName:
backend.persistence.selector📜
Type: string
nil
Description: Selector for persistent disk
backend.persistence.annotations📜
Type: object
{}
Description: Annotations for volume claim
backend.podDisruptionBudget.maxUnavailable📜
Type: string
"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
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
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
[]
Description: hostAliases to add
ingester.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the ingester
ingester.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the ingester
ingester.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the ingester
ingester.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the ingester
ingester.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the ingester
ingester.autoscaling.customMetrics📜
Type: list
[]
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
false
Description: Enable autoscaling behaviours
ingester.autoscaling.behavior.scaleDown📜
Type: object
{}
Description: define scale down policies, must conform to HPAScalingRules
ingester.autoscaling.behavior.scaleUp📜
Type: object
{}
Description: define scale up policies, must conform to HPAScalingRules
ingester.image.registry📜
Type: string
nil
Description: The Docker registry for the ingester image. Overrides loki.image.registry
ingester.image.repository📜
Type: string
nil
Description: Docker image repository for the ingester image. Overrides loki.image.repository
ingester.image.tag📜
Type: string
nil
Description: Docker image tag for the ingester image. Overrides loki.image.tag
ingester.command📜
Type: string
nil
Description: Command to execute instead of defined in Docker image
ingester.podLabels📜
Type: object
{}
Description: Labels for ingester pods
ingester.podAnnotations📜
Type: object
{}
Description: Annotations for ingester pods
ingester.serviceLabels📜
Type: object
{}
Description: Labels for ingestor service
ingester.serviceAnnotations📜
Type: object
{}
Description: Annotations for ingestor service
ingester.extraArgs📜
Type: list
[]
Description: Additional CLI args for the ingester
ingester.extraEnv📜
Type: list
[]
Description: Environment variables to add to the ingester pods
ingester.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the ingester pods
ingester.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the ingester pods
ingester.extraVolumes📜
Type: list
[]
Description: Volumes to add to the ingester pods
ingester.resources📜
Type: object
{}
Description: Resource requests and limits for the ingester
ingester.extraContainers📜
Type: list
[]
Description: Containers to add to the ingester pods
ingester.initContainers📜
Type: list
[]
Description: Init containers to add to the ingester pods
ingester.terminationGracePeriodSeconds📜
Type: int
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
{}
Description: Lifecycle for the ingester container
ingester.maxUnavailable📜
Type: int
1
Description: Pod Disruption Budget maxUnavailable
ingester.nodeSelector📜
Type: object
{}
Description: Node selector for ingester pods
ingester.tolerations📜
Type: list
[]
Description: Tolerations for ingester pods
ingester.readinessProbe📜
Type: object
{}
Description: readiness probe settings for ingester pods. If empty, use loki.readinessProbe
ingester.livenessProbe📜
Type: object
{}
Description: liveness probe settings for ingester pods. If empty use loki.livenessProbe
ingester.updateStrategy📜
Type: object
type: RollingUpdate
Description: UpdateStrategy for the ingester StatefulSets.
ingester.updateStrategy.type📜
Type: string
"RollingUpdate"
Description: One of ‘OnDelete’ or ‘RollingUpdate’
ingester.persistence.enabled📜
Type: bool
false
Description: Enable creating PVCs which is required when using boltdb-shipper
ingester.persistence.inMemory📜
Type: bool
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
false
Description: Enable StatefulSetAutoDeletePVC feature
ingester.appProtocol📜
Type: object
grpc: ''
Description: Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection.
ingester.appProtocol.grpc📜
Type: string
""
Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”
ingester.zoneAwareReplication📜
Type: object
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
true
Description: Enable zone awareness.
ingester.zoneAwareReplication.maxUnavailablePct📜
Type: int
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
annotations: {}
extraAffinity: {}
nodeSelector: null
podAnnotations: {}
Description: zoneA configuration
ingester.zoneAwareReplication.zoneA.nodeSelector📜
Type: string
nil
Description: optionally define a node selector for this zone
ingester.zoneAwareReplication.zoneA.extraAffinity📜
Type: object
{}
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
{}
Description: Specific annotations to add to zone A statefulset
ingester.zoneAwareReplication.zoneA.podAnnotations📜
Type: object
{}
Description: Specific annotations to add to zone A pods
ingester.zoneAwareReplication.zoneB.nodeSelector📜
Type: string
nil
Description: optionally define a node selector for this zone
ingester.zoneAwareReplication.zoneB.extraAffinity📜
Type: object
{}
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
{}
Description: Specific annotations to add to zone B statefulset
ingester.zoneAwareReplication.zoneB.podAnnotations📜
Type: object
{}
Description: Specific annotations to add to zone B pods
ingester.zoneAwareReplication.zoneC.nodeSelector📜
Type: string
nil
Description: optionally define a node selector for this zone
ingester.zoneAwareReplication.zoneC.extraAffinity📜
Type: object
{}
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
{}
Description: Specific annotations to add to zone C statefulset
ingester.zoneAwareReplication.zoneC.podAnnotations📜
Type: object
{}
Description: Specific annotations to add to zone C pods
ingester.zoneAwareReplication.migration📜
Type: object
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
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
0
Description: Number of replicas for the distributor
distributor.hostAliases📜
Type: list
[]
Description: hostAliases to add
distributor.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the distributor
distributor.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the distributor
distributor.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the distributor
distributor.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the distributor
distributor.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the distributor
distributor.autoscaling.customMetrics📜
Type: list
[]
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
false
Description: Enable autoscaling behaviours
distributor.autoscaling.behavior.scaleDown📜
Type: object
{}
Description: define scale down policies, must conform to HPAScalingRules
distributor.autoscaling.behavior.scaleUp📜
Type: object
{}
Description: define scale up policies, must conform to HPAScalingRules
distributor.image.registry📜
Type: string
nil
Description: The Docker registry for the distributor image. Overrides loki.image.registry
distributor.image.repository📜
Type: string
nil
Description: Docker image repository for the distributor image. Overrides loki.image.repository
distributor.image.tag📜
Type: string
nil
Description: Docker image tag for the distributor image. Overrides loki.image.tag
distributor.command📜
Type: string
nil
Description: Command to execute instead of defined in Docker image
distributor.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for distributor pods
distributor.podLabels📜
Type: object
{}
Description: Labels for distributor pods
distributor.podAnnotations📜
Type: object
{}
Description: Annotations for distributor pods
distributor.serviceLabels📜
Type: object
{}
Description: Labels for distributor service
distributor.serviceAnnotations📜
Type: object
{}
Description: Annotations for distributor service
distributor.extraArgs📜
Type: list
[]
Description: Additional CLI args for the distributor
distributor.extraEnv📜
Type: list
[]
Description: Environment variables to add to the distributor pods
distributor.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the distributor pods
distributor.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the distributor pods
distributor.extraVolumes📜
Type: list
[]
Description: Volumes to add to the distributor pods
distributor.resources📜
Type: object
{}
Description: Resource requests and limits for the distributor
distributor.extraContainers📜
Type: list
[]
Description: Containers to add to the distributor pods
distributor.terminationGracePeriodSeconds📜
Type: int
30
Description: Grace period to allow the distributor to shutdown before it is killed
distributor.maxUnavailable📜
Type: string
nil
Description: Pod Disruption Budget maxUnavailable
distributor.maxSurge📜
Type: int
0
Description: Max Surge for distributor pods
distributor.nodeSelector📜
Type: object
{}
Description: Node selector for distributor pods
distributor.tolerations📜
Type: list
[]
Description: Tolerations for distributor pods
distributor.appProtocol📜
Type: object
grpc: ''
Description: Adds the appProtocol field to the distributor service. This allows distributor to work with istio protocol selection.
distributor.appProtocol.grpc📜
Type: string
""
Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”
querier📜
Type: object
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
0
Description: Number of replicas for the querier
querier.hostAliases📜
Type: list
[]
Description: hostAliases to add
querier.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the querier, this is only used if indexGateway.enabled: true
querier.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the querier
querier.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the querier
querier.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the querier
querier.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the querier
querier.autoscaling.customMetrics📜
Type: list
[]
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
false
Description: Enable autoscaling behaviours
querier.autoscaling.behavior.scaleDown📜
Type: object
{}
Description: define scale down policies, must conform to HPAScalingRules
querier.autoscaling.behavior.scaleUp📜
Type: object
{}
Description: define scale up policies, must conform to HPAScalingRules
querier.image.registry📜
Type: string
nil
Description: The Docker registry for the querier image. Overrides loki.image.registry
querier.image.repository📜
Type: string
nil
Description: Docker image repository for the querier image. Overrides loki.image.repository
querier.image.tag📜
Type: string
nil
Description: Docker image tag for the querier image. Overrides loki.image.tag
querier.command📜
Type: string
nil
Description: Command to execute instead of defined in Docker image
querier.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for querier pods
querier.podLabels📜
Type: object
{}
Description: Labels for querier pods
querier.podAnnotations📜
Type: object
{}
Description: Annotations for querier pods
querier.serviceLabels📜
Type: object
{}
Description: Labels for querier service
querier.serviceAnnotations📜
Type: object
{}
Description: Annotations for querier service
querier.extraArgs📜
Type: list
[]
Description: Additional CLI args for the querier
querier.extraEnv📜
Type: list
[]
Description: Environment variables to add to the querier pods
querier.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the querier pods
querier.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the querier pods
querier.extraVolumes📜
Type: list
[]
Description: Volumes to add to the querier pods
querier.resources📜
Type: object
limits:
cpu: 300m
memory: 2Gi
requests:
cpu: 300m
memory: 2Gi
Description: Resource requests and limits for the querier
querier.extraContainers📜
Type: list
[]
Description: Containers to add to the querier pods
querier.initContainers📜
Type: list
[]
Description: Init containers to add to the querier pods
querier.terminationGracePeriodSeconds📜
Type: int
30
Description: Grace period to allow the querier to shutdown before it is killed
querier.maxUnavailable📜
Type: string
nil
Description: Pod Disruption Budget maxUnavailable
querier.maxSurge📜
Type: int
0
Description: Max Surge for querier pods
querier.nodeSelector📜
Type: object
{}
Description: Node selector for querier pods
querier.tolerations📜
Type: list
[]
Description: Tolerations for querier pods
querier.dnsConfig📜
Type: object
{}
Description: DNSConfig for querier pods
querier.persistence.enabled📜
Type: bool
false
Description: Enable creating PVCs for the querier cache
querier.persistence.size📜
Type: string
"10Gi"
Description: Size of persistent disk
querier.persistence.storageClass📜
Type: string
nil
Description: Storage class to be used. If defined, storageClassName:
querier.persistence.annotations📜
Type: object
{}
Description: Annotations for querier PVCs
querier.appProtocol📜
Type: object
grpc: ''
Description: Adds the appProtocol field to the querier service. This allows querier to work with istio protocol selection.
querier.appProtocol.grpc📜
Type: string
""
Description: Set the optional grpc service protocol. Ex: “grpc”, “http2” or “https”
queryFrontend📜
Type: object
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
0
Description: Number of replicas for the query-frontend
queryFrontend.hostAliases📜
Type: list
[]
Description: hostAliases to add
queryFrontend.autoscaling.enabled📜
Type: bool
false
Description: Enable autoscaling for the query-frontend
queryFrontend.autoscaling.minReplicas📜
Type: int
1
Description: Minimum autoscaling replicas for the query-frontend
queryFrontend.autoscaling.maxReplicas📜
Type: int
3
Description: Maximum autoscaling replicas for the query-frontend
queryFrontend.autoscaling.targetCPUUtilizationPercentage📜
Type: int
60
Description: Target CPU utilisation percentage for the query-frontend
queryFrontend.autoscaling.targetMemoryUtilizationPercentage📜
Type: string
nil
Description: Target memory utilisation percentage for the query-frontend
queryFrontend.autoscaling.customMetrics📜
Type: list
[]
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
false
Description: Enable autoscaling behaviours
queryFrontend.autoscaling.behavior.scaleDown📜
Type: object
{}
Description: define scale down policies, must conform to HPAScalingRules
queryFrontend.autoscaling.behavior.scaleUp📜
Type: object
{}
Description: define scale up policies, must conform to HPAScalingRules
queryFrontend.image.registry📜
Type: string
nil
Description: The Docker registry for the query-frontend image. Overrides loki.image.registry
queryFrontend.image.repository📜
Type: string
nil
Description: Docker image repository for the query-frontend image. Overrides loki.image.repository
queryFrontend.image.tag📜
Type: string
nil
Description: Docker image tag for the query-frontend image. Overrides loki.image.tag
queryFrontend.command📜
Type: string
nil
Description: Command to execute instead of defined in Docker image
queryFrontend.priorityClassName📜
Type: string
nil
Description: The name of the PriorityClass for query-frontend pods
queryFrontend.podLabels📜
Type: object
{}
Description: Labels for query-frontend pods
queryFrontend.podAnnotations📜
Type: object
{}
Description: Annotations for query-frontend pods
queryFrontend.serviceLabels📜
Type: object
{}
Description: Labels for query-frontend service
queryFrontend.serviceAnnotations📜
Type: object
{}
Description: Annotations for query-frontend service
queryFrontend.extraArgs📜
Type: list
[]
Description: Additional CLI args for the query-frontend
queryFrontend.extraEnv📜
Type: list
[]
Description: Environment variables to add to the query-frontend pods
queryFrontend.extraEnvFrom📜
Type: list
[]
Description: Environment variables from secrets or configmaps to add to the query-frontend pods
queryFrontend.extraVolumeMounts📜
Type: list
[]
Description: Volume mounts to add to the query-frontend pods