blob: 96a91f53323cedab81d64e88d328f5066abe2dad [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001{{- if and (or (eq .Values.controller.kind "Deployment") (eq .Values.controller.kind "Both")) .Values.controller.autoscaling.enabled (not .Values.controller.keda.enabled) -}}
2apiVersion: {{ ternary "autoscaling/v2" "autoscaling/v2beta2" (.Capabilities.APIVersions.Has "autoscaling/v2") }}
3kind: HorizontalPodAutoscaler
4metadata:
5 {{- with .Values.controller.autoscaling.annotations }}
6 annotations: {{ toYaml . | nindent 4 }}
7 {{- end }}
8 labels:
9 {{- include "ingress-nginx.labels" . | nindent 4 }}
10 app.kubernetes.io/component: controller
11 {{- with .Values.controller.labels }}
12 {{- toYaml . | nindent 4 }}
13 {{- end }}
14 name: {{ include "ingress-nginx.controller.fullname" . }}
15 namespace: {{ .Release.Namespace }}
16spec:
17 scaleTargetRef:
18 apiVersion: apps/v1
19 kind: Deployment
20 name: {{ include "ingress-nginx.controller.fullname" . }}
21 minReplicas: {{ .Values.controller.autoscaling.minReplicas }}
22 maxReplicas: {{ .Values.controller.autoscaling.maxReplicas }}
23 metrics:
24 {{- with .Values.controller.autoscaling.targetCPUUtilizationPercentage }}
25 - type: Resource
26 resource:
27 name: cpu
28 target:
29 type: Utilization
30 averageUtilization: {{ . }}
31 {{- end }}
32 {{- with .Values.controller.autoscaling.targetMemoryUtilizationPercentage }}
33 - type: Resource
34 resource:
35 name: memory
36 target:
37 type: Utilization
38 averageUtilization: {{ . }}
39 {{- end }}
40 {{- with .Values.controller.autoscalingTemplate }}
41 {{- toYaml . | nindent 2 }}
42 {{- end }}
43 {{- with .Values.controller.autoscaling.behavior }}
44 behavior:
45 {{- toYaml . | nindent 4 }}
46 {{- end }}
47{{- end }}