| {{- if and (eq .Values.controller.kind "Deployment") .Values.controller.autoscaling.enabled (not .Values.controller.keda.enabled) -}} |
| apiVersion: {{ ternary "autoscaling/v2" "autoscaling/v2beta2" (.Capabilities.APIVersions.Has "autoscaling/v2") }} |
| kind: HorizontalPodAutoscaler |
| metadata: |
| {{- with .Values.controller.autoscaling.annotations }} |
| annotations: {{ toYaml . | nindent 4 }} |
| {{- end }} |
| labels: |
| {{- include "ingress-nginx.labels" . | nindent 4 }} |
| app.kubernetes.io/component: controller |
| {{- with .Values.controller.labels }} |
| {{- toYaml . | nindent 4 }} |
| {{- end }} |
| name: {{ include "ingress-nginx.controller.fullname" . }} |
| namespace: {{ include "ingress-nginx.namespace" . }} |
| spec: |
| scaleTargetRef: |
| apiVersion: apps/v1 |
| kind: Deployment |
| name: {{ include "ingress-nginx.controller.fullname" . }} |
| minReplicas: {{ .Values.controller.autoscaling.minReplicas }} |
| maxReplicas: {{ .Values.controller.autoscaling.maxReplicas }} |
| metrics: |
| {{- with .Values.controller.autoscaling.targetMemoryUtilizationPercentage }} |
| - type: Resource |
| resource: |
| name: memory |
| target: |
| type: Utilization |
| averageUtilization: {{ . }} |
| {{- end }} |
| {{- with .Values.controller.autoscaling.targetCPUUtilizationPercentage }} |
| - type: Resource |
| resource: |
| name: cpu |
| target: |
| type: Utilization |
| averageUtilization: {{ . }} |
| {{- end }} |
| {{- with .Values.controller.autoscalingTemplate }} |
| {{- toYaml . | nindent 2 }} |
| {{- end }} |
| {{- with .Values.controller.autoscaling.behavior }} |
| behavior: |
| {{- toYaml . | nindent 4 }} |
| {{- end }} |
| {{- end }} |