123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- {{- if and (eq .Values.ruler.kind "StatefulSet") .Values.ruler.enabled }}
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: {{ include "loki.rulerFullname" . }}
- labels:
- {{- include "loki.rulerLabels" . | nindent 4 }}
- app.kubernetes.io/part-of: memberlist
- {{- with .Values.loki.annotations }}
- annotations:
- {{- toYaml . | nindent 4 }}
- {{- end }}
- spec:
- replicas: {{ .Values.ruler.replicas }}
- revisionHistoryLimit: {{ .Values.loki.revisionHistoryLimit }}
- serviceName: {{ include "loki.rulerFullname" . }}
- selector:
- matchLabels:
- {{- include "loki.rulerSelectorLabels" . | nindent 6 }}
- template:
- metadata:
- annotations:
- {{- include "loki.config.checksum" . | nindent 8 }}
- {{- with .Values.loki.podAnnotations }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.podAnnotations }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- labels:
- {{- include "loki.rulerSelectorLabels" . | nindent 8 }}
- app.kubernetes.io/part-of: memberlist
- {{- with .Values.loki.podLabels }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.podLabels }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- spec:
- serviceAccountName: {{ include "loki.serviceAccountName" . }}
- {{- with .Values.imagePullSecrets }}
- imagePullSecrets:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.hostAliases }}
- hostAliases:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- include "loki.rulerPriorityClassName" . | nindent 6 }}
- securityContext:
- {{- toYaml .Values.loki.podSecurityContext | nindent 8 }}
- terminationGracePeriodSeconds: {{ .Values.ruler.terminationGracePeriodSeconds }}
- {{- with .Values.ruler.initContainers }}
- initContainers:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- containers:
- - name: ruler
- image: {{ include "loki.rulerImage" . }}
- imagePullPolicy: {{ .Values.loki.image.pullPolicy }}
- args:
- - -config.file=/etc/loki/config/config.yaml
- - -target=ruler
- {{- with .Values.ruler.extraArgs }}
- {{- toYaml . | nindent 12 }}
- {{- end }}
- ports:
- - name: http
- containerPort: 3100
- protocol: TCP
- - name: grpc
- containerPort: 9095
- protocol: TCP
- - name: http-memberlist
- containerPort: 7946
- protocol: TCP
- {{- with .Values.ruler.extraEnv }}
- env:
- {{- toYaml . | nindent 12 }}
- {{- end }}
- {{- with .Values.ruler.extraEnvFrom }}
- envFrom:
- {{- toYaml . | nindent 12 }}
- {{- end }}
- securityContext:
- {{- toYaml .Values.loki.containerSecurityContext | nindent 12 }}
- readinessProbe:
- {{- toYaml .Values.loki.readinessProbe | nindent 12 }}
- livenessProbe:
- {{- toYaml .Values.loki.livenessProbe | nindent 12 }}
- volumeMounts:
- - name: config
- mountPath: /etc/loki/config
- - name: runtime-config
- mountPath: /var/{{ include "loki.name" . }}-runtime
- - name: data
- mountPath: /var/loki
- - name: tmp
- mountPath: /tmp/loki
- {{- range $dir, $_ := .Values.ruler.directories }}
- - name: {{ include "loki.rulerRulesDirName" $dir }}
- mountPath: /etc/loki/rules/{{ $dir }}
- {{- end }}
- {{- with .Values.ruler.extraVolumeMounts }}
- {{- toYaml . | nindent 12 }}
- {{- end }}
- resources:
- {{- toYaml .Values.ruler.resources | nindent 12 }}
- {{- with .Values.ruler.extraContainers }}
- {{- toYaml . | nindent 8}}
- {{- end }}
- {{- with .Values.ruler.affinity }}
- affinity:
- {{- tpl . $ | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.nodeSelector }}
- nodeSelector:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.tolerations }}
- tolerations:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.ruler.dnsConfig }}
- dnsConfig:
- {{- toYaml . | nindent 8 }}
- {{- end }}
- volumes:
- - name: config
- {{- if .Values.loki.existingSecretForConfig }}
- secret:
- secretName: {{ .Values.loki.existingSecretForConfig }}
- {{- else if .Values.loki.configAsSecret }}
- secret:
- secretName: {{ include "loki.fullname" . }}-config
- {{- else }}
- configMap:
- name: {{ include "loki.fullname" . }}
- {{- end }}
- - name: runtime-config
- configMap:
- name: {{ template "loki.fullname" . }}-runtime
- {{- range $dir, $_ := .Values.ruler.directories }}
- - name: {{ include "loki.rulerRulesDirName" $dir }}
- configMap:
- name: {{ include "loki.rulerFullname" $ }}-{{ include "loki.rulerRulesDirName" $dir }}
- {{- end }}
- - name: tmp
- emptyDir: {}
- {{- with .Values.ruler.extraVolumes }}
- {{- toYaml . | nindent 8 }}
- {{- end }}
- {{- if not .Values.ruler.persistence.enabled }}
- - name: data
- emptyDir: {}
- {{- else }}
- volumeClaimTemplates:
- - metadata:
- name: data
- {{- with .Values.ruler.persistence.annotations }}
- annotations:
- {{- . | toYaml | nindent 10 }}
- {{- end }}
- spec:
- accessModes:
- - ReadWriteOnce
- {{- with .Values.ruler.persistence.storageClass }}
- storageClassName: {{ if (eq "-" .) }}""{{ else }}{{ . }}{{ end }}
- {{- end }}
- resources:
- requests:
- storage: {{ .Values.ruler.persistence.size | quote }}
- {{- end }}
- {{- end }}
|