Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Helm release loki to v6.12.0 #356

Merged
merged 2 commits into from
Sep 24, 2024
Merged

Update Helm release loki to v6.12.0 #356

merged 2 commits into from
Sep 24, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 28, 2024

This PR contains the following updates:

Package Update Change
loki (source) minor 6.10.0 -> 6.12.0

Release Notes

grafana/helm-charts (loki)

v6.12.0

Promtail is an agent which ships the contents of local logs to a Loki instance

What's Changed

Full Changelog: grafana/helm-charts@grafana-agent-operator-0.3.0...promtail-6.12.0

v6.11.0

Promtail is an agent which ships the contents of local logs to a Loki instance

v6.10.1

Promtail is an agent which ships the contents of local logs to a Loki instance


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Aug 28, 2024
@renovate renovate bot requested a review from a team as a code owner August 28, 2024 01:35
@renovate renovate bot added the renovate PR created by RenovateBot label Aug 28, 2024
@renovate renovate bot changed the title Update Helm release loki to v6.10.1 Update Helm release loki to v6.10.2 Aug 29, 2024
@renovate renovate bot force-pushed the renovate/loki-6.x branch 2 times, most recently from 4cda2b2 to 5d2f847 Compare August 29, 2024 17:02
@renovate renovate bot changed the title Update Helm release loki to v6.10.2 Update Helm release loki to v6.11.0 Sep 2, 2024
@renovate renovate bot force-pushed the renovate/loki-6.x branch 2 times, most recently from 6a17089 to 60b8642 Compare September 3, 2024 17:23
@renovate renovate bot changed the title Update Helm release loki to v6.11.0 Update Helm release loki to v6.12.0 Sep 3, 2024
@renovate renovate bot force-pushed the renovate/loki-6.x branch 3 times, most recently from 76b96a3 to 9b657bc Compare September 10, 2024 14:35
@renovate renovate bot force-pushed the renovate/loki-6.x branch 2 times, most recently from 55941a0 to 31c7a37 Compare September 24, 2024 06:48
@renovate renovate bot force-pushed the renovate/loki-6.x branch from 31c7a37 to c863388 Compare September 24, 2024 12:29
@hervenicol
Copy link
Contributor

Upstream diff between 6.12.0 and 6.10.0:

diff --git production/helm/loki/CHANGELOG.md production/helm/loki/CHANGELOG.md
index 6c9970616..1b68e6a5b 100644
--- production/helm/loki/CHANGELOG.md
+++ production/helm/loki/CHANGELOG.md
@@ -13,13 +13,28 @@ Entries should include a reference to the pull request that introduced the chang
 
 [//]: # (<AUTOMATED_UPDATES_LOCATOR> : do not remove this line. This locator is used by the CI pipeline to automatically create a changelog entry for each new Loki release. Add other chart versions and respective changelog entries bellow this line.)
 
+## 6.12.0
+
+- [ENHANCEMENT] Replace Bloom Compactor component with Bloom Planner and Bloom Builder. These are the new components to build bloom blocks.
+
+## 6.11.0
+
+- [FEATURE] Add support for configuring persistence for memcached.
+
+## 6.10.2
+
+- [CHANGE] Bumped version of `nginxinc/nginx-unprivileged` to 1.27-alpine; this remediates several CVE
+
+## 6.10.1
+
+- [CHANGE] Bumped version of `kiwigrid/k8s-sidecar` to 1.27.5; this remediates several CVE
+
 ## 6.10.0
 
 - [CHANGE] Changed version of Grafana Enterprise Logs to 3.1.1
 - [CHANGE] Changed version of Grafana Loki to 3.1.1
 - [ENHANCEMENT] Added ability to disable AWS S3 dualstack endpoint usage.
 
-
 ## 6.9.0
 
 - [BUGFIX] Fixed how we set imagePullSecrets for the memcached and provisioner.
diff --git production/helm/loki/Chart.yaml production/helm/loki/Chart.yaml
index 4b35a38ae..dcef3406e 100644
--- production/helm/loki/Chart.yaml
+++ production/helm/loki/Chart.yaml
@@ -3,7 +3,7 @@ name: loki
 description: Helm chart for Grafana Loki and Grafana Enterprise Logs supporting both simple, scalable and distributed modes.
 type: application
 appVersion: 3.1.1
-version: 6.10.0
+version: 6.12.0
 home: https://grafana.github.io/helm-charts
 sources:
   - https://github.com/grafana/loki
diff --git production/helm/loki/README.md production/helm/loki/README.md
index e5eee43c8..766cb151c 100644
--- production/helm/loki/README.md
+++ production/helm/loki/README.md
@@ -1,6 +1,6 @@
 # loki
 
-![Version: 6.10.0](https://img.shields.io/badge/Version-6.10.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.1.1](https://img.shields.io/badge/AppVersion-3.1.1-informational?style=flat-square)
+![Version: 6.12.0](https://img.shields.io/badge/Version-6.12.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.1.1](https://img.shields.io/badge/AppVersion-3.1.1-informational?style=flat-square)
 
 Helm chart for Grafana Loki and Grafana Enterprise Logs supporting both simple, scalable and distributed modes.
 
diff --git production/helm/loki/distributed-values.yaml production/helm/loki/distributed-values.yaml
index 0016b724c..78a1f111c 100644
--- production/helm/loki/distributed-values.yaml
+++ production/helm/loki/distributed-values.yaml
@@ -47,7 +47,10 @@ indexGateway:
   replicas: 2
   maxUnavailable: 1
 
-bloomCompactor:
+# optional experimental components
+bloomPlanner:
+  replicas: 0
+bloomBuilder:
   replicas: 0
 bloomGateway:
   replicas: 0
@@ -66,5 +69,3 @@ write:
 
 singleBinary:
   replicas: 0
-
-
diff --git production/helm/loki/templates/bloom-builder/_helpers-bloom-builder.tpl production/helm/loki/templates/bloom-builder/_helpers-bloom-builder.tpl
new file mode 100644
index 000000000..46359dffd
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/_helpers-bloom-builder.tpl
@@ -0,0 +1,32 @@
+{{/*
+bloom-builder fullname
+*/}}
+{{- define "loki.bloomBuilderFullname" -}}
+{{ include "loki.fullname" . }}-bloom-builder
+{{- end }}
+
+{{/*
+bloom-builder common labels
+*/}}
+{{- define "loki.bloomBuilderLabels" -}}
+{{ include "loki.labels" . }}
+app.kubernetes.io/component: bloom-builder
+{{- end }}
+
+{{/*
+bloom-builder selector labels
+*/}}
+{{- define "loki.bloomBuilderSelectorLabels" -}}
+{{ include "loki.selectorLabels" . }}
+app.kubernetes.io/component: bloom-builder
+{{- end }}
+
+{{/*
+bloom-builder priority class name
+*/}}
+{{- define "loki.bloomBuilderPriorityClassName" -}}
+{{- $pcn := coalesce .Values.global.priorityClassName .Values.bloomBuilder.priorityClassName -}}
+{{- if $pcn }}
+priorityClassName: {{ $pcn }}
+{{- end }}
+{{- end }}
diff --git production/helm/loki/templates/bloom-builder/deployment-bloom-builder.yaml production/helm/loki/templates/bloom-builder/deployment-bloom-builder.yaml
new file mode 100644
index 000000000..5735de5da
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/deployment-bloom-builder.yaml
@@ -0,0 +1,142 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if $isDistributed -}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "loki.bloomBuilderFullname" . }}
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomBuilderLabels" . | nindent 4 }}
+  {{- with .Values.loki.annotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+spec:
+{{- if not .Values.bloomBuilder.autoscaling.enabled }}
+  replicas: {{ .Values.bloomBuilder.replicas }}
+{{- end }}
+  strategy:
+    rollingUpdate:
+      maxSurge: 0
+      maxUnavailable: 1
+  revisionHistoryLimit: {{ .Values.loki.revisionHistoryLimit }}
+  selector:
+    matchLabels:
+      {{- include "loki.bloomBuilderSelectorLabels" . | nindent 6 }}
+  template:
+    metadata:
+      annotations:
+        {{- include "loki.config.checksum" . | nindent 8 }}
+        {{- with .Values.loki.podAnnotations }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+        {{- with .Values.bloomBuilder.podAnnotations }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+      labels:
+        {{- include "loki.bloomBuilderSelectorLabels" . | nindent 8 }}
+        app.kubernetes.io/part-of: memberlist
+        {{- with .Values.loki.podLabels }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+        {{- with .Values.bloomBuilder.podLabels }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ include "loki.serviceAccountName" . }}
+      {{- with .Values.imagePullSecrets }}
+      imagePullSecrets:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- with .Values.bloomBuilder.hostAliases }}
+      hostAliases:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- include "loki.bloomBuilderPriorityClassName" . | nindent 6 }}
+      securityContext:
+        {{- toYaml .Values.loki.podSecurityContext | nindent 8 }}
+      terminationGracePeriodSeconds: {{ .Values.bloomBuilder.terminationGracePeriodSeconds }}
+      containers:
+        - name: bloom-builder
+          image: {{ include "loki.image" . }}
+          imagePullPolicy: {{ .Values.loki.image.pullPolicy }}
+          {{- if or .Values.loki.command .Values.bloomBuilder.command }}
+          command:
+            - {{ coalesce .Values.bloomBuilder.command .Values.loki.command | quote }}
+          {{- end }}
+          args:
+            - -config.file=/etc/loki/config/config.yaml
+            - -target=bloom-builder
+            {{- with .Values.bloomBuilder.extraArgs }}
+            {{- toYaml . | nindent 12 }}
+            {{- end }}
+          ports:
+            - name: http-metrics
+              containerPort: 3100
+              protocol: TCP
+            - name: grpc
+              containerPort: 9095
+              protocol: TCP
+            - name: http-memberlist
+              containerPort: 7946
+              protocol: TCP
+          {{- with .Values.bloomBuilder.extraEnv }}
+          env:
+            {{- toYaml . | nindent 12 }}
+          {{- end }}
+          {{- with .Values.bloomBuilder.extraEnvFrom }}
+          envFrom:
+            {{- toYaml . | nindent 12 }}
+          {{- end }}
+          securityContext:
+            {{- toYaml .Values.loki.containerSecurityContext | nindent 12 }}
+          readinessProbe:
+            {{- toYaml .Values.loki.readinessProbe | nindent 12 }}
+          volumeMounts:
+            - name: config
+              mountPath: /etc/loki/config
+            - name: runtime-config
+              mountPath: /etc/loki/runtime-config
+            {{- if .Values.enterprise.enabled }}
+            - name: license
+              mountPath: /etc/loki/license
+            {{- end }}
+            {{- with .Values.bloomBuilder.extraVolumeMounts }}
+            {{- toYaml . | nindent 12 }}
+            {{- end }}
+          resources:
+            {{- toYaml .Values.bloomBuilder.resources | nindent 12 }}
+        {{- if .Values.bloomBuilder.extraContainers }}
+        {{- toYaml .Values.bloomBuilder.extraContainers | nindent 8}}
+        {{- end }}
+      {{- with .Values.bloomBuilder.affinity }}
+      affinity:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- with .Values.bloomBuilder.nodeSelector }}
+      nodeSelector:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- with .Values.bloomBuilder.tolerations }}
+      tolerations:
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
+      volumes:
+        - name: config
+          {{- include "loki.configVolume" . | nindent 10 }}
+        - name: runtime-config
+          configMap:
+            name: {{ template "loki.name" . }}-runtime
+        {{- if .Values.enterprise.enabled }}
+        - name: license
+          secret:
+          {{- if .Values.enterprise.useExternalLicense }}
+            secretName: {{ .Values.enterprise.externalLicenseName }}
+          {{- else }}
+            secretName: enterprise-logs-license
+          {{- end }}
+        {{- end }}
+        {{- with .Values.bloomBuilder.extraVolumes }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+{{- end -}}
diff --git production/helm/loki/templates/bloom-builder/hpa.yaml production/helm/loki/templates/bloom-builder/hpa.yaml
new file mode 100644
index 000000000..2b04647d2
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/hpa.yaml
@@ -0,0 +1,55 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if and $isDistributed .Values.bloomBuilder.autoscaling.enabled }}
+{{- $apiVersion := include "loki.hpa.apiVersion" . -}}
+apiVersion: {{ $apiVersion }}
+kind: HorizontalPodAutoscaler
+metadata:
+  name: {{ include "loki.bloomBuilderFullname" . }}
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomBuilderLabels" . | nindent 4 }}
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: {{ include "loki.bloomBuilderFullname" . }}
+  minReplicas: {{ .Values.bloomBuilder.autoscaling.minReplicas }}
+  maxReplicas: {{ .Values.bloomBuilder.autoscaling.maxReplicas }}
+  metrics:
+  {{- with .Values.bloomBuilder.autoscaling.targetMemoryUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: memory
+        {{- if (eq $apiVersion "autoscaling/v2") }}
+        target:
+          type: Utilization
+          averageUtilization: {{ . }}
+        {{- else }}
+        targetAverageUtilization: {{ . }}
+        {{- end }}
+  {{- end }}
+  {{- with .Values.bloomBuilder.autoscaling.targetCPUUtilizationPercentage }}
+    - type: Resource
+      resource:
+        name: cpu
+        {{- if (eq $apiVersion "autoscaling/v2") }}
+        target:
+          type: Utilization
+          averageUtilization: {{ . }}
+        {{- else }}
+        targetAverageUtilization: {{ . }}
+        {{- end }}
+  {{- end }}
+  {{- with .Values.bloomBuilder.autoscaling.customMetrics }}
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+  {{- if .Values.bloomBuilder.autoscaling.behavior.enabled }}
+  behavior:
+    {{- with .Values.bloomBuilder.autoscaling.behavior.scaleDown }}
+    scaleDown: {{ toYaml . | nindent 6 }}
+    {{- end }}
+    {{- with .Values.bloomBuilder.autoscaling.behavior.scaleUp }}
+    scaleUp: {{ toYaml . | nindent 6 }}
+    {{- end }}
+  {{- end }}
+{{- end }}
diff --git production/helm/loki/templates/bloom-builder/poddisruptionbudget-bloom-builder.yaml production/helm/loki/templates/bloom-builder/poddisruptionbudget-bloom-builder.yaml
new file mode 100644
index 000000000..e66d762c0
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/poddisruptionbudget-bloom-builder.yaml
@@ -0,0 +1,21 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if and $isDistributed (gt (int .Values.bloomBuilder.replicas) 1) }}
+{{- if kindIs "invalid" .Values.bloomBuilder.maxUnavailable }}
+{{- fail "`.Values.bloomBuilder.maxUnavailable` must be set when `.Values.bloomBuilder.replicas` is greater than 1." }}
+{{- else }}
+apiVersion: {{ include "loki.pdb.apiVersion" . }}
+kind: PodDisruptionBudget
+metadata:
+  name: {{ include "loki.bloomBuilderFullname" . }}
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomBuilderLabels" . | nindent 4 }}
+spec:
+  selector:
+    matchLabels:
+      {{- include "loki.bloomBuilderSelectorLabels" . | nindent 6 }}
+  {{- with .Values.bloomBuilder.maxUnavailable }}
+  maxUnavailable: {{ . }}
+  {{- end }}
+{{- end }}
+{{- end }}
diff --git production/helm/loki/templates/bloom-builder/service-bloom-builder-headless.yaml production/helm/loki/templates/bloom-builder/service-bloom-builder-headless.yaml
new file mode 100644
index 000000000..e089d4d2d
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/service-bloom-builder-headless.yaml
@@ -0,0 +1,43 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if $isDistributed -}}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "loki.bloomBuilderFullname" . }}-headless
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomBuilderLabels" . | nindent 4 }}
+    {{- with .Values.bloomBuilder.serviceLabels }}
+    {{- toYaml . | nindent 4 }}
+    {{- end }}
+    prometheus.io/service-monitor: "false"
+  {{- with .Values.loki.serviceAnnotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+spec:
+  clusterIP: None
+  type: ClusterIP
+  publishNotReadyAddresses: true
+  ports:
+    - name: http-metrics
+      port: 3100
+      targetPort: http-metrics
+      protocol: TCP
+    - name: grpc
+      port: 9095
+      targetPort: grpc
+      protocol: TCP
+      {{- if .Values.bloomBuilder.appProtocol.grpc }}
+      appProtocol: {{ .Values.bloomBuilder.appProtocol.grpc }}
+      {{- end }}
+    - name: grpclb
+      port: 9096
+      targetPort: grpc
+      protocol: TCP
+      {{- if .Values.bloomBuilder.appProtocol.grpc }}
+      appProtocol: {{ .Values.bloomBuilder.appProtocol.grpc }}
+      {{- end }}
+  selector:
+    {{- include "loki.bloomBuilderSelectorLabels" . | nindent 4 }}
+{{- end -}}
diff --git production/helm/loki/templates/bloom-builder/service-bloom-builder.yaml production/helm/loki/templates/bloom-builder/service-bloom-builder.yaml
new file mode 100644
index 000000000..aab082d72
--- /dev/null
+++ production/helm/loki/templates/bloom-builder/service-bloom-builder.yaml
@@ -0,0 +1,41 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if $isDistributed -}}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "loki.bloomBuilderFullname" . }}
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomBuilderLabels" . | nindent 4 }}
+    {{- with .Values.bloomBuilder.serviceLabels }}
+    {{- toYaml . | nindent 4 }}
+    {{- end }}
+  {{- with .Values.loki.serviceAnnotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+spec:
+  type: ClusterIP
+  publishNotReadyAddresses: true
+  ports:
+    - name: http-metrics
+      port: 3100
+      targetPort: http-metrics
+      protocol: TCP
+    - name: grpc
+      port: 9095
+      targetPort: grpc
+      protocol: TCP
+      {{- if .Values.bloomBuilder.appProtocol.grpc }}
+      appProtocol: {{ .Values.bloomBuilder.appProtocol.grpc }}
+      {{- end }}
+    - name: grpclb
+      port: 9096
+      targetPort: grpc
+      protocol: TCP
+      {{- if .Values.bloomBuilder.appProtocol.grpc }}
+      appProtocol: {{ .Values.bloomBuilder.appProtocol.grpc }}
+      {{- end }}
+  selector:
+    {{- include "loki.bloomBuilderSelectorLabels" . | nindent 4 }}
+{{- end -}}
diff --git production/helm/loki/templates/bloom-compactor/_helpers-bloom-compactor.tpl production/helm/loki/templates/bloom-compactor/_helpers-bloom-compactor.tpl
deleted file mode 100644
index 193a8f883..000000000
--- production/helm/loki/templates/bloom-compactor/_helpers-bloom-compactor.tpl
+++ /dev/null
@@ -1,58 +0,0 @@
-{{/*
-bloom compactor fullname
-*/}}
-{{- define "loki.bloomCompactorFullname" -}}
-{{ include "loki.fullname" . }}-bloom-compactor
-{{- end }}
-
-{{/*
-bloom compactor common labels
-*/}}
-{{- define "loki.bloomCompactorLabels" -}}
-{{ include "loki.labels" . }}
-app.kubernetes.io/component: bloom-compactor
-{{- end }}
-
-{{/*
-bloom compactor selector labels
-*/}}
-{{- define "loki.bloomCompactorSelectorLabels" -}}
-{{ include "loki.selectorLabels" . }}
-app.kubernetes.io/component: bloom-compactor
-{{- end }}
-
-{{/*
-bloom compactor readinessProbe
-*/}}
-{{- define "loki.bloomCompactor.readinessProbe" -}}
-{{- with .Values.bloomCompactor.readinessProbe }}
-readinessProbe:
-  {{- toYaml . | nindent 2 }}
-{{- else }}
-{{- with .Values.loki.readinessProbe }}
-readinessProbe:
-  {{- toYaml . | nindent 2 }}
-{{- end }}
-{{- end }}
-{{- end -}}
-
-{{/*
-bloom compactor priority class name
-*/}}
-{{- define "loki.bloomCompactorPriorityClassName" }}
-{{- $pcn := coalesce .Values.global.priorityClassName .Values.bloomCompactor.priorityClassName -}}
-{{- if $pcn }}
-priorityClassName: {{ $pcn }}
-{{- end }}
-{{- end }}
-
-{{/*
-Create the name of the bloom compactor service account
-*/}}
-{{- define "loki.bloomCompactorServiceAccountName" -}}
-{{- if .Values.bloomCompactor.serviceAccount.create -}}
-    {{ default (print (include "loki.serviceAccountName" .) "-bloom-compactor") .Values.bloomCompactor.serviceAccount.name }}
-{{- else -}}
-    {{ default (include "loki.serviceAccountName" .) .Values.bloomCompactor.serviceAccount.name }}
-{{- end -}}
-{{- end -}}
diff --git production/helm/loki/templates/bloom-planner/_helpers-bloom-planner.tpl production/helm/loki/templates/bloom-planner/_helpers-bloom-planner.tpl
new file mode 100644
index 000000000..a4a8c6e4f
--- /dev/null
+++ production/helm/loki/templates/bloom-planner/_helpers-bloom-planner.tpl
@@ -0,0 +1,58 @@
+{{/*
+bloom planner fullname
+*/}}
+{{- define "loki.bloomPlannerFullname" -}}
+{{ include "loki.fullname" . }}-bloom-planner
+{{- end }}
+
+{{/*
+bloom planner common labels
+*/}}
+{{- define "loki.bloomPlannerLabels" -}}
+{{ include "loki.labels" . }}
+app.kubernetes.io/component: bloom-planner
+{{- end }}
+
+{{/*
+bloom planner selector labels
+*/}}
+{{- define "loki.bloomPlannerSelectorLabels" -}}
+{{ include "loki.selectorLabels" . }}
+app.kubernetes.io/component: bloom-planner
+{{- end }}
+
+{{/*
+bloom planner readinessProbe
+*/}}
+{{- define "loki.bloomPlanner.readinessProbe" -}}
+{{- with .Values.bloomPlanner.readinessProbe }}
+readinessProbe:
+  {{- toYaml . | nindent 2 }}
+{{- else }}
+{{- with .Values.loki.readinessProbe }}
+readinessProbe:
+  {{- toYaml . | nindent 2 }}
+{{- end }}
+{{- end }}
+{{- end -}}
+
+{{/*
+bloom planner priority class name
+*/}}
+{{- define "loki.bloomPlannerPriorityClassName" }}
+{{- $pcn := coalesce .Values.global.priorityClassName .Values.bloomPlanner.priorityClassName -}}
+{{- if $pcn }}
+priorityClassName: {{ $pcn }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create the name of the bloom planner service account
+*/}}
+{{- define "loki.bloomPlannerServiceAccountName" -}}
+{{- if .Values.bloomPlanner.serviceAccount.create -}}
+    {{ default (print (include "loki.serviceAccountName" .) "-bloom-planner") .Values.bloomPlanner.serviceAccount.name }}
+{{- else -}}
+    {{ default (include "loki.serviceAccountName" .) .Values.bloomPlanner.serviceAccount.name }}
+{{- end -}}
+{{- end -}}
diff --git production/helm/loki/templates/bloom-planner/service-bloom-planner-headless.yaml production/helm/loki/templates/bloom-planner/service-bloom-planner-headless.yaml
new file mode 100644
index 000000000..fd02c64ac
--- /dev/null
+++ production/helm/loki/templates/bloom-planner/service-bloom-planner-headless.yaml
@@ -0,0 +1,36 @@
+{{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
+{{- if $isDistributed -}}
+{{- if (gt (int .Values.bloomPlanner.replicas) 0) -}}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "loki.bloomPlannerFullname" . }}-headless
+  namespace: {{ .Release.Namespace }}
+  labels:
+    {{- include "loki.bloomPlannerSelectorLabels" . | nindent 4 }}
+    {{- with .Values.bloomPlanner.serviceLabels }}
+    {{- toYaml . | nindent 4 }}
+    {{- end }}
+  {{- with .Values.loki.serviceAnnotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+spec:
+  type: ClusterIP
+  clusterIP: None
+  ports:
+    - name: http-metrics
+      port: 3100
+      targetPort: http-metrics
+      protocol: TCP
+    - name: grpc
+      port: 9095
+      targetPort: grpc
+      protocol: TCP
+      {{- if .Values.bloomPlanner.appProtocol.grpc }}
+      appProtocol: {{ .Values.bloomPlanner.appProtocol.grpc }}
+      {{- end }}
+  selector:
+    {{- include "loki.bloomPlannerSelectorLabels" . | nindent 4 }}
+{{- end -}}
+{{- end -}}
diff --git production/helm/loki/templates/bloom-compactor/statefulset-bloom-compactor.yaml production/helm/loki/templates/bloom-planner/statefulset-bloom-planner.yaml
similarity index 67%
rename from production/helm/loki/templates/bloom-compactor/statefulset-bloom-compactor.yaml
rename to production/helm/loki/templates/bloom-planner/statefulset-bloom-planner.yaml
index 424fa4bb6..8d9a9f239 100644
--- production/helm/loki/templates/bloom-compactor/statefulset-bloom-compactor.yaml
+++ production/helm/loki/templates/bloom-planner/statefulset-bloom-planner.yaml
@@ -1,33 +1,33 @@
 {{- $isDistributed := eq (include "loki.deployment.isDistributed" .) "true" -}}
 {{- if $isDistributed }}
-{{- if (gt (int .Values.bloomCompactor.replicas) 0) -}}
+{{- if (gt (int .Values.bloomPlanner.replicas) 0) -}}
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: {{ include "loki.bloomCompactorFullname" . }}
+  name: {{ include "loki.bloomPlannerFullname" . }}
   namespace: {{ .Release.Namespace }}
   labels:
-    {{- include "loki.bloomCompactorLabels" . | nindent 4 }}
+    {{- include "loki.bloomPlannerLabels" . | nindent 4 }}
   {{- with .Values.loki.annotations }}
   annotations:
     {{- toYaml . | nindent 4 }}
   {{- end }}
 spec:
-  replicas: {{ .Values.bloomCompactor.replicas }}
+  replicas: {{ .Values.bloomPlanner.replicas }}
   podManagementPolicy: Parallel
   updateStrategy:
     rollingUpdate:
       partition: 0
-  serviceName: {{ include "loki.bloomCompactorFullname" . }}-headless
+  serviceName: {{ include "loki.bloomPlannerFullname" . }}-headless
   revisionHistoryLimit: {{ .Values.loki.revisionHistoryLimit }}
-  {{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.bloomCompactor.persistence.enableStatefulSetAutoDeletePVC)  }}
+  {{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.bloomPlanner.persistence.enableStatefulSetAutoDeletePVC)  }}
   persistentVolumeClaimRetentionPolicy:
-    whenDeleted: {{ .Values.bloomCompactor.persistence.whenDeleted }}
-    whenScaled: {{ .Values.bloomCompactor.persistence.whenScaled }}
+    whenDeleted: {{ .Values.bloomPlanner.persistence.whenDeleted }}
+    whenScaled: {{ .Values.bloomPlanner.persistence.whenScaled }}
   {{- end }}
   selector:
     matchLabels:
-      {{- include "loki.bloomCompactorSelectorLabels" . | nindent 6 }}
+      {{- include "loki.bloomPlannerSelectorLabels" . | nindent 6 }}
   template:
     metadata:
       annotations:
@@ -35,16 +35,16 @@ spec:
         {{- with .Values.loki.podAnnotations }}
         {{- toYaml . | nindent 8 }}
         {{- end }}
-        {{- with .Values.bloomCompactor.podAnnotations }}
+        {{- with .Values.bloomPlanner.podAnnotations }}
         {{- toYaml . | nindent 8 }}
         {{- end }}
       labels:
-        {{- include "loki.bloomCompactorSelectorLabels" . | nindent 8 }}
+        {{- include "loki.bloomPlannerSelectorLabels" . | nindent 8 }}
         app.kubernetes.io/part-of: memberlist
         {{- with .Values.loki.podLabels }}
         {{- toYaml . | nindent 8 }}
         {{- end }}
-        {{- with .Values.bloomCompactor.podLabels }}
+        {{- with .Values.bloomPlanner.podLabels }}
         {{- toYaml . | nindent 8 }}
         {{- end }}
     spec:
@@ -53,30 +53,30 @@ spec:
       imagePullSecrets:
         {{- toYaml . | nindent 8 }}
       {{- end }}
-      {{- with .Values.bloomCompactor.hostAliases }}
+      {{- with .Values.bloomPlanner.hostAliases }}
       hostAliases:
         {{- toYaml . | nindent 8 }}
       {{- end }}
-      {{- include "loki.bloomCompactorPriorityClassName" . | nindent 6 }}
+      {{- include "loki.bloomPlannerPriorityClassName" . | nindent 6 }}
       securityContext:
         {{- toYaml .Values.loki.podSecurityContext | nindent 8 }}
-      terminationGracePeriodSeconds: {{ .Values.bloomCompactor.terminationGracePeriodSeconds }}
-      {{- with .Values.bloomCompactor.initContainers }}
+      terminationGracePeriodSeconds: {{ .Values.bloomPlanner.terminationGracePeriodSeconds }}
+      {{- with .Values.bloomPlanner.initContainers }}
       initContainers:
         {{- toYaml . | nindent 8 }}
       {{- end }}
       containers:
-        - name: bloom-compactor
+        - name: bloom-planner
           image: {{ include "loki.image" . }}
           imagePullPolicy: {{ .Values.loki.image.pullPolicy }}
-          {{- if or .Values.loki.command .Values.bloomCompactor.command }}
+          {{- if or .Values.loki.command .Values.bloomPlanner.command }}
           command:
-            - {{ coalesce .Values.bloomCompactor.command .Values.loki.command | quote }}
+            - {{ coalesce .Values.bloomPlanner.command .Values.loki.command | quote }}
           {{- end }}
           args:
             - -config.file=/etc/loki/config/config.yaml
-            - -target=bloom-compactor
-            {{- with .Values.bloomCompactor.extraArgs }}
+            - -target=bloom-planner
+            {{- with .Values.bloomPlanner.extraArgs }}
             {{- toYaml . | nindent 12 }}
             {{- end }}
           ports:
@@ -89,17 +89,17 @@ spec:
             - name: http-memberlist
               containerPort: 7946
               protocol: TCP
-          {{- with .Values.bloomCompactor.extraEnv }}
+          {{- with .Values.bloomPlanner.extraEnv }}
           env:
             {{- toYaml . | nindent 12 }}
           {{- end }}
-          {{- with .Values.bloomCompactor.extraEnvFrom }}
+          {{- with .Values.bloomPlanner.extraEnvFrom }}
           envFrom:
             {{- toYaml . | nindent 12 }}
           {{- end }}
           securityContext:
             {{- toYaml .Values.loki.containerSecurityContext | nindent 12 }}
-          {{- include "loki.bloomCompactor.readinessProbe" . | nindent 10 }}
+          {{- include "loki.bloomPlanner.readinessProbe" . | nindent 10 }}
           volumeMounts:
             - name: temp
               mountPath: /tmp
@@ -113,25 +113,25 @@ spec:
             - name: license
               mountPath: /etc/loki/license
             {{- end }}
-            {{- with .Values.bloomCompactor.extraVolumeMounts }}
+            {{- with .Values.bloomPlanner.extraVolumeMounts }}
             {{- toYaml . | nindent 12 }}
             {{- end }}
-          {{- with .Values.bloomCompactor.resources }}
+          {{- with .Values.bloomPlanner.resources }}
           resources:
             {{- toYaml . | nindent 12 }}
           {{- end }}
-        {{- if .Values.bloomCompactor.extraContainers }}
-        {{- toYaml .Values.bloomCompactor.extraContainers | nindent 8}}
+        {{- if .Values.bloomPlanner.extraContainers }}
+        {{- toYaml .Values.bloomPlanner.extraContainers | nindent 8}}
         {{- end }}
-      {{- with .Values.bloomCompactor.affinity }}
+      {{- with .Values.bloomPlanner.affinity }}
       affinity:
         {{- toYaml . | nindent 8 }}
       {{- end }}
-      {{- with .Values.bloomCompactor.nodeSelector }}
+      {{- with .Values.bloomPlanner.nodeSelector }}
       nodeSelector:
         {{- toYaml . | nindent 8 }}
       {{- end }}
-      {{- with .Values.bloomCompactor.tolerations }}
+      {{- with .Values.bloomPlanner.tolerations }}
       tolerations:
         {{- toYaml . | nindent 8 }}
       {{- end }}
@@ -152,16 +152,16 @@ spec:
             secretName: enterprise-logs-license
           {{- end }}
         {{- end }}
-        {{- if not .Values.bloomCompactor.persistence.enabled }}
+        {{- if not .Values.bloomPlanner.persistence.enabled }}
         - name: data
           emptyDir: {}
         {{- end }}
-        {{- with .Values.bloomCompactor.extraVolumes }}
+        {{- with .Values.bloomPlanner.extraVolumes }}
         {{- toYaml . | nindent 8 }}
         {{- end }}
-  {{- if .Values.bloomCompactor.persistence.enabled }}
+  {{- if .Values.bloomPlanner.persistence.enabled }}
   volumeClaimTemplates:
-  {{- range .Values.bloomCompactor.persistence.claims }}
+  {{- range .Values.bloomPlanner.persistence.claims }}
     - metadata:
         name: {{ .name }}
         {{- with .annotations }}
@@ -180,4 +180,4 @@ spec:
   {{- end }}
   {{- end }}
 {{- end -}}
-{{- end -}}
\ No newline at end of file
+{{- end -}}
diff --git production/helm/loki/templates/memcached/_memcached-statefulset.tpl production/helm/loki/templates/memcached/_memcached-statefulset.tpl
index 8e2479af8..ce490ee6c 100644
--- production/helm/loki/templates/memcached/_memcached-statefulset.tpl
+++ production/helm/loki/templates/memcached/_memcached-statefulset.tpl
@@ -104,7 +104,7 @@ spec:
               name: client
           args:
             - -m {{ .allocatedMemory }}
-            - --extended=modern,track_sizes{{ with .extraExtendedOptions }},{{ . }}{{ end }}
+            - --extended=modern,track_sizes{{ if .persistence.enabled }},ext_path={{ .persistence.mountPath }}/file:{{ .persistence.storageSize }}{{ end }}{{ with .extraExtendedOptions }},{{ . }}{{ end }}
             - -I {{ .maxItemMemory }}m
             - -c {{ .connectionLimit }}
             - -v
@@ -122,10 +122,16 @@ spec:
             {{- end }}
           securityContext:
             {{- toYaml $.ctx.Values.memcached.containerSecurityContext | nindent 12 }}
-          {{- if .extraVolumeMounts }}
+          {{- if or .persistence.enabled .extraVolumeMounts }}
           volumeMounts:
+          {{- if .persistence.enabled }}
+            - name: data
+              mountPath: {{ .persistence.mountPath }}
+          {{- end }}
+          {{- if .extraVolumeMounts }}
             {{- toYaml .extraVolumeMounts | nindent 12 }}
           {{- end }}
+          {{- end }}
 
       {{- if $.ctx.Values.memcachedExporter.enabled }}
         - name: exporter
@@ -151,6 +157,19 @@ spec:
             {{- toYaml .extraVolumeMounts | nindent 12 }}
           {{- end }}
       {{- end }}
+  {{- if .persistence.enabled }}
+  volumeClaimTemplates:
+    - metadata:
+        name: data
+      spec:
+        accessModes: [ "ReadWriteOnce" ]
+        {{- with .persistence.storageClass }}
+        storageClassName: {{ if (eq "-" .) }}""{{ else }}{{ . }}{{ end }}
+        {{- end }}
+        resources:
+          requests:
+            storage: {{ .persistence.storageSize | quote }}
+  {{- end }}
 {{- end -}}
 {{- end -}}
 {{- end -}}
diff --git production/helm/loki/values.yaml production/helm/loki/values.yaml
index bffeca816..ed65339cb 100644
--- production/helm/loki/values.yaml
+++ production/helm/loki/values.yaml
@@ -440,6 +440,10 @@ loki:
   # -- Enable tracing
   tracing:
     enabled: false
+  bloom_build:
+    enabled: false
+  bloom_gateway:
+    enabled: false
 ######################################################################################################################
 #
 # Enterprise Loki Configs
@@ -898,7 +902,7 @@ gateway:
     # -- The gateway image repository
     repository: nginxinc/nginx-unprivileged
     # -- The gateway image tag
-    tag: 1.24-alpine
+    tag: 1.27-alpine
     # -- Overrides the gateway image tag with an image digest
     digest: null
     # -- The gateway image pull policy
@@ -2376,9 +2380,9 @@ compactor:
     annotations: {}
     # -- Set this toggle to false to opt out of automounting API credentials for the service account
     automountServiceAccountToken: true
-# -- Configuration for the bloom gateway
+# -- Configuration for the bloom-gateway
 bloomGateway:
-  # -- Number of replicas for the bloom gateway
+  # -- Number of replicas for the bloom-gateway
   replicas: 0
   # -- hostAliases to add
   hostAliases: []
@@ -2386,21 +2390,21 @@ bloomGateway:
   #    hostnames:
   #      - domain.tld
   image:
-    # -- The Docker registry for the bloom gateway image. Overrides `loki.image.registry`
+    # -- 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`
+    # -- 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`
+    # -- 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
+  # -- The name of the PriorityClass for bloom-gateway pods
   priorityClassName: null
-  # -- Labels for bloom gateway pods
+  # -- Labels for bloom-gateway pods
   podLabels: {}
-  # -- Annotations for bloom gateway pods
+  # -- Annotations for bloom-gateway pods
   podAnnotations: {}
-  # -- Affinity for bloom gateway pods.
+  # -- Affinity for bloom-gateway pods.
   # @default -- Hard node anti-affinity
   affinity:
     podAntiAffinity:
@@ -2409,39 +2413,39 @@ bloomGateway:
             matchLabels:
               app.kubernetes.io/component: bloom-gateway
           topologyKey: kubernetes.io/hostname
-  # -- Labels for bloom gateway service
+  # -- Labels for bloom-gateway service
   serviceLabels: {}
-  # -- Additional CLI args for the bloom gateway
+  # -- Additional CLI args for the bloom-gateway
   extraArgs: []
-  # -- Environment variables to add to the bloom gateway pods
+  # -- Environment variables to add to the bloom-gateway pods
   extraEnv: []
-  # -- Environment variables from secrets or configmaps to add to the bloom gateway pods
+  # -- Environment variables from secrets or configmaps to add to the bloom-gateway pods
   extraEnvFrom: []
-  # -- Volume mounts to add to the bloom gateway pods
+  # -- Volume mounts to add to the bloom-gateway pods
   extraVolumeMounts: []
-  # -- Volumes to add to the bloom gateway pods
+  # -- 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
+  # -- Resource requests and limits for the bloom-gateway
   resources: {}
-  # -- Containers to add to the bloom gateway pods
+  # -- Containers to add to the bloom-gateway pods
   extraContainers: []
-  # -- Init containers to add to the bloom gateway pods
+  # -- Init containers to add to the bloom-gateway pods
   initContainers: []
-  # -- Grace period to allow the bloom gateway to shutdown before it is killed
+  # -- Grace period to allow the bloom-gateway to shutdown before it is killed
   terminationGracePeriodSeconds: 30
-  # -- Node selector for bloom gateway pods
+  # -- Node selector for bloom-gateway pods
   nodeSelector: {}
-  # -- Tolerations for bloom gateway pods
+  # -- 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
+    # -- Enable creating PVCs for the bloom-gateway
     enabled: false
     # -- Size of persistent disk
     size: 10Gi
@@ -2451,9 +2455,9 @@ bloomGateway:
     # 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 bloom gateway PVCs
+    # -- Annotations for bloom-gateway PVCs
     annotations: {}
-    # -- List of the bloom gateway PVCs
+    # -- List of the bloom-gateway PVCs
     # @notationType -- list
     claims:
       - name: data
@@ -2472,19 +2476,19 @@ bloomGateway:
     whenScaled: Retain
   serviceAccount:
     create: false
-    # -- The name of the ServiceAccount to use for the bloom gateway.
+    # -- 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
+    # -- Image pull secrets for the bloom-gateway service account
     imagePullSecrets: []
-    # -- Annotations for the bloom gateway service account
+    # -- 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 compactor
-bloomCompactor:
-  # -- Number of replicas for the bloom compactor
+# -- Configuration for the bloom-planner
+bloomPlanner:
+  # -- Number of replicas for the bloom-planner
   replicas: 0
   # -- hostAliases to add
   hostAliases: []
@@ -2492,62 +2496,62 @@ bloomCompactor:
   #    hostnames:
   #      - domain.tld
   image:
-    # -- The Docker registry for the bloom compactor image. Overrides `loki.image.registry`
+    # -- The Docker registry for the bloom-planner image. Overrides `loki.image.registry`
     registry: null
-    # -- Docker image repository for the bloom compactor image. Overrides `loki.image.repository`
+    # -- Docker image repository for the bloom-planner image. Overrides `loki.image.repository`
     repository: null
-    # -- Docker image tag for the bloom compactor image. Overrides `loki.image.tag`
+    # -- 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 compactor pods
+  # -- The name of the PriorityClass for bloom-planner pods
   priorityClassName: null
-  # -- Labels for bloom compactor pods
+  # -- Labels for bloom-planner pods
   podLabels: {}
-  # -- Annotations for bloom compactor pods
+  # -- Annotations for bloom-planner pods
   podAnnotations: {}
-  # -- Affinity for bloom compactor pods.
+  # -- Affinity for bloom-planner pods.
   # @default -- Hard node anti-affinity
   affinity:
     podAntiAffinity:
       requiredDuringSchedulingIgnoredDuringExecution:
         - labelSelector:
             matchLabels:
-              app.kubernetes.io/component: bloom-compactor
+              app.kubernetes.io/component: bloom-planner
           topologyKey: kubernetes.io/hostname
-  # -- Labels for bloom compactor service
+  # -- Labels for bloom-planner service
   serviceLabels: {}
-  # -- Additional CLI args for the bloom compactor
+  # -- Additional CLI args for the bloom-planner
   extraArgs: []
-  # -- Environment variables to add to the bloom compactor pods
+  # -- Environment variables to add to the bloom-planner pods
   extraEnv: []
-  # -- Environment variables from secrets or configmaps to add to the bloom compactor pods
+  # -- Environment variables from secrets or configmaps to add to the bloom-planner pods
   extraEnvFrom: []
-  # -- Volume mounts to add to the bloom compactor pods
+  # -- Volume mounts to add to the bloom-planner pods
   extraVolumeMounts: []
-  # -- Volumes to add to the bloom compactor pods
+  # -- 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 compactor
+  # -- Resource requests and limits for the bloom-planner
   resources: {}
-  # -- Containers to add to the bloom compactor pods
+  # -- Containers to add to the bloom-planner pods
   extraContainers: []
-  # -- Init containers to add to the bloom compactor pods
+  # -- Init containers to add to the bloom-planner pods
   initContainers: []
-  # -- Grace period to allow the bloom compactor to shutdown before it is killed
+  # -- Grace period to allow the bloom-planner to shutdown before it is killed
   terminationGracePeriodSeconds: 30
-  # -- Node selector for bloom compactor pods
+  # -- Node selector for bloom-planner pods
   nodeSelector: {}
-  # -- Tolerations for bloom compactor pods
+  # -- 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 compactor
+    # -- Enable creating PVCs for the bloom-planner
     enabled: false
     # -- Size of persistent disk
     size: 10Gi
@@ -2557,37 +2561,115 @@ bloomCompactor:
     # 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 bloom compactor PVCs
+    # -- Annotations for bloom-planner PVCs
     annotations: {}
-    # -- List of the bloom compactor PVCs
+    # -- List of the bloom-planner 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
+    claims: []
     # -- Enable StatefulSetAutoDeletePVC feature
     enableStatefulSetAutoDeletePVC: false
     whenDeleted: Retain
     whenScaled: Retain
   serviceAccount:
     create: false
-    # -- The name of the ServiceAccount to use for the bloom compactor.
+    # -- 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-compactor" to the common ServiceAccount.
+    # "-bloom-planner" to the common ServiceAccount.
     name: null
-    # -- Image pull secrets for the bloom compactor service account
+    # -- Image pull secrets for the bloom-planner service account
     imagePullSecrets: []
-    # -- Annotations for the bloom compactor service account
+    # -- 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: {}
+  # -- 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
@@ -2967,6 +3049,20 @@ resultsCache:
   service:
     annotations: {}
     labels: {}
+  # -- Persistence settings for the results-cache
+  persistence:
+    # -- Enable creating PVCs for the results-cache
+    enabled: false
+    # -- Size of persistent disk
+    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: null
+    # -- Volume mount path
+    mountPath: /data
 chunksCache:
   # -- Specifies whether memcached based chunks-cache should be enabled
   enabled: true
@@ -3055,6 +3151,20 @@ chunksCache:
   service:
     annotations: {}
     labels: {}
+  # -- Persistence settings for the chunks-cache
+  persistence:
+    # -- Enable creating PVCs for the chunks-cache
+    enabled: false
+    # -- Size of persistent disk
+    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: null
+    # -- Volume mount path
+    mountPath: /data
 ######################################################################################################################
 #
 # Subchart configurations
@@ -3150,7 +3260,7 @@ sidecar:
     # -- The Docker registry and image for the k8s sidecar
     repository: kiwigrid/k8s-sidecar
     # -- Docker image tag
-    tag: 1.24.3
+    tag: 1.27.5
     # -- Docker image sha. If empty, no sha will be used
     sha: ""
     # -- Docker image pull policy

Copy link
Contributor

@hervenicol hervenicol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The biggest changes don't impact features we use (memcached and bloom filters).
Running good on a test cluster.

@hervenicol hervenicol merged commit 4ed8000 into main Sep 24, 2024
6 checks passed
@hervenicol hervenicol deleted the renovate/loki-6.x branch September 24, 2024 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file renovate PR created by RenovateBot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant