Files
devops-infra-helm-charts-gcp/helm-templates/contour-v1.33.3/templates/envoy/scaledObject.yaml
T
2026-08-26 03:39:42 +05:30

61 lines
2.6 KiB
YAML

{{- /*
Meesho Custom: KEDA ScaledObject for Envoy autoscaling
*/}}
{{- if .Values.envoy.autoscaling.keda.enabled }}
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: {{ printf "%s-envoy" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.envoy.image "chart" .Chart ) ) }}
{{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }}
labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
app.kubernetes.io/component: envoy
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ printf "%s-envoy" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
pollingInterval: {{ .Values.envoy.autoscaling.keda.pollingInterval }}
minReplicaCount: {{ .Values.envoy.autoscaling.minReplicas }}
maxReplicaCount: {{ .Values.envoy.autoscaling.maxReplicas }}
advanced:
horizontalPodAutoscalerConfig:
behavior:
scaleDown:
stabilizationWindowSeconds: {{ .Values.envoy.autoscaling.keda.stabilizationWindowSeconds | default "300" }}
policies:
{{- range .Values.envoy.autoscaling.keda.scaledown.policies }}
- type: {{ .type }}
value: {{ .value }}
periodSeconds: {{ .periodseconds }}
{{- end }}
selectPolicy: {{ .Values.envoy.autoscaling.keda.scaledown.selectpolicy }}
scaleUp:
stabilizationWindowSeconds: {{ .Values.envoy.autoscaling.keda.scaleup.stabilizationWindowSeconds }}
policies:
{{- range .Values.envoy.autoscaling.keda.scaleup.policies }}
- type: {{ .type }}
value: {{ .value }}
periodSeconds: {{ .periodseconds }}
{{- end }}
selectPolicy: {{ .Values.envoy.autoscaling.keda.scaleup.selectpolicy }}
triggers:
- metadata:
value: {{ .Values.envoy.autoscaling.targetCPU | quote }}
metricType: Utilization
type: cpu
- metadata:
value: {{ .Values.envoy.autoscaling.targetMemory | quote }}
metricType: Utilization
type: memory
{{- if .Values.envoy.autoscaling.keda.triggers }}
{{- toYaml .Values.envoy.autoscaling.keda.triggers | nindent 2 }}
{{- end }}
{{- end }}