{{- if .Values.api.autoscaling.enabled }} --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ template "dify.api.fullname" . }} labels: {{ include "dify.labels" . | indent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ template "dify.api.fullname" . }} minReplicas: {{ .Values.api.autoscaling.minReplicas }} maxReplicas: {{ .Values.api.autoscaling.maxReplicas }} metrics: {{- if .Values.api.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.api.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.api.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.api.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- end }} {{- if .Values.web.autoscaling.enabled }} --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ template "dify.web.fullname" . }} labels: {{ include "dify.labels" . | indent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ template "dify.web.fullname" . }} minReplicas: {{ .Values.web.autoscaling.minReplicas }} maxReplicas: {{ .Values.web.autoscaling.maxReplicas }} metrics: {{- if .Values.web.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.web.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.web.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.web.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- end }} {{- if .Values.worker.autoscaling.enabled }} --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ template "dify.worker.fullname" . }} labels: {{ include "dify.labels" . | indent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ template "dify.worker.fullname" . }} minReplicas: {{ .Values.worker.autoscaling.minReplicas }} maxReplicas: {{ .Values.worker.autoscaling.maxReplicas }} metrics: {{- if .Values.worker.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.worker.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.worker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.worker.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- end }} {{- if .Values.sandbox.autoscaling.enabled }} --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: {{ template "dify.sandbox.fullname" . }} labels: {{ include "dify.labels" . | indent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: {{ template "dify.sandbox.fullname" . }} minReplicas: {{ .Values.sandbox.autoscaling.minReplicas }} maxReplicas: {{ .Values.sandbox.autoscaling.maxReplicas }} metrics: {{- if .Values.sandbox.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization averageUtilization: {{ .Values.sandbox.autoscaling.targetCPUUtilizationPercentage }} {{- end }} {{- if .Values.sandbox.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization averageUtilization: {{ .Values.sandbox.autoscaling.targetMemoryUtilizationPercentage }} {{- end }} {{- end }}