blob: c529f1899f7d87cd8a566704511c9193facdd398 [file] [log] [blame]
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001{{- $isSingleBinary := eq (include "loki.deployment.isSingleBinary" .) "true" -}}
2{{- $usingObjectStorage := eq (include "loki.isUsingObjectStorage" .) "true" }}
3{{- $autoscalingv2 := .Capabilities.APIVersions.Has "autoscaling/v2" -}}
4{{- if and $isSingleBinary $usingObjectStorage ( .Values.singleBinary.autoscaling.enabled ) }}
5{{- if $autoscalingv2 }}
6apiVersion: autoscaling/v2
7{{- else }}
8apiVersion: autoscaling/v2beta1
9{{- end }}
10kind: HorizontalPodAutoscaler
11metadata:
12 name: {{ include "loki.singleBinaryFullname" . }}
13 labels:
14 {{- include "loki.singleBinaryLabels" . | nindent 4 }}
15spec:
16 scaleTargetRef:
17 apiVersion: apps/v1
18 kind: StatefulSet
19 name: {{ include "loki.singleBinaryFullname" . }}
20 minReplicas: {{ .Values.singleBinary.autoscaling.minReplicas }}
21 maxReplicas: {{ .Values.singleBinary.autoscaling.maxReplicas }}
22 {{- with .Values.singleBinary.autoscaling.behavior }}
23 behavior:
24 {{- toYaml . | nindent 4 }}
25 {{- end }}
26 metrics:
27 {{- with .Values.singleBinary.autoscaling.targetMemoryUtilizationPercentage }}
28 - type: Resource
29 resource:
30 name: memory
31 {{- if $autoscalingv2 }}
32 target:
33 type: Utilization
34 averageUtilization: {{ . }}
35 {{- else }}
36 targetAverageUtilization: {{ . }}
37 {{- end }}
38 {{- end }}
39 {{- with .Values.singleBinary.autoscaling.targetCPUUtilizationPercentage }}
40 - type: Resource
41 resource:
42 name: cpu
43 {{- if $autoscalingv2 }}
44 target:
45 type: Utilization
46 averageUtilization: {{ . }}
47 {{- else }}
48 targetAverageUtilization: {{ . }}
49 {{- end }}
50 {{- end }}
51{{- end }}