Skip to content

feat(container)!: Update ghcr.io/grafana-community/helm-charts/loki (6.57.0 → 13.3.2)#112

Merged
denniseffing merged 1 commit intomainfrom
renovate/main-ghcr.io-grafana-community-helm-charts-loki-13.x
Apr 28, 2026
Merged

feat(container)!: Update ghcr.io/grafana-community/helm-charts/loki (6.57.0 → 13.3.2)#112
denniseffing merged 1 commit intomainfrom
renovate/main-ghcr.io-grafana-community-helm-charts-loki-13.x

Conversation

@home-infrastructure-renovate
Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
ghcr.io/grafana-community/helm-charts/loki (source) major 6.57.013.3.2

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 becomes conflicted, 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 has been generated by Renovate Bot.

@github-actions
Copy link
Copy Markdown

--- HelmRelease: monitoring/loki ConfigMap: monitoring/loki

+++ HelmRelease: monitoring/loki ConfigMap: monitoring/loki

@@ -39,23 +39,33 @@

     frontend_worker:
       scheduler_address: ""
     index_gateway:
       mode: simple
     ingester:
       chunk_encoding: snappy
+      wal:
+        flush_on_shutdown: true
     limits_config:
       max_cache_freshness_per_query: 10m
       query_timeout: 300s
       reject_old_samples: true
       reject_old_samples_max_age: 168h
       retention_period: 14d
       split_queries_by_interval: 15m
       volume_enabled: true
     memberlist:
+      abort_if_cluster_join_fails: true
+      advertise_addr: ${HASH_RING_INSTANCE_ADDR}
+      advertise_port: 7946
+      bind_port: 7946
       join_members:
       - loki-memberlist.monitoring.svc.cluster.local
+      max_join_backoff: 1m
+      max_join_retries: 10
+      min_join_backoff: 1s
+      rejoin_interval: 90s
     pattern_ingester:
       enabled: false
     query_range:
       align_queries_with_step: true
     ruler:
       storage:
@@ -71,16 +81,23 @@

           period: 24h
           prefix: loki_index_
         object_store: filesystem
         schema: v13
         store: tsdb
     server:
+      graceful_shutdown_timeout: 5s
       grpc_listen_port: 9095
+      grpc_server_max_concurrent_streams: 1000
+      grpc_server_max_recv_msg_size: 104857600
+      grpc_server_max_send_msg_size: 104857600
+      grpc_server_min_time_between_pings: 10s
+      grpc_server_ping_without_stream_allowed: true
       http_listen_port: 3100
-      http_server_read_timeout: 600s
-      http_server_write_timeout: 600s
+      http_server_idle_timeout: 30s
+      http_server_read_timeout: 10m0s
+      http_server_write_timeout: 10m0s
       log_level: info
     storage_config:
       bloom_shipper:
         working_directory: /var/loki/data/bloomshipper
       boltdb_shipper:
         index_gateway_client:
--- HelmRelease: monitoring/loki ConfigMap: monitoring/loki-gateway

+++ HelmRelease: monitoring/loki ConfigMap: monitoring/loki-gateway

@@ -16,64 +16,273 @@

     \  uwsgi_temp_path       /tmp/uwsgi_temp;\n  scgi_temp_path        /tmp/scgi_temp;\n\
     \n  client_max_body_size  4M;\n\n  proxy_read_timeout    600; ## 10 minutes\n\
     \  proxy_send_timeout    600;\n  proxy_connect_timeout 600;\n\n  proxy_http_version\
     \    1.1;\n\n  default_type application/octet-stream;\n  log_format   main '$remote_addr\
     \ - $remote_user [$time_local]  $status '\n        '\"$request\" $body_bytes_sent\
     \ \"$http_referer\" '\n        '\"$http_user_agent\" \"$http_x_forwarded_for\"\
-    ';\n  access_log   /dev/stderr  main;\n\n  sendfile     on;\n  tcp_nopush   on;\n\
-    \  resolver kube-dns.kube-system.svc.cluster.local.;\n\n  # if the X-Query-Tags\
+    ';\n  # Exclude specific requests from logging\n  map $request_uri $track {\n\
+    \    default 1;\n    ~^/$ 0;\n    ~^/health 0;\n    ~^/metrics 0;\n  }\n\n  #\
+    \ simple_upstream preset\n  log_format access_log_exporter '$http_host\\t$request_method\\\
+    t$status\\t$request_completion\\t$request_time\\t$request_length\\t$bytes_sent\\\
+    t$upstream_addr\\t$upstream_connect_time\\t$upstream_header_time\\t$upstream_response_time\\\
+    t$request_uri';\n  access_log syslog:server=127.0.0.1:8514,nohostname access_log_exporter\
+    \ if=$track;\n  access_log   /dev/stderr  main;\n\n  sendfile     on;\n  tcp_nopush\
+    \   on;\n  resolver kube-dns.kube-system.svc.cluster.local.;\n\n  # if the X-Query-Tags\
     \ header is empty, set a noop= without a value as empty values are not logged\n\
     \  map $http_x_query_tags $query_tags {\n    \"\"        \"noop=\";          \
     \  # When header is empty, set noop=\n    default   $http_x_query_tags; # Otherwise,\
     \ preserve the original value\n  }\n\n  server {\n    listen             8080;\n\
     \    listen             [::]:8080;\n\n    location = / {\n      \n      return\
-    \ 200 'OK';\n      auth_basic off;\n    }\n\n    ########################################################\n\
-    \    # Configure backend targets\n    location ^~ /ui {\n      \n      proxy_pass\
-    \       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n\n\
-    \    # Distributor\n    location = /api/prom/push {\n      \n      proxy_pass\
-    \       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n  \
-    \  location = /loki/api/v1/push {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /distributor/ring {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /otlp/v1/logs {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n\n    # Ingester\n    location = /flush {\n      \n      proxy_pass  \
-    \     http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n    location\
-    \ ^~ /ingester/ {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /ingester {\n      \n      internal;        # to suppress\
-    \ 301\n    }\n\n    # Ring\n    location = /ring {\n      \n      proxy_pass \
-    \      http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n\n \
-    \   # MemberListKV\n    location = /memberlist {\n      \n      proxy_pass   \
-    \    http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n\n   \
-    \ # Ruler\n    location = /ruler/ring {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /api/prom/rules {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location ^~ /api/prom/rules/ {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /loki/api/v1/rules {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location ^~ /loki/api/v1/rules/ {\n      \n      proxy_pass      \
-    \ http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n    location\
-    \ = /prometheus/api/v1/alerts {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /prometheus/api/v1/rules {\n      \n      proxy_pass  \
-    \     http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n\n  \
-    \  # Compactor\n    location = /compactor/ring {\n      \n      proxy_pass   \
-    \    http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n    location\
-    \ = /loki/api/v1/delete {\n      \n      proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n    location = /loki/api/v1/cache/generation_numbers {\n      \n     \
-    \ proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n\n    # IndexGateway\n    location = /indexgateway/ring {\n      \n  \
-    \    proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n\n    # QueryScheduler\n    location = /scheduler/ring {\n      \n   \
-    \   proxy_pass       http://loki.monitoring.svc.cluster.local:3100$request_uri;\n\
-    \    }\n\n    # Config\n    location = /config {\n      \n      proxy_pass   \
-    \    http://loki.monitoring.svc.cluster.local:3100$request_uri;\n    }\n\n\n \
-    \   # QueryFrontend, Querier\n    location = /api/prom/tail {\n      proxy_set_header\
+    \ 200 'OK';\n      auth_basic off;\n    }\n\n    location = /stub_status {\n \
+    \     stub_status on;\n      satisfy any;\n      access_log off;\n      allow\
+    \ 127.0.0.1;\n      deny all;\n      server_tokens on;  # expose nginx version\n\
+    \    }\n\n    ########################################################\n    #\
+    \ Configure backend targets\n    location ^~ /ui {\n      \n      set $backend\
+    \     \"http://loki.monitoring.svc.cluster.local:3100\";\n      proxy_pass   \
+    \    $backend$request_uri;\n    }\n\n    # Distributor\n    location = /api/prom/push\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /loki/api/v1/push\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /distributor/ring\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /otlp/v1/logs\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # Ingester\n   \
+    \ location = /flush {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location ^~ /ingester/\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /ingester\
+    \ {\n      \n      internal;        # to suppress 301\n    }\n\n    # Ring\n \
+    \   location = /ring {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # MemberListKV\n\
+    \    location = /memberlist {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # Ruler\n    location\
+    \ = /ruler/ring {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /api/prom/rules\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location ^~ /api/prom/rules/\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /loki/api/v1/rules\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location ^~ /loki/api/v1/rules/\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /prometheus/api/v1/alerts\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /prometheus/api/v1/rules\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # Compactor\n  \
+    \  location = /compactor/ring {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /loki/api/v1/delete\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n    location = /loki/api/v1/cache/generation_numbers\
+    \ {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # IndexGateway\n\
+    \    location = /indexgateway/ring {\n      \n      set $backend     \"http://loki.monitoring.svc.cluster.local:3100\"\
+    ;\n      proxy_pass       $backend$request_uri;\n    }\n\n    # QueryScheduler\n\
[Diff truncated by flux-local]
--- HelmRelease: monitoring/loki Service: monitoring/loki-gateway

+++ HelmRelease: monitoring/loki Service: monitoring/loki-gateway

@@ -9,15 +9,15 @@

     app.kubernetes.io/instance: loki
     app.kubernetes.io/component: gateway
     prometheus.io/service-monitor: 'false'
 spec:
   type: ClusterIP
   ports:
-  - name: http-metrics
+  - name: http
     port: 80
-    targetPort: http-metrics
+    targetPort: http
     protocol: TCP
   selector:
     app.kubernetes.io/name: loki
     app.kubernetes.io/instance: loki
     app.kubernetes.io/component: gateway
 
--- HelmRelease: monitoring/loki Service: monitoring/loki-headless

+++ HelmRelease: monitoring/loki Service: monitoring/loki-headless

@@ -4,19 +4,31 @@

 metadata:
   name: loki-headless
   namespace: monitoring
   labels:
     app.kubernetes.io/name: loki
     app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: single-binary
+    prometheus.io/service-monitor: 'false'
     variant: headless
-    prometheus.io/service-monitor: 'false'
 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
+  - name: grpclb
+    port: 9096
+    targetPort: grpc
+    protocol: TCP
   selector:
     app.kubernetes.io/name: loki
     app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: single-binary
 
--- HelmRelease: monitoring/loki Service: monitoring/loki

+++ HelmRelease: monitoring/loki Service: monitoring/loki

@@ -4,22 +4,28 @@

 metadata:
   name: loki
   namespace: monitoring
   labels:
     app.kubernetes.io/name: loki
     app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: single-binary
 spec:
   type: ClusterIP
+  publishNotReadyAddresses: true
   ports:
   - name: http-metrics
     port: 3100
     targetPort: http-metrics
     protocol: TCP
   - name: grpc
     port: 9095
     targetPort: grpc
     protocol: TCP
+  - name: grpclb
+    port: 9096
+    targetPort: grpc
+    protocol: TCP
   selector:
     app.kubernetes.io/name: loki
     app.kubernetes.io/instance: loki
     app.kubernetes.io/component: single-binary
 
--- HelmRelease: monitoring/loki Deployment: monitoring/loki-gateway

+++ HelmRelease: monitoring/loki Deployment: monitoring/loki-gateway

@@ -22,48 +22,100 @@

     metadata:
       labels:
         app.kubernetes.io/name: loki
         app.kubernetes.io/instance: loki
         app.kubernetes.io/component: gateway
     spec:
-      serviceAccountName: loki
+      serviceAccountName: loki-gateway
+      automountServiceAccountToken: false
       enableServiceLinks: true
       securityContext:
         fsGroup: 101
         runAsGroup: 101
         runAsNonRoot: true
         runAsUser: 101
+        seccompProfile:
+          type: RuntimeDefault
       terminationGracePeriodSeconds: 30
       containers:
       - name: nginx
-        image: docker.io/nginxinc/nginx-unprivileged:1.29-alpine
+        image: docker.io/nginxinc/nginx-unprivileged:1.30-alpine
         imagePullPolicy: IfNotPresent
         ports:
-        - name: http-metrics
+        - name: http
           containerPort: 8080
           protocol: TCP
         readinessProbe:
           httpGet:
             path: /
-            port: http-metrics
+            port: http
           initialDelaySeconds: 15
           timeoutSeconds: 1
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
+          seccompProfile:
+            type: RuntimeDefault
         volumeMounts:
         - name: config
           mountPath: /etc/nginx
         - name: tmp
           mountPath: /tmp
         - name: docker-entrypoint-d-override
           mountPath: /docker-entrypoint.d
-        resources: {}
+      - name: exporter
+        image: ghcr.io/jkroepke/access-log-exporter:0.3.11
+        imagePullPolicy: IfNotPresent
+        ports:
+        - containerPort: 4040
+          name: http-metrics
+        - containerPort: 8514
+          name: syslog
+        args:
+        - --nginx.scrape-url
+        - http://127.0.0.1:8080/stub_status
+        - --preset
+        - loki
+        resources:
+          limits: {}
+          requests: {}
+        securityContext:
+          allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
+          privileged: false
+          readOnlyRootFilesystem: true
+          runAsGroup: 65532
+          runAsNonRoot: true
+          runAsUser: 65532
+          seccompProfile:
+            type: RuntimeDefault
+        readinessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /health
+            port: http-metrics
+          initialDelaySeconds: 5
+          periodSeconds: 5
+          timeoutSeconds: 3
+        livenessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /health
+            port: http-metrics
+          initialDelaySeconds: 30
+          periodSeconds: 10
+          timeoutSeconds: 5
+        volumeMounts:
+        - name: config
+          mountPath: /config.yaml
+          subPath: access-log-exporter.yaml
       affinity:
         podAntiAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
           - labelSelector:
               matchLabels:
                 app.kubernetes.io/component: gateway
--- HelmRelease: monitoring/loki StatefulSet: monitoring/loki

+++ HelmRelease: monitoring/loki StatefulSet: monitoring/loki

@@ -31,73 +31,156 @@

         app.kubernetes.io/name: loki
         app.kubernetes.io/instance: loki
         app.kubernetes.io/component: single-binary
         app.kubernetes.io/part-of: memberlist
     spec:
       serviceAccountName: loki
+      enableServiceLinks: true
       automountServiceAccountToken: true
-      enableServiceLinks: true
       securityContext:
         fsGroup: 10001
         fsGroupChangePolicy: OnRootMismatch
         runAsGroup: 10001
         runAsNonRoot: true
         runAsUser: 10001
+        seccompProfile:
+          type: RuntimeDefault
       terminationGracePeriodSeconds: 30
+      affinity:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - labelSelector:
+              matchLabels:
+                app.kubernetes.io/component: single-binary
+                app.kubernetes.io/instance: loki
+                app.kubernetes.io/name: loki
+            topologyKey: kubernetes.io/hostname
+      volumes:
+      - name: temp
+        emptyDir: {}
+      - name: config
+        configMap:
+          name: loki
+          items:
+          - key: config.yaml
+            path: config.yaml
+      - name: runtime-config
+        configMap:
+          name: loki-runtime
+      - name: sc-rules-volume
+        emptyDir: {}
+      - name: sc-rules-temp
+        emptyDir: {}
       containers:
       - name: loki
         image: docker.io/grafana/loki:3.5.1
         imagePullPolicy: IfNotPresent
         args:
         - -config.file=/etc/loki/config/config.yaml
+        - -config.expand-env=true
         - -target=all
         ports:
         - name: http-metrics
           containerPort: 3100
           protocol: TCP
         - name: grpc
           containerPort: 9095
           protocol: TCP
         - name: http-memberlist
           containerPort: 7946
           protocol: TCP
+        env:
+        - name: GOMEMLIMIT
+          value: 870MiB
+        - name: GOGC
+          value: '80'
+        - name: HASH_RING_INSTANCE_ADDR
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP
         securityContext:
           allowPrivilegeEscalation: false
           capabilities:
             drop:
             - ALL
           readOnlyRootFilesystem: true
+          seccompProfile:
+            type: RuntimeDefault
+        livenessProbe:
+          failureThreshold: 10
+          httpGet:
+            path: /loki/api/v1/status/buildinfo
+            port: http-metrics
+          periodSeconds: 30
+          successThreshold: 1
+          timeoutSeconds: 1
         readinessProbe:
           failureThreshold: 3
           httpGet:
             path: /ready
             port: http-metrics
           initialDelaySeconds: 15
           periodSeconds: 10
           successThreshold: 1
           timeoutSeconds: 1
         volumeMounts:
-        - name: tmp
-          mountPath: /tmp
         - name: config
           mountPath: /etc/loki/config
         - name: runtime-config
           mountPath: /etc/loki/runtime-config
         - name: storage
           mountPath: /var/loki
+        - name: temp
+          mountPath: /tmp
         - name: sc-rules-volume
           mountPath: /rules
         resources:
           limits:
             memory: 1024Mi
           requests:
             cpu: 10m
             memory: 330Mi
       - name: loki-sc-rules
-        image: docker.io/kiwigrid/k8s-sidecar:2.5.0
+        image: docker.io/kiwigrid/k8s-sidecar:2.7.1
         imagePullPolicy: IfNotPresent
+        ports:
+        - name: http-sidecar
+          containerPort: 8080
+          protocol: TCP
+        resources:
+          limits:
+            memory: 150Mi
+          requests:
+            cpu: 10m
+            memory: 150Mi
+        securityContext:
+          allowPrivilegeEscalation: false
+          capabilities:
+            drop:
+            - ALL
+          readOnlyRootFilesystem: true
+          seccompProfile:
+            type: RuntimeDefault
+        livenessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /healthz
+            port: http-sidecar
+          initialDelaySeconds: 30
+          periodSeconds: 30
+          successThreshold: 1
+          timeoutSeconds: 1
+        readinessProbe:
+          failureThreshold: 3
+          httpGet:
+            path: /healthz
+            port: http-sidecar
+          initialDelaySeconds: 3
+          periodSeconds: 10
+          successThreshold: 1
+          timeoutSeconds: 1
         env:
         - name: METHOD
           value: WATCH
         - name: LABEL
           value: loki_rule
         - name: FOLDER
@@ -107,52 +190,19 @@

         - name: WATCH_SERVER_TIMEOUT
           value: '60'
         - name: WATCH_CLIENT_TIMEOUT
           value: '60'
         - name: LOG_LEVEL
           value: INFO
-        resources:
-          limits:
-            memory: 150Mi
-          requests:
-            cpu: 10m
-            memory: 150Mi
-        securityContext:
-          allowPrivilegeEscalation: false
-          capabilities:
-            drop:
-            - ALL
-          readOnlyRootFilesystem: true
+        - name: HEALTH_PORT
+          value: '8080'
         volumeMounts:
-        - name: tmp
+        - name: sc-rules-temp
           mountPath: /tmp
         - name: sc-rules-volume
           mountPath: /rules
-      affinity:
-        podAntiAffinity:
-          requiredDuringSchedulingIgnoredDuringExecution:
-          - labelSelector:
-              matchLabels:
-                app.kubernetes.io/component: single-binary
-                app.kubernetes.io/instance: loki
-                app.kubernetes.io/name: loki
-            topologyKey: kubernetes.io/hostname
-      volumes:
-      - name: tmp
-        emptyDir: {}
-      - name: config
-        configMap:
-          name: loki
-          items:
-          - key: config.yaml
-            path: config.yaml
-      - name: runtime-config
-        configMap:
-          name: loki-runtime
-      - name: sc-rules-volume
-        emptyDir: {}
   volumeClaimTemplates:
   - apiVersion: v1
     kind: PersistentVolumeClaim
     metadata:
       name: storage
     spec:
--- HelmRelease: monitoring/loki ServiceAccount: monitoring/loki-gateway

+++ HelmRelease: monitoring/loki ServiceAccount: monitoring/loki-gateway

@@ -0,0 +1,12 @@

+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: loki-gateway
+  namespace: monitoring
+  labels:
+    app.kubernetes.io/name: loki
+    app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: gateway
+automountServiceAccountToken: false
+
--- HelmRelease: monitoring/loki ServiceAccount: monitoring/loki-memcached

+++ HelmRelease: monitoring/loki ServiceAccount: monitoring/loki-memcached

@@ -0,0 +1,12 @@

+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: loki-memcached
+  namespace: monitoring
+  labels:
+    app.kubernetes.io/name: loki
+    app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: memcached
+automountServiceAccountToken: false
+
--- HelmRelease: monitoring/loki Service: monitoring/loki-gateway-exporter

+++ HelmRelease: monitoring/loki Service: monitoring/loki-gateway-exporter

@@ -0,0 +1,22 @@

+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: loki-gateway-exporter
+  namespace: monitoring
+  labels:
+    app.kubernetes.io/name: loki
+    app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: gateway
+spec:
+  type: ClusterIP
+  ports:
+  - name: http-metrics
+    port: 4040
+    targetPort: http-metrics
+    protocol: TCP
+  selector:
+    app.kubernetes.io/name: loki
+    app.kubernetes.io/instance: loki
+    app.kubernetes.io/component: gateway
+

@github-actions
Copy link
Copy Markdown

--- kubernetes/infrastructure/monitoring/loki/app Kustomization: flux-system/loki OCIRepository: monitoring/loki

+++ kubernetes/infrastructure/monitoring/loki/app Kustomization: flux-system/loki OCIRepository: monitoring/loki

@@ -11,9 +11,9 @@

 spec:
   interval: 1h
   layerSelector:
     mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip
     operation: copy
   ref:
-    tag: 6.57.0
+    tag: 13.3.2
   url: oci://ghcr.io/grafana-community/helm-charts/loki
 

@denniseffing denniseffing merged commit 02cc027 into main Apr 28, 2026
4 checks passed
@denniseffing denniseffing deleted the renovate/main-ghcr.io-grafana-community-helm-charts-loki-13.x branch April 28, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant