{{- if and .Values.hpa.enabled .Values.services }} {{- range $name, $svc := .Values.services }} {{- if and $svc.hpa $svc.hpa.enabled }} apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ include "stellaops.fullname" (dict "root" $ "name" $name) }} labels: {{- include "stellaops.labels" (dict "root" $ "name" $name "svc" $svc) | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ include "stellaops.fullname" (dict "root" $ "name" $name) }} minReplicas: {{ default $.Values.hpa.minReplicas $svc.hpa.minReplicas }} maxReplicas: {{ default $.Values.hpa.maxReplicas $svc.hpa.maxReplicas }} metrics: {{- $cpu := coalesce $svc.hpa.cpu.targetPercentage $.Values.hpa.cpu.targetPercentage -}} {{- if $cpu }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ $cpu }} {{- end }} {{- $mem := coalesce $svc.hpa.memory.targetPercentage $.Values.hpa.memory.targetPercentage -}} {{- if $mem }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ $mem }} {{- end }} --- {{- end }} {{- end }} {{- end }}