{{- if .Values.autoscaling.enabled }} --- # HorizontalPodAutoscaler for main application apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ include "sim.fullname" . }}-app namespace: {{ .Release.Namespace }} labels: {{- include "sim.app.labels" . | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ include "sim.fullname" . }}-app minReplicas: {{ .Values.autoscaling.minReplicas }} maxReplicas: {{ .Values.autoscaling.maxReplicas }} metrics: {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- with .Values.autoscaling.customMetrics }} {{- toYaml . | nindent 4 }} {{- end }} {{- if .Values.autoscaling.behavior }} behavior: {{- toYaml .Values.autoscaling.behavior | nindent 4 }} {{- end }} {{- end }} {{- if and .Values.autoscaling.enabled .Values.realtime.enabled }} --- # HorizontalPodAutoscaler for realtime service apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ include "sim.fullname" . }}-realtime namespace: {{ .Release.Namespace }} labels: {{- include "sim.realtime.labels" . | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ include "sim.fullname" . }}-realtime minReplicas: {{ .Values.autoscaling.minReplicas }} maxReplicas: {{ .Values.autoscaling.maxReplicas }} metrics: {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- with .Values.autoscaling.customMetrics }} {{- toYaml . | nindent 4 }} {{- end }} {{- if .Values.autoscaling.behavior }} behavior: {{- toYaml .Values.autoscaling.behavior | nindent 4 }} {{- end }} {{- end }}