{{- /* Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} {{- if .Values.autoscaling.enabled }} apiVersion: {{ include "common.capabilities.hpa.apiVersion" ( dict "context" $ ) }} kind: HorizontalPodAutoscaler metadata: name: {{ template "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: keycloak {{- if .Values.commonAnnotations }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} spec: scaleTargetRef: apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet name: {{ template "common.names.fullname" . }} minReplicas: {{ .Values.autoscaling.minReplicas }} maxReplicas: {{ .Values.autoscaling.maxReplicas }} metrics: {{- if .Values.autoscaling.targetCPU }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetCPU }} {{- end }} {{- if .Values.autoscaling.targetMemory }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.autoscaling.targetMemory }} {{- end }} {{- if or .Values.autoscaling.behavior.scaleDown.policies .Values.autoscaling.behavior.scaleUp.policies }} behavior: {{- if .Values.autoscaling.behavior.scaleDown.policies }} scaleDown: stabilizationWindowSeconds: {{ .Values.autoscaling.behavior.scaleDown.stabilizationWindowSeconds }} selectPolicy: {{ .Values.autoscaling.behavior.scaleDown.selectPolicy }} policies: {{- toYaml .Values.autoscaling.behavior.scaleDown.policies | nindent 8 }} {{- end }} {{- if .Values.autoscaling.behavior.scaleUp.policies }} scaleUp: stabilizationWindowSeconds: {{ .Values.autoscaling.behavior.scaleUp.stabilizationWindowSeconds }} selectPolicy: {{ .Values.autoscaling.behavior.scaleUp.selectPolicy }} policies: {{- toYaml .Values.autoscaling.behavior.scaleUp.policies | nindent 8 }} {{- end }} {{- end }} {{- end }}