apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ include "loki-stack.fullname" . }}-loki-read labels: {{- include "loki-stack.labels" . | nindent 4 }} app.kubernetes.io/component: loki-read spec: replicas: {{ .Values.loki.read.replicas }} serviceName: {{ include "loki-stack.fullname" . }}-loki-read-headless selector: matchLabels: {{- include "loki-stack.selectorLabels" . | nindent 6 }} app.kubernetes.io/component: loki-read template: metadata: annotations: checksum/config: {{ include (print $.Template.BasePath "/loki-configmap.yaml") . | sha256sum }} labels: {{- include "loki-stack.selectorLabels" . | nindent 8 }} app.kubernetes.io/component: loki-read loki.grafana.com/memberlist: "true" spec: containers: - name: loki image: {{ .Values.loki.image.repository }}:{{ .Values.loki.image.tag }} args: - -config.file=/etc/loki/loki-config.yaml - -config.expand-env=true - -target=read env: - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP ports: - name: http containerPort: 3100 - name: grpc containerPort: 9095 - name: memberlist containerPort: 7946 readinessProbe: httpGet: path: /ready port: http initialDelaySeconds: 15 periodSeconds: 10 volumeMounts: - name: config mountPath: /etc/loki - name: data mountPath: /loki resources: {{- toYaml .Values.loki.read.resources | nindent 12 }} volumes: - name: config configMap: name: {{ include "loki-stack.fullname" . }}-loki volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteOnce {{- if .Values.loki.read.storage.storageClassName }} storageClassName: {{ .Values.loki.read.storage.storageClassName }} {{- end }} resources: requests: storage: {{ .Values.loki.read.storage.size }}