{{- if .Values.loki.enabled }} apiVersion: apps/v1 kind: StatefulSet metadata: name: loki namespace: {{ .Release.Namespace }} labels: app: loki spec: serviceName: loki replicas: {{ .Values.loki.replicas }} selector: matchLabels: app: loki template: metadata: labels: app: loki spec: serviceAccountName: default nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }} tolerations: {{ toYaml .Values.tolerations | nindent 8 }} affinity: {{ toYaml .Values.affinity | nindent 8 }} containers: - name: loki image: "{{ .Values.loki.image.repository }}:{{ .Values.loki.image.tag }}" imagePullPolicy: IfNotPresent ports: - name: http containerPort: 3100 protocol: TCP livenessProbe: httpGet: path: /ready port: http initialDelaySeconds: 45 timeoutSeconds: 1 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 readinessProbe: httpGet: path: /ready port: http initialDelaySeconds: 45 timeoutSeconds: 1 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 resources: limits: cpu: {{ .Values.loki.resources.limits.cpu }} memory: {{ .Values.loki.resources.limits.memory }} requests: cpu: {{ .Values.loki.resources.requests.cpu }} memory: {{ .Values.loki.resources.requests.memory }} volumeMounts: - name: loki-config mountPath: /etc/loki readOnly: true - name: loki-storage mountPath: /loki volumes: - name: loki-config configMap: name: loki-config volumeClaimTemplates: - metadata: name: loki-storage spec: accessModes: - ReadWriteOnce storageClassName: {{ .Values.loki.persistence.storageClassName }} resources: requests: storage: {{ .Values.loki.persistence.size }} {{- end }}