{{- /* Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} {{- $replicaCount := int .Values.broker.replicaCount }} {{- if and (gt $replicaCount 0) .Values.broker.autoscaling.hpa.enabled }} apiVersion: {{ include "common.capabilities.hpa.apiVersion" ( dict "context" $ ) }} kind: HorizontalPodAutoscaler metadata: name: {{ printf "%s-broker" (include "common.names.fullname" .) }} namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: broker app.kubernetes.io/part-of: kafka {{- if or .Values.broker.autoscaling.hpa.annotations .Values.commonAnnotations }} {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.broker.autoscaling.hpa.annotations .Values.commonAnnotations ) "context" . ) }} annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} {{- end }} spec: scaleTargetRef: apiVersion: {{ template "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet name: {{ printf "%s-broker" (include "common.names.fullname" .) }} minReplicas: {{ .Values.broker.autoscaling.hpa.minReplicas }} maxReplicas: {{ .Values.broker.autoscaling.hpa.maxReplicas }} metrics: {{- if .Values.broker.autoscaling.hpa.targetCPU }} - type: Resource resource: name: cpu {{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .) }} targetAverageUtilization: {{ .Values.broker.autoscaling.hpa.targetCPU }} {{- else }} target: type: Utilization averageUtilization: {{ .Values.broker.autoscaling.hpa.targetCPU }} {{- end }} {{- end }} {{- if .Values.broker.autoscaling.hpa.targetMemory }} - type: Resource resource: name: memory {{- if semverCompare "<1.23-0" (include "common.capabilities.kubeVersion" .) }} targetAverageUtilization: {{ .Values.broker.autoscaling.hpa.targetMemory }} {{- else }} target: type: Utilization averageUtilization: {{ .Values.broker.autoscaling.hpa.targetMemory }} {{- end }} {{- end }} {{- end }}