otelcollector/deploy/addon-chart/azure-monitor-metrics-addon/templates/_ama-metrics-helpers.tpl (32 lines of code) (raw):

{{/* HPA merge. */}} {{/* 1. Set the default HPA values for minReplicas, maxReplicas, and metrics. 2. If the current HPA already exists, override the default HPA values to the current values. */}} {{ define "ama-metrics-merge-custom-hpa" }} {{/* Set the default HPA values for minReplicas, maxReplicas, and metrics. */}} {{- $amaMetricsHpaName := "ama-metrics-hpa" }} {{- $amaMetricsAutoscaleMin := 2 -}} {{- $amaMetricsAutoscaleMax := 12 -}} {{- $amaMetricsAutoscaleMaxPrevious := 8 -}} amaMetricsMinReplicasFromHelper: 2 amaMetricsMaxReplicasFromHelper: 12 {{/* If the current HPA already exists, set the HPA values to the current HPA spec to preserve those values. */}} {{- $amaMetricsCurrentHPA := lookup "autoscaling/v2" "HorizontalPodAutoscaler" "kube-system" $amaMetricsHpaName }} {{- if and $amaMetricsCurrentHPA $amaMetricsCurrentHPA.spec }} {{- $amaMetricsMinReplicasFromCurrentSpec := $amaMetricsCurrentHPA.spec.minReplicas -}} {{- $amaMetricsMaxReplicasFromCurrentSpec := $amaMetricsCurrentHPA.spec.maxReplicas -}} {{- if and ($amaMetricsMinReplicasFromCurrentSpec) (gt (int $amaMetricsMinReplicasFromCurrentSpec) 0) }} {{- if ge (int $amaMetricsMinReplicasFromCurrentSpec) $amaMetricsAutoscaleMin }} amaMetricsMinReplicasFromHelper: {{ $amaMetricsMinReplicasFromCurrentSpec }} {{- end }} {{- end }} {{- if and ($amaMetricsMaxReplicasFromCurrentSpec) (gt (int $amaMetricsMaxReplicasFromCurrentSpec) 0) }} {{/* Adding this check to make sure the previous default max is updated with the new update */}} {{- if and (le (int $amaMetricsMaxReplicasFromCurrentSpec) $amaMetricsAutoscaleMax) (ne (int $amaMetricsMaxReplicasFromCurrentSpec) $amaMetricsAutoscaleMaxPrevious) }} amaMetricsMaxReplicasFromHelper: {{ $amaMetricsMaxReplicasFromCurrentSpec }} {{- end }} {{- end }} {{- end }} {{- end }}