# Horizontal Pod Autoscaler for Backend API apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: veza-backend-api-hpa namespace: veza-production labels: app: veza-backend-api component: autoscaling spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: veza-backend-api minReplicas: 3 maxReplicas: 20 metrics: # CPU-based scaling - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 # Memory-based scaling - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 behavior: scaleUp: stabilizationWindowSeconds: 60 policies: # Scale up by 100% (double) or add 4 pods, whichever is more - type: Percent value: 100 periodSeconds: 15 - type: Pods value: 4 periodSeconds: 15 selectPolicy: Max scaleDown: stabilizationWindowSeconds: 300 policies: # Scale down by 10% or remove 1 pod, whichever is less - type: Percent value: 10 periodSeconds: 60 - type: Pods value: 1 periodSeconds: 60 selectPolicy: Min