# -- 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.
# -- 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](https://grafana.com/docs/loki/latest/configuration/#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](https://kubernetes.io/docs/concepts/configuration/secret/#use-case-as-container-environment-variables).
configStorageType:ConfigMap
# -- 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.
configObjectName:'{{ include "loki.name" . }}'
# -- 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.
generatedConfigObjectName:'{{ include "loki.name" . }}'
# -- 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.
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
autoscaling:
# -- Enable autoscaling for the ingester
enabled:false
# -- Minimum autoscaling replicas for the ingester
minReplicas:1
# -- Maximum autoscaling replicas for the ingester
maxReplicas:3
# -- Target CPU utilisation percentage for the ingester
targetCPUUtilizationPercentage:60
# -- Target memory utilisation percentage for the ingester
targetMemoryUtilizationPercentage:null
# -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
customMetrics:[]
# - type: Pods
# pods:
# metric:
# name: loki_lines_total
# target:
# type: AverageValue
# averageValue: 10k
behavior:
# -- Enable autoscaling behaviours
enabled:false
# -- define scale down policies, must conform to HPAScalingRules
scaleDown:{}
# -- define scale up policies, must conform to HPAScalingRules
scaleUp:{}
image:
# -- The Docker registry for the ingester image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the ingester image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the ingester image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
priorityClassName:null
# -- Labels for ingester pods
podLabels:{}
# -- Annotations for ingester pods
podAnnotations:{}
# -- The name of the PriorityClass for ingester pods
# -- Labels for ingestor service
serviceLabels:{}
# -- Annotations for ingestor service
serviceAnnotations:{}
# -- Additional CLI args for the ingester
extraArgs:[]
# -- Environment variables to add to the ingester pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the ingester pods
extraEnvFrom:[]
# -- Volume mounts to add to the ingester pods
extraVolumeMounts:[]
# -- Volumes to add to the ingester pods
extraVolumes:[]
# -- Resource requests and limits for the ingester
resources:{}
# -- Containers to add to the ingester pods
extraContainers:[]
# -- Init containers to add to the ingester pods
initContainers:[]
# -- 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.
terminationGracePeriodSeconds:300
# -- Lifecycle for the ingester container
lifecycle:{}
# -- topologySpread for ingester pods.
# @default -- Defaults to allow skew no more than 1 node
topologySpreadConstraints:
- maxSkew:1
topologyKey:kubernetes.io/hostname
whenUnsatisfiable:ScheduleAnyway
labelSelector:
matchLabels:
app.kubernetes.io/component:ingester
# -- Affinity for ingester pods. Ignored if zoneAwareReplication is enabled.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:ingester
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:1
# -- Node selector for ingester pods
nodeSelector:{}
# -- Tolerations for ingester pods
tolerations:[]
# -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
readinessProbe:{}
# -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
livenessProbe:{}
# -- UpdateStrategy for the ingester StatefulSets.
updateStrategy:
# -- One of 'OnDelete' or 'RollingUpdate'
type:RollingUpdate
# -- Optional for updateStrategy.type=RollingUpdate. See [Partitioned rolling updates](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions) in the StatefulSet docs for details.
# rollingUpdate:
# partition: 0
persistence:
# -- Enable creating PVCs which is required when using boltdb-shipper
enabled:false
# -- Use emptyDir with ramdisk for storage. **Please note that all data in ingester will be lost on pod restart**
inMemory:false
# -- List of the ingester PVCs
# @notationType -- list
claims:
- name:data
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# - name: wal
# size: 150Gi
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
# -- Adds the appProtocol field to the ingester service. This allows ingester to work with istio protocol selection.
appProtocol:
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
grpc:""
# -- 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.
zoneAwareReplication:
# -- Enable zone awareness.
enabled:true
# -- The percent of replicas in each zone that will be restarted at once. In a value of 0-100
maxUnavailablePct:33
# -- zoneA configuration
zoneA:
# -- optionally define a node selector for this zone
nodeSelector:null
# -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
extraAffinity:{}
# -- Specific annotations to add to zone A statefulset
annotations:{}
# -- Specific annotations to add to zone A pods
podAnnotations:{}
zoneB:
# -- optionally define a node selector for this zone
nodeSelector:null
# -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
extraAffinity:{}
# -- Specific annotations to add to zone B statefulset
annotations:{}
# -- Specific annotations to add to zone B pods
podAnnotations:{}
zoneC:
# -- optionally define a node selector for this zone
nodeSelector:null
# -- optionally define extra affinity rules, by default different zones are not allowed to schedule on the same host
extraAffinity:{}
# -- Specific annotations to add to zone C statefulset
annotations:{}
# -- Specific annotations to add to zone C pods
podAnnotations:{}
# -- The migration block allows migrating non zone aware ingesters to zone aware ingesters.
migration:
enabled:false
excludeDefaultZone:false
readPath:false
writePath:false
# optionally allow adding arbitrary prefix to the ingester rollout-group label
rolloutGroupPrefix:null
# optionally allow adding 'loki-' prefix to ingester name label
addIngesterNamePrefix:false
# -- Configuration for the distributor
distributor:
# -- Number of replicas for the distributor
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
autoscaling:
# -- Enable autoscaling for the distributor
enabled:false
# -- Minimum autoscaling replicas for the distributor
minReplicas:1
# -- Maximum autoscaling replicas for the distributor
maxReplicas:3
# -- Target CPU utilisation percentage for the distributor
targetCPUUtilizationPercentage:60
# -- Target memory utilisation percentage for the distributor
targetMemoryUtilizationPercentage:null
# -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
customMetrics:[]
# - type: Pods
# pods:
# metric:
# name: loki_lines_total
# target:
# type: AverageValue
# averageValue: 10k
behavior:
# -- Enable autoscaling behaviours
enabled:false
# -- define scale down policies, must conform to HPAScalingRules
scaleDown:{}
# -- define scale up policies, must conform to HPAScalingRules
scaleUp:{}
image:
# -- The Docker registry for the distributor image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the distributor image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the distributor image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for distributor pods
priorityClassName:null
# -- Labels for distributor pods
podLabels:{}
# -- Annotations for distributor pods
podAnnotations:{}
# -- Labels for distributor service
serviceLabels:{}
# -- Annotations for distributor service
serviceAnnotations:{}
# -- Additional CLI args for the distributor
extraArgs:[]
# -- Environment variables to add to the distributor pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the distributor pods
extraEnvFrom:[]
# -- Volume mounts to add to the distributor pods
extraVolumeMounts:[]
# -- Volumes to add to the distributor pods
extraVolumes:[]
# -- Resource requests and limits for the distributor
resources:{}
# -- Containers to add to the distributor pods
extraContainers:[]
# -- Grace period to allow the distributor to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Affinity for distributor pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:distributor
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Max Surge for distributor pods
maxSurge:0
# -- Node selector for distributor pods
nodeSelector:{}
# -- Topology Spread Constraints for distributor pods
topologySpreadConstraints:[]
# -- Tolerations for distributor pods
tolerations:[]
# -- Adds the appProtocol field to the distributor service. This allows distributor to work with istio protocol selection.
appProtocol:
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
grpc:""
# -- Configuration for the querier
querier:
# -- Number of replicas for the querier
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
autoscaling:
# -- Enable autoscaling for the querier, this is only used if `indexGateway.enabled: true`
enabled:false
# -- Minimum autoscaling replicas for the querier
minReplicas:1
# -- Maximum autoscaling replicas for the querier
maxReplicas:3
# -- Target CPU utilisation percentage for the querier
targetCPUUtilizationPercentage:60
# -- Target memory utilisation percentage for the querier
targetMemoryUtilizationPercentage:null
# -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
customMetrics:[]
# - type: External
# external:
# metric:
# name: loki_inflight_queries
# target:
# type: AverageValue
# averageValue: 12
behavior:
# -- Enable autoscaling behaviours
enabled:false
# -- define scale down policies, must conform to HPAScalingRules
scaleDown:{}
# -- define scale up policies, must conform to HPAScalingRules
scaleUp:{}
image:
# -- The Docker registry for the querier image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the querier image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the querier image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for querier pods
priorityClassName:null
# -- Labels for querier pods
podLabels:{}
# -- Annotations for querier pods
podAnnotations:{}
# -- Labels for querier service
serviceLabels:{}
# -- Annotations for querier service
serviceAnnotations:{}
# -- Additional CLI args for the querier
extraArgs:[]
# -- Environment variables to add to the querier pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the querier pods
extraEnvFrom:[]
# -- Volume mounts to add to the querier pods
extraVolumeMounts:[]
# -- Volumes to add to the querier pods
extraVolumes:[]
# -- Resource requests and limits for the querier
resources:{}
# -- Containers to add to the querier pods
extraContainers:[]
# -- Init containers to add to the querier pods
initContainers:[]
# -- Grace period to allow the querier to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- topologySpread for querier pods.
# @default -- Defaults to allow skew no more then 1 node
topologySpreadConstraints:
- maxSkew:1
topologyKey:kubernetes.io/hostname
whenUnsatisfiable:ScheduleAnyway
labelSelector:
matchLabels:
app.kubernetes.io/component:querier
# -- Affinity for querier pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:querier
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Max Surge for querier pods
maxSurge:0
# -- Node selector for querier pods
nodeSelector:{}
# -- Tolerations for querier pods
tolerations:[]
# -- DNSConfig for querier pods
dnsConfig:{}
persistence:
# -- Enable creating PVCs for the querier cache
enabled:false
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# -- Annotations for querier PVCs
annotations:{}
# -- Adds the appProtocol field to the querier service. This allows querier to work with istio protocol selection.
appProtocol:
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
grpc:""
# -- Configuration for the query-frontend
queryFrontend:
# -- Number of replicas for the query-frontend
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
autoscaling:
# -- Enable autoscaling for the query-frontend
enabled:false
# -- Minimum autoscaling replicas for the query-frontend
minReplicas:1
# -- Maximum autoscaling replicas for the query-frontend
maxReplicas:3
# -- Target CPU utilisation percentage for the query-frontend
targetCPUUtilizationPercentage:60
# -- Target memory utilisation percentage for the query-frontend
targetMemoryUtilizationPercentage:null
# -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
customMetrics:[]
# - type: Pods
# pods:
# metric:
# name: loki_query_rate
# target:
# type: AverageValue
# averageValue: 100
behavior:
# -- Enable autoscaling behaviours
enabled:false
# -- define scale down policies, must conform to HPAScalingRules
scaleDown:{}
# -- define scale up policies, must conform to HPAScalingRules
scaleUp:{}
image:
# -- The Docker registry for the query-frontend image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the query-frontend image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the query-frontend image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for query-frontend pods
priorityClassName:null
# -- Labels for query-frontend pods
podLabels:{}
# -- Annotations for query-frontend pods
podAnnotations:{}
# -- Labels for query-frontend service
serviceLabels:{}
# -- Annotations for query-frontend service
serviceAnnotations:{}
# -- Additional CLI args for the query-frontend
extraArgs:[]
# -- Environment variables to add to the query-frontend pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the query-frontend pods
extraEnvFrom:[]
# -- Volume mounts to add to the query-frontend pods
extraVolumeMounts:[]
# -- Volumes to add to the query-frontend pods
extraVolumes:[]
# -- Resource requests and limits for the query-frontend
resources:{}
# -- Containers to add to the query-frontend pods
extraContainers:[]
# -- Grace period to allow the query-frontend to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Affinity for query-frontend pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:query-frontend
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Node selector for query-frontend pods
nodeSelector:{}
# -- Topology Spread Constraints for query-frontend pods
topologySpreadConstraints:[]
# -- Tolerations for query-frontend pods
tolerations:[]
# -- Adds the appProtocol field to the queryFrontend service. This allows queryFrontend to work with istio protocol selection.
appProtocol:
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
grpc:""
# -- Configuration for the query-scheduler
queryScheduler:
# -- Number of replicas for the query-scheduler.
# It should be lower than `-querier.max-concurrent` to avoid generating back-pressure in queriers;
# it's also recommended that this value evenly divides the latter
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the query-scheduler image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the query-scheduler image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the query-scheduler image. Overrides `loki.image.tag`
tag:null
# -- The name of the PriorityClass for query-scheduler pods
priorityClassName:null
# -- Labels for query-scheduler pods
podLabels:{}
# -- Annotations for query-scheduler pods
podAnnotations:{}
# -- Labels for query-scheduler service
serviceLabels:{}
# -- Annotations for query-scheduler service
serviceAnnotations:{}
# -- Additional CLI args for the query-scheduler
extraArgs:[]
# -- Environment variables to add to the query-scheduler pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the query-scheduler pods
extraEnvFrom:[]
# -- Volume mounts to add to the query-scheduler pods
extraVolumeMounts:[]
# -- Volumes to add to the query-scheduler pods
extraVolumes:[]
# -- Resource requests and limits for the query-scheduler
resources:{}
# -- Containers to add to the query-scheduler pods
extraContainers:[]
# -- Grace period to allow the query-scheduler to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Affinity for query-scheduler pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:query-scheduler
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:1
# -- Node selector for query-scheduler pods
nodeSelector:{}
# -- Topology Spread Constraints for query-scheduler pods
topologySpreadConstraints:[]
# -- Tolerations for query-scheduler pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
# -- Configuration for the index-gateway
indexGateway:
# -- Number of replicas for the index-gateway
replicas:0
# -- Whether the index gateway should join the memberlist hashring
joinMemberlist:true
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the index-gateway image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the index-gateway image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the index-gateway image. Overrides `loki.image.tag`
tag:null
# -- The name of the PriorityClass for index-gateway pods
priorityClassName:null
# -- Labels for index-gateway pods
podLabels:{}
# -- Annotations for index-gateway pods
podAnnotations:{}
# -- Labels for index-gateway service
serviceLabels:{}
# -- Annotations for index-gateway service
serviceAnnotations:{}
# -- Additional CLI args for the index-gateway
extraArgs:[]
# -- Environment variables to add to the index-gateway pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the index-gateway pods
extraEnvFrom:[]
# -- Volume mounts to add to the index-gateway pods
extraVolumeMounts:[]
# -- Volumes to add to the index-gateway pods
extraVolumes:[]
# -- Resource requests and limits for the index-gateway
resources:{}
# -- Containers to add to the index-gateway pods
extraContainers:[]
# -- Init containers to add to the index-gateway pods
initContainers:[]
# -- Grace period to allow the index-gateway to shutdown before it is killed.
terminationGracePeriodSeconds:300
# -- Affinity for index-gateway pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:index-gateway
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Node selector for index-gateway pods
nodeSelector:{}
# -- Topology Spread Constraints for index-gateway pods
topologySpreadConstraints:[]
# -- Tolerations for index-gateway pods
tolerations:[]
persistence:
# -- Enable creating PVCs which is required when using boltdb-shipper
enabled:false
# -- Use emptyDir with ramdisk for storage. **Please note that all data in indexGateway will be lost on pod restart**
inMemory:false
# -- Size of persistent or memory disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# -- Annotations for index gateway PVCs
annotations:{}
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
# -- UpdateStrategy for the indexGateway StatefulSet.
updateStrategy:
# -- One of 'OnDelete' or 'RollingUpdate'
type:RollingUpdate
# -- Optional for updateStrategy.type=RollingUpdate. See [Partitioned rolling updates](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions) in the StatefulSet docs for details.
# rollingUpdate:
# partition: 0
# -- Configuration for the compactor
compactor:
# -- Number of replicas for the compactor
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the compactor image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the compactor image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the compactor image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for compactor pods
priorityClassName:null
# -- Labels for compactor pods
podLabels:{}
# -- Annotations for compactor pods
podAnnotations:{}
# -- Affinity for compactor pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:compactor
topologyKey:kubernetes.io/hostname
# -- Labels for compactor service
serviceLabels:{}
# -- Annotations for compactor service
serviceAnnotations:{}
# -- Additional CLI args for the compactor
extraArgs:[]
# -- Environment variables to add to the compactor pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the compactor pods
extraEnvFrom:[]
# -- Volume mounts to add to the compactor pods
extraVolumeMounts:[]
# -- Volumes to add to the compactor pods
extraVolumes:[]
# -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
readinessProbe:{}
# -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
livenessProbe:{}
# -- Resource requests and limits for the compactor
resources:{}
# -- Containers to add to the compactor pods
extraContainers:[]
# -- Init containers to add to the compactor pods
initContainers:[]
# -- Grace period to allow the compactor to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Node selector for compactor pods
nodeSelector:{}
# -- Tolerations for compactor pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
persistence:
# -- Enable creating PVCs for the compactor
enabled:false
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# -- Annotations for compactor PVCs
annotations:{}
# -- List of the compactor PVCs
# @notationType -- list
claims:
- name:data
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# - name: wal
# size: 150Gi
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
serviceAccount:
create:false
# -- The name of the ServiceAccount to use for the compactor.
# If not set and create is true, a name is generated by appending
# "-compactor" to the common ServiceAccount.
name:null
# -- Image pull secrets for the compactor service account
imagePullSecrets:[]
# -- Annotations for the compactor service account
annotations:{}
# -- Set this toggle to false to opt out of automounting API credentials for the service account
automountServiceAccountToken:true
# -- Configuration for the bloom-gateway
bloomGateway:
# -- Number of replicas for the bloom-gateway
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the bloom-gateway image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the bloom-gateway image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the bloom-gateway image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for bloom-gateway pods
priorityClassName:null
# -- Labels for bloom-gateway pods
podLabels:{}
# -- Annotations for bloom-gateway pods
podAnnotations:{}
# -- Affinity for bloom-gateway pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:bloom-gateway
topologyKey:kubernetes.io/hostname
# -- Labels for bloom-gateway service
serviceLabels:{}
# -- Annotations for bloom-gateway service
serviceAnnotations:{}
# -- Additional CLI args for the bloom-gateway
extraArgs:[]
# -- Environment variables to add to the bloom-gateway pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the bloom-gateway pods
extraEnvFrom:[]
# -- Volume mounts to add to the bloom-gateway pods
extraVolumeMounts:[]
# -- Volumes to add to the bloom-gateway pods
extraVolumes:[]
# -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
readinessProbe:{}
# -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
livenessProbe:{}
# -- Resource requests and limits for the bloom-gateway
resources:{}
# -- Containers to add to the bloom-gateway pods
extraContainers:[]
# -- Init containers to add to the bloom-gateway pods
initContainers:[]
# -- Grace period to allow the bloom-gateway to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Node selector for bloom-gateway pods
nodeSelector:{}
# -- Tolerations for bloom-gateway pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
persistence:
# -- Enable creating PVCs for the bloom-gateway
enabled:false
# -- Annotations for bloom-gateway PVCs
annotations:{}
# -- List of the bloom-gateway PVCs
# @notationType -- list
claims:
- name:data
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
serviceAccount:
create:false
# -- The name of the ServiceAccount to use for the bloom-gateway.
# If not set and create is true, a name is generated by appending
# "-bloom-gateway" to the common ServiceAccount.
name:null
# -- Image pull secrets for the bloom-gateway service account
imagePullSecrets:[]
# -- Annotations for the bloom-gateway service account
annotations:{}
# -- Set this toggle to false to opt out of automounting API credentials for the service account
automountServiceAccountToken:true
# -- Configuration for the bloom-planner
bloomPlanner:
# -- Number of replicas for the bloom-planner
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the bloom-planner image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the bloom-planner image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the bloom-planner image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for bloom-planner pods
priorityClassName:null
# -- Labels for bloom-planner pods
podLabels:{}
# -- Annotations for bloom-planner pods
podAnnotations:{}
# -- Affinity for bloom-planner pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:bloom-planner
topologyKey:kubernetes.io/hostname
# -- Labels for bloom-planner service
serviceLabels:{}
# -- Annotations for bloom-planner service
serviceAnnotations:{}
# -- Additional CLI args for the bloom-planner
extraArgs:[]
# -- Environment variables to add to the bloom-planner pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the bloom-planner pods
extraEnvFrom:[]
# -- Volume mounts to add to the bloom-planner pods
extraVolumeMounts:[]
# -- Volumes to add to the bloom-planner pods
extraVolumes:[]
# -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
readinessProbe:{}
# -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
livenessProbe:{}
# -- Resource requests and limits for the bloom-planner
resources:{}
# -- Containers to add to the bloom-planner pods
extraContainers:[]
# -- Init containers to add to the bloom-planner pods
initContainers:[]
# -- Grace period to allow the bloom-planner to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Node selector for bloom-planner pods
nodeSelector:{}
# -- Tolerations for bloom-planner pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
persistence:
# -- Enable creating PVCs for the bloom-planner
enabled:false
# -- Annotations for bloom-planner PVCs
annotations:{}
# -- List of the bloom-planner PVCs
# @notationType -- list
claims:
- name:data
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
serviceAccount:
create:false
# -- The name of the ServiceAccount to use for the bloom-planner.
# If not set and create is true, a name is generated by appending
# "-bloom-planner" to the common ServiceAccount.
name:null
# -- Image pull secrets for the bloom-planner service account
imagePullSecrets:[]
# -- Annotations for the bloom-planner service account
annotations:{}
# -- Set this toggle to false to opt out of automounting API credentials for the service account
automountServiceAccountToken:true
# -- Configuration for the bloom-builder
bloomBuilder:
# -- Number of replicas for the bloom-builder
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
autoscaling:
# -- Enable autoscaling for the bloom-builder
enabled:false
# -- Minimum autoscaling replicas for the bloom-builder
minReplicas:1
# -- Maximum autoscaling replicas for the bloom-builder
maxReplicas:3
# -- Target CPU utilisation percentage for the bloom-builder
targetCPUUtilizationPercentage:60
# -- Target memory utilisation percentage for the bloom-builder
targetMemoryUtilizationPercentage:null
# -- Allows one to define custom metrics using the HPA/v2 schema (for example, Pods, Object or External metrics)
customMetrics:[]
# - type: Pods
# pods:
# metric:
# name: loki_query_rate
# target:
# type: AverageValue
# averageValue: 100
behavior:
# -- Enable autoscaling behaviours
enabled:false
# -- define scale down policies, must conform to HPAScalingRules
scaleDown:{}
# -- define scale up policies, must conform to HPAScalingRules
scaleUp:{}
image:
# -- The Docker registry for the bloom-builder image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the bloom-builder image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the bloom-builder image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for bloom-builder pods
priorityClassName:null
# -- Labels for bloom-builder pods
podLabels:{}
# -- Annotations for bloom-builder pods
podAnnotations:{}
# -- Labels for bloom-builder service
serviceLabels:{}
# -- Annotations for bloom-builder service
serviceAnnotations:{}
# -- Additional CLI args for the bloom-builder
extraArgs:[]
# -- Environment variables to add to the bloom-builder pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the bloom-builder pods
extraEnvFrom:[]
# -- Volume mounts to add to the bloom-builder pods
extraVolumeMounts:[]
# -- Volumes to add to the bloom-builder pods
extraVolumes:[]
# -- Resource requests and limits for the bloom-builder
resources:{}
# -- Containers to add to the bloom-builder pods
extraContainers:[]
# -- Grace period to allow the bloom-builder to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Affinity for bloom-builder pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:bloom-builder
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Node selector for bloom-builder pods
nodeSelector:{}
# -- Tolerations for bloom-builder pods
tolerations:[]
# -- Adds the appProtocol field to the queryFrontend service. This allows bloomBuilder to work with istio protocol selection.
appProtocol:
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
grpc:""
# -- Configuration for the pattern ingester
patternIngester:
# -- Number of replicas for the pattern ingester
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the pattern ingester image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the pattern ingester image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the pattern ingester image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for pattern ingester pods
priorityClassName:null
# -- Labels for pattern ingester pods
podLabels:{}
# -- Annotations for pattern ingester pods
podAnnotations:{}
# -- Affinity for pattern ingester pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:pattern-ingester
topologyKey:kubernetes.io/hostname
# -- Labels for pattern ingester service
serviceLabels:{}
# -- Annotations for pattern ingester service
serviceAnnotations:{}
# -- Additional CLI args for the pattern ingester
extraArgs:[]
# -- Environment variables to add to the pattern ingester pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the pattern ingester pods
extraEnvFrom:[]
# -- Volume mounts to add to the pattern ingester pods
extraVolumeMounts:[]
# -- Volumes to add to the pattern ingester pods
extraVolumes:[]
# -- readiness probe settings for ingester pods. If empty, use `loki.readinessProbe`
readinessProbe:{}
# -- liveness probe settings for ingester pods. If empty use `loki.livenessProbe`
livenessProbe:{}
# -- Resource requests and limits for the pattern ingester
resources:{}
# -- Containers to add to the pattern ingester pods
extraContainers:[]
# -- Init containers to add to the pattern ingester pods
initContainers:[]
# -- Grace period to allow the pattern ingester to shutdown before it is killed
terminationGracePeriodSeconds:30
# -- Node selector for pattern ingester pods
nodeSelector:{}
# -- Topology Spread Constraints for pattern ingester pods
topologySpreadConstraints:[]
# -- Tolerations for pattern ingester pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
persistence:
# -- Enable creating PVCs for the pattern ingester
enabled:false
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:azure-disk-std-lrs
# -- Annotations for pattern ingester PVCs
annotations:{}
# -- List of the pattern ingester PVCs
# @notationType -- list
claims:
- name:data
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:null
# - name: wal
# size: 150Gi
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC:false
whenDeleted:Retain
whenScaled:Retain
serviceAccount:
create:false
# -- The name of the ServiceAccount to use for the pattern ingester.
# If not set and create is true, a name is generated by appending
# "-pattern-ingester" to the common ServiceAccount.
name:null
# -- Image pull secrets for the pattern ingester service account
imagePullSecrets:[]
# -- Annotations for the pattern ingester service account
annotations:{}
# -- Set this toggle to false to opt out of automounting API credentials for the service account
automountServiceAccountToken:true
# -- Configuration for the ruler
ruler:
# -- The ruler component is optional and can be disabled if desired.
enabled:true
# -- Number of replicas for the ruler
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the ruler image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the ruler image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the ruler image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for ruler pods
priorityClassName:null
# -- Labels for compactor pods
podLabels:{}
# -- Annotations for ruler pods
podAnnotations:{}
# -- Labels for ruler service
serviceLabels:{}
# -- Annotations for ruler service
serviceAnnotations:{}
# -- Additional CLI args for the ruler
extraArgs:[]
# -- Environment variables to add to the ruler pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the ruler pods
extraEnvFrom:[]
# -- Volume mounts to add to the ruler pods
extraVolumeMounts:[]
# -- Volumes to add to the ruler pods
extraVolumes:[]
# -- Resource requests and limits for the ruler
resources:{}
# -- Containers to add to the ruler pods
extraContainers:[]
# -- Init containers to add to the ruler pods
initContainers:[]
# -- Grace period to allow the ruler to shutdown before it is killed
terminationGracePeriodSeconds:300
# -- Affinity for ruler pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:ruler
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Node selector for ruler pods
nodeSelector:{}
# -- Topology Spread Constraints for ruler pods
topologySpreadConstraints:[]
# -- Tolerations for ruler pods
tolerations:[]
# -- DNSConfig for ruler pods
dnsConfig:{}
persistence:
# -- Enable creating PVCs which is required when using recording rules
enabled:false
# -- Size of persistent disk
size:10Gi
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:azure-disk-std-lrs
# -- Annotations for ruler PVCs
annotations:{}
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
# -- Directories containing rules files
directories:{}
# tenant_foo:
# rules1.txt: |
# groups:
# - name: should_fire
# rules:
# - alert: HighPercentageError
# expr: |
# sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
# /
# sum(rate({app="foo", env="production"}[5m])) by (job)
# expr: sum by(container) (rate({job=~"loki-dev/.*"}[1m])) > 1000
# for: 2m
# -- Configuration for the overrides-exporter
overridesExporter:
# -- The overrides-exporter component is optional and can be disabled if desired.
enabled:false
# -- Number of replicas for the overrides-exporter
replicas:0
# -- hostAliases to add
hostAliases:[]
# - ip: 1.2.3.4
# hostnames:
# - domain.tld
image:
# -- The Docker registry for the overrides-exporter image. Overrides `loki.image.registry`
registry:null
# -- Docker image repository for the overrides-exporter image. Overrides `loki.image.repository`
repository:null
# -- Docker image tag for the overrides-exporter image. Overrides `loki.image.tag`
tag:null
# -- Command to execute instead of defined in Docker image
command:null
# -- The name of the PriorityClass for overrides-exporter pods
priorityClassName:null
# -- Labels for overrides-exporter pods
podLabels:{}
# -- Annotations for overrides-exporter pods
podAnnotations:{}
# -- Labels for overrides-exporter service
serviceLabels:{}
# -- Annotations for overrides-exporter service
serviceAnnotations:{}
# -- Additional CLI args for the overrides-exporter
extraArgs:[]
# -- Environment variables to add to the overrides-exporter pods
extraEnv:[]
# -- Environment variables from secrets or configmaps to add to the overrides-exporter pods
extraEnvFrom:[]
# -- Volume mounts to add to the overrides-exporter pods
extraVolumeMounts:[]
# -- Volumes to add to the overrides-exporter pods
extraVolumes:[]
# -- Resource requests and limits for the overrides-exporter
resources:{}
# -- Containers to add to the overrides-exporter pods
extraContainers:[]
# -- Init containers to add to the overrides-exporter pods
initContainers:[]
# -- Grace period to allow the overrides-exporter to shutdown before it is killed
terminationGracePeriodSeconds:300
# -- Affinity for overrides-exporter pods.
# @default -- Hard node anti-affinity
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/component:overrides-exporter
topologyKey:kubernetes.io/hostname
# -- Pod Disruption Budget maxUnavailable
maxUnavailable:null
# -- Node selector for overrides-exporter pods
nodeSelector:{}
# -- Topology Spread Constraints for overrides-exporter pods
topologySpreadConstraints:[]
# -- Tolerations for overrides-exporter pods
tolerations:[]
# -- Set the optional grpc service protocol. Ex: "grpc", "http2" or "https"
appProtocol:
grpc:""
memcached:
image:
# -- Memcached Docker image repository
repository:memcached
# -- Memcached Docker image tag
tag:1.6.38-alpine
# -- Memcached Docker image pull policy
pullPolicy:IfNotPresent
# -- The SecurityContext override for memcached pods
podSecurityContext:
runAsNonRoot:true
runAsUser:11211
runAsGroup:11211
fsGroup:11211
# -- The name of the PriorityClass for memcached pods
priorityClassName:null
# -- The SecurityContext for memcached containers
containerSecurityContext:
readOnlyRootFilesystem:true
capabilities:
drop:[ALL]
allowPrivilegeEscalation:false
memcachedExporter:
# -- Whether memcached metrics should be exported
enabled:true
image:
repository:prom/memcached-exporter
tag:v0.15.2
pullPolicy:IfNotPresent
resources:
requests:{}
limits:{}
# -- The SecurityContext for memcached exporter containers
containerSecurityContext:
readOnlyRootFilesystem:true
capabilities:
drop:[ALL]
allowPrivilegeEscalation:false
# -- Extra args to add to the exporter container.
# Example:
# extraArgs:
# memcached.tls.enable: true
# memcached.tls.cert-file: /certs/cert.crt
# memcached.tls.key-file: /certs/cert.key
# memcached.tls.ca-file: /certs/ca.crt
# memcached.tls.insecure-skip-verify: false
# memcached.tls.server-name: memcached
extraArgs:{}
resultsCache:
# -- Specifies whether memcached based results-cache should be enabled
enabled:true
# -- Specify how long cached results should be stored in the results-cache before being expired
defaultValidity:12h
# -- Memcached operation timeout
timeout:500ms
# -- Total number of results-cache replicas
replicas:1
# -- Port of the results-cache service
port:11211
# -- Amount of memory allocated to results-cache for object storage (in MB).
allocatedMemory:1024
# -- Maximum item results-cache for memcached (in MB).
maxItemMemory:5
# -- Maximum number of connections allowed
connectionLimit:16384
# -- Max memory to use for cache write back
writebackSizeLimit:500MB
# -- Max number of objects to use for cache write back
writebackBuffer:500000
# -- Number of parallel threads for cache write back
writebackParallelism:1
# -- Extra init containers for results-cache pods
initContainers:[]
# -- Annotations for the results-cache pods
annotations:{}
# -- Node selector for results-cache pods
nodeSelector:{}
# -- Affinity for results-cache pods
affinity:{}
# -- topologySpreadConstraints allows to customize the default topologySpreadConstraints. This can be either a single dict as shown below or a slice of topologySpreadConstraints.
# labelSelector is taken from the constraint itself (if it exists) or is generated by the chart using the same selectors as for services.
topologySpreadConstraints:[]
# maxSkew: 1
# topologyKey: kubernetes.io/hostname
# whenUnsatisfiable: ScheduleAnyway
# -- Tolerations for results-cache pods
tolerations:[]
# -- Pod Disruption Budget
podDisruptionBudget:
maxUnavailable:1
# -- The name of the PriorityClass for results-cache pods
priorityClassName:null
# -- Labels for results-cache pods
podLabels:{}
# -- Annotations for results-cache pods
podAnnotations:{}
# -- Management policy for results-cache pods
podManagementPolicy:Parallel
# -- Grace period to allow the results-cache to shutdown before it is killed
terminationGracePeriodSeconds:60
# -- Stateful results-cache strategy
statefulStrategy:
type:RollingUpdate
# -- Add extended options for results-cache memcached container. The format is the same as for the memcached -o/--extend flag.
# Example:
# extraExtendedOptions: 'tls,modern,track_sizes'
extraExtendedOptions:""
# -- Additional CLI args for results-cache
extraArgs:{}
# -- Additional containers to be added to the results-cache pod.
extraContainers:[]
# -- Additional volumes to be added to the results-cache pod (applies to both memcached and exporter containers).
# Example:
# extraVolumes:
# - name: extra-volume
# secret:
# secretName: extra-volume-secret
extraVolumes:[]
# -- Additional volume mounts to be added to the results-cache pod (applies to both memcached and exporter containers).
# Example:
# extraVolumeMounts:
# - name: extra-volume
# mountPath: /etc/extra-volume
# readOnly: true
extraVolumeMounts:[]
# -- Resource requests and limits for the results-cache
# By default a safe memory limit will be requested based on allocatedMemory value (floor (* 1.2 allocatedMemory)).
resources:null
# -- Service annotations and labels
service:
annotations:{}
labels:{}
# -- Persistence settings for the results-cache
persistence:
# -- Enable creating PVCs for the results-cache
enabled:false
# -- Size of persistent disk, must be in G or Gi
storageSize:10G
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
storageClass:azure-disk-std-lrs
# -- Volume mount path
mountPath:/data
chunksCache:
# -- Specifies whether memcached based chunks-cache should be enabled
enabled:true
# -- Batchsize for sending and receiving chunks from chunks cache
batchSize:4
# -- Parallel threads for sending and receiving chunks from chunks cache
parallelism:5
# -- Memcached operation timeout
timeout:2000ms
# -- Specify how long cached chunks should be stored in the chunks-cache before being expired
defaultValidity:0s
# -- Total number of chunks-cache replicas
replicas:1
# -- Port of the chunks-cache service
port:11211
# -- Amount of memory allocated to chunks-cache for object storage (in MB).
allocatedMemory:8192
# -- Maximum item memory for chunks-cache (in MB).
maxItemMemory:5
# -- Maximum number of connections allowed
connectionLimit:16384
# -- Max memory to use for cache write back
writebackSizeLimit:500MB
# -- Max number of objects to use for cache write back
writebackBuffer:500000
# -- Number of parallel threads for cache write back
writebackParallelism:1
# -- Extra init containers for chunks-cache pods
initContainers:[]
# -- Annotations for the chunks-cache pods
annotations:{}
# -- Node selector for chunks-cache pods
nodeSelector:{}
# -- Affinity for chunks-cache pods
affinity:{}
# -- topologySpreadConstraints allows to customize the default topologySpreadConstraints. This can be either a single dict as shown below or a slice of topologySpreadConstraints.
# labelSelector is taken from the constraint itself (if it exists) or is generated by the chart using the same selectors as for services.
topologySpreadConstraints:[]
# maxSkew: 1
# topologyKey: kubernetes.io/hostname
# whenUnsatisfiable: ScheduleAnyway
# -- Tolerations for chunks-cache pods
tolerations:[]
# -- Pod Disruption Budget
podDisruptionBudget:
maxUnavailable:1
# -- The name of the PriorityClass for chunks-cache pods
priorityClassName:null
# -- Labels for chunks-cache pods
podLabels:{}
# -- Annotations for chunks-cache pods
podAnnotations:{}
# -- Management policy for chunks-cache pods
podManagementPolicy:Parallel
# -- Grace period to allow the chunks-cache to shutdown before it is killed
terminationGracePeriodSeconds:60
# -- Stateful chunks-cache strategy
statefulStrategy:
type:RollingUpdate
# -- Add extended options for chunks-cache memcached container. The format is the same as for the memcached -o/--extend flag.
# Example:
# extraExtendedOptions: 'tls,no_hashexpand'
extraExtendedOptions:""
# -- Additional CLI args for chunks-cache
extraArgs:{}
# -- Additional containers to be added to the chunks-cache pod.
extraContainers:[]
# -- Additional volumes to be added to the chunks-cache pod (applies to both memcached and exporter containers).
# Example:
# extraVolumes:
# - name: extra-volume
# secret:
# secretName: extra-volume-secret
extraVolumes:[]
# -- Additional volume mounts to be added to the chunks-cache pod (applies to both memcached and exporter containers).
# Example:
# extraVolumeMounts:
# - name: extra-volume
# mountPath: /etc/extra-volume
# readOnly: true
extraVolumeMounts:[]
# -- Resource requests and limits for the chunks-cache
# By default a safe memory limit will be requested based on allocatedMemory value (floor (* 1.2 allocatedMemory)).
resources:null
# -- Service annotations and labels
service:
annotations:{}
labels:{}
# -- Persistence settings for the chunks-cache
persistence:
# -- Enable creating PVCs for the chunks-cache
enabled:false
# -- Size of persistent disk, must be in G or Gi
storageSize:10G
# -- Storage class to be used.
# If defined, storageClassName: <storageClass>.
# 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).
# -- The Docker registry and image for the k8s sidecar
repository:kiwigrid/k8s-sidecar
# -- Docker image tag
tag:1.30.2
# -- Docker image sha. If empty, no sha will be used
sha:""
# -- Docker image pull policy
pullPolicy:IfNotPresent
# -- Resource requests and limits for the sidecar
resources:{}
# limits:
# cpu: 100m
# memory: 100Mi
# requests:
# cpu: 50m
# memory: 50Mi
# -- The SecurityContext for the sidecar.
securityContext:
readOnlyRootFilesystem:true
capabilities:
drop:
- ALL
allowPrivilegeEscalation:false
# -- Set to true to skip tls verification for kube api calls.
skipTlsVerify:false
# -- Ensure that rule files aren't conflicting and being overwritten by prefixing their name with the namespace they are defined in.
enableUniqueFilenames:false
# -- Readiness probe definition. Probe is disabled on the sidecar by default.
readinessProbe:{}
# -- Liveness probe definition. Probe is disabled on the sidecar by default.
livenessProbe:{}
rules:
# -- Whether or not to create a sidecar to ingest rule from specific ConfigMaps and/or Secrets.
enabled:true
# -- Label that the configmaps/secrets with rules will be marked with.
label:loki_rule
# -- Label value that the configmaps/secrets with rules will be set to.
labelValue:""
# -- Folder into which the rules will be placed.
folder:/rules
# -- Comma separated list of namespaces. If specified, the sidecar will search for config-maps/secrets inside these namespaces.
# Otherwise the namespace in which the sidecar is running will be used.
# It's also possible to specify 'ALL' to search in all namespaces.
searchNamespace:null
# -- Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH request, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
watchMethod:WATCH
# -- Search in configmap, secret, or both.
resource:both
# -- Absolute path to the shell script to execute after a configmap or secret has been reloaded.
script:null
# -- WatchServerTimeout: request to the server, asking it to cleanly close the connection after that.
# defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S.
watchServerTimeout:60
#
# -- WatchClientTimeout: is a client-side timeout, configuring your local socket.
# If you have a network outage dropping all packets with no RST/FIN,
# this is how long your client waits before realizing & dropping the connection.