[bitnami/thanos] Conditional creation of HorizontalPodAutoscaler resources for Thanos components (#34256)

* Conditionally specify replicas field on Thanos components based on new externalAutoscaler values.

Signed-off-by: Nick Friday <nickjfriday@gmail.com>

* Fix README metadata

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

* Update README.md with readme-generator-for-helm

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>

---------

Signed-off-by: Nick Friday <nickjfriday@gmail.com>
Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com>
Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
Co-authored-by: Miguel Ruiz <miguel.ruiz@broadcom.com>
Co-authored-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
nfriday
2025-06-27 07:28:49 +00:00
committed by GitHub
co-authored by Miguel Ruiz Bitnami Bot
parent 37c264f939
commit 879bca6783
11 changed files with 35 additions and 10 deletions
+6 -2
View File
@@ -1,8 +1,12 @@
# Changelog
## 17.0.4 (2025-06-25)
## 17.0.5 (2025-06-27)
* [bitnami/thanos] :zap: :arrow_up: Update dependency references ([#34622](https://github.com/bitnami/charts/pull/34622))
* [bitnami/thanos] Conditional creation of HorizontalPodAutoscaler resources for Thanos components ([#34256](https://github.com/bitnami/charts/pull/34256))
## <small>17.0.4 (2025-06-25)</small>
* [bitnami/thanos] :zap: :arrow_up: Update dependency references (#34622) ([b98bf4b](https://github.com/bitnami/charts/commit/b98bf4b149114396ab00faf491efb38aff2b509d)), closes [#34622](https://github.com/bitnami/charts/issues/34622)
## <small>17.0.3 (2025-06-13)</small>
+1 -1
View File
@@ -38,4 +38,4 @@ maintainers:
name: thanos
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/thanos
version: 17.0.4
version: 17.0.5
+7
View File
@@ -548,6 +548,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `query.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `query.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `query.autoscaling.targetPodMetrics` | List of custom pod metrics name and averageValue to evaluate for scaling | `[]` |
| `query.externalAutoscaler` | Specifies whether the Thanos Query deployment is scaled by an external autoscaler | `false` |
| `query.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Query | `true` |
| `query.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `query.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -690,6 +691,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `queryFrontend.autoscaling.maxReplicas` | Maximum number of Thanos Query Frontend replicas | `""` |
| `queryFrontend.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `queryFrontend.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `queryFrontend.externalAutoscaler` | Specifies whether the Thanos Query Frontend deployment is scaled by an external autoscaler | `false` |
| `queryFrontend.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Query Frontend | `true` |
| `queryFrontend.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `queryFrontend.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -815,6 +817,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `bucketweb.autoscaling.maxReplicas` | Maximum number of Thanos Bucket Web replicas | `""` |
| `bucketweb.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `bucketweb.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `bucketweb.externalAutoscaler` | Specifies whether the Thanos Bucket Web deployment is scaled by an external autoscaler | `false` |
| `bucketweb.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Bucket Web | `true` |
| `bucketweb.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `bucketweb.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -1102,6 +1105,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `storegateway.autoscaling.maxReplicas` | Maximum number of Thanos Store Gateway replicas | `""` |
| `storegateway.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `storegateway.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `storegateway.externalAutoscaler` | Specifies whether the Thanos Store Gateway statefulset is scaled by an external autoscaler | `false` |
| `storegateway.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Store Gateway | `true` |
| `storegateway.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `storegateway.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -1271,6 +1275,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `ruler.autoscaling.maxReplicas` | Maximum number of Thanos Ruler replicas | `""` |
| `ruler.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `ruler.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `ruler.externalAutoscaler` | Specifies whether the Thanos Ruler statefulset is scaled by an external autoscaler | `false` |
| `ruler.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Ruler | `true` |
| `ruler.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `ruler.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -1422,6 +1427,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `receive.autoscaling.maxReplicas` | Maximum number of Thanos Receive replicas | `""` |
| `receive.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `receive.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `receive.externalAutoscaler` | Specifies whether the Thanos Receive statefulset is scaled by an external autoscaler | `false` |
| `receive.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Receive | `true` |
| `receive.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `receive.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -1539,6 +1545,7 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru
| `receiveDistributor.autoscaling.maxReplicas` | Maximum number of Thanos Receive Distributor replicas | `""` |
| `receiveDistributor.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `receiveDistributor.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `receiveDistributor.externalAutoscaler` | Specifies whether the Thanos Receive Distributor deployment is scaled by an external autoscaler | `false` |
| `receiveDistributor.pdb.create` | Enable/disable a Pod Disruption Budget creation for Thanos Receive Distributor | `true` |
| `receiveDistributor.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` |
| `receiveDistributor.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `""` |
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.bucketweb.autoscaling.enabled }}
{{- if not (or .Values.bucketweb.autoscaling.enabled .Values.bucketweb.externalAutoscaler) }}
replicas: {{ .Values.bucketweb.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.bucketweb.revisionHistoryLimit }}
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.queryFrontend.autoscaling.enabled }}
{{- if not (or .Values.queryFrontend.autoscaling.enabled .Values.queryFrontend.externalAutoscaler) }}
replicas: {{ .Values.queryFrontend.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.queryFrontend.revisionHistoryLimit }}
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.query.autoscaling.enabled }}
{{- if not (or .Values.query.autoscaling.enabled .Values.query.externalAutoscaler) }}
replicas: {{ .Values.query.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.query.revisionHistoryLimit }}
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.receiveDistributor.autoscaling.enabled }}
{{- if not (or .Values.receiveDistributor.autoscaling.enabled .Values.receiveDistributor.externalAutoscaler) }}
replicas: {{ .Values.receiveDistributor.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.receiveDistributor.revisionHistoryLimit }}
@@ -18,7 +18,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.receive.autoscaling.enabled }}
{{- if not (or .Values.receive.autoscaling.enabled .Values.receive.externalAutoscaler) }}
replicas: {{ .Values.receive.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.receive.revisionHistoryLimit }}
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.ruler.autoscaling.enabled }}
{{- if not (or .Values.ruler.autoscaling.enabled .Values.ruler.externalAutoscaler) }}
replicas: {{ .Values.ruler.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.ruler.revisionHistoryLimit }}
@@ -15,7 +15,7 @@ metadata:
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.storegateway.autoscaling.enabled }}
{{- if not (or .Values.storegateway.autoscaling.enabled .Values.storegateway.externalAutoscaler) }}
replicas: {{ .Values.storegateway.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.storegateway.revisionHistoryLimit }}
+14
View File
@@ -717,6 +717,7 @@ query:
## @param query.autoscaling.targetCPU Target CPU utilization percentage
## @param query.autoscaling.targetMemory Target Memory utilization percentage
## @param query.autoscaling.targetPodMetrics [array] List of custom pod metrics name and averageValue to evaluate for scaling
## @param query.externalAutoscaler Specifies whether the Thanos Query deployment is scaled by an external autoscaler
## e.g.
## targetPodMetrics:
## - name: thanos_query_range_query_duration
@@ -731,6 +732,7 @@ query:
targetCPU: ""
targetMemory: ""
targetPodMetrics: []
externalAutoscaler: false
## Thanos Query Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param query.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Query
@@ -1364,6 +1366,7 @@ queryFrontend:
## @param queryFrontend.autoscaling.maxReplicas Maximum number of Thanos Query Frontend replicas
## @param queryFrontend.autoscaling.targetCPU Target CPU utilization percentage
## @param queryFrontend.autoscaling.targetMemory Target Memory utilization percentage
## @param queryFrontend.externalAutoscaler Specifies whether the Thanos Query Frontend deployment is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -1371,6 +1374,7 @@ queryFrontend:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Query Frontend Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param queryFrontend.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Query Frontend
@@ -1879,6 +1883,7 @@ bucketweb:
## @param bucketweb.autoscaling.maxReplicas Maximum number of Thanos Bucket Web replicas
## @param bucketweb.autoscaling.targetCPU Target CPU utilization percentage
## @param bucketweb.autoscaling.targetMemory Target Memory utilization percentage
## @param bucketweb.externalAutoscaler Specifies whether the Thanos Bucket Web deployment is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -1886,6 +1891,7 @@ bucketweb:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Bucket Web Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param bucketweb.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Bucket Web
@@ -3051,6 +3057,7 @@ storegateway:
## @param storegateway.autoscaling.maxReplicas Maximum number of Thanos Store Gateway replicas
## @param storegateway.autoscaling.targetCPU Target CPU utilization percentage
## @param storegateway.autoscaling.targetMemory Target Memory utilization percentage
## @param storegateway.externalAutoscaler Specifies whether the Thanos Store Gateway statefulset is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -3058,6 +3065,7 @@ storegateway:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Store Gateway Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param storegateway.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Store Gateway
@@ -3812,6 +3820,7 @@ ruler:
## @param ruler.autoscaling.maxReplicas Maximum number of Thanos Ruler replicas
## @param ruler.autoscaling.targetCPU Target CPU utilization percentage
## @param ruler.autoscaling.targetMemory Target Memory utilization percentage
## @param ruler.externalAutoscaler Specifies whether the Thanos Ruler statefulset is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -3819,6 +3828,7 @@ ruler:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Ruler Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param ruler.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Ruler
@@ -4415,6 +4425,7 @@ receive:
## @param receive.autoscaling.maxReplicas Maximum number of Thanos Receive replicas
## @param receive.autoscaling.targetCPU Target CPU utilization percentage
## @param receive.autoscaling.targetMemory Target Memory utilization percentage
## @param receive.externalAutoscaler Specifies whether the Thanos Receive statefulset is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -4422,6 +4433,7 @@ receive:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Receive Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param receive.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Receive
@@ -4873,6 +4885,7 @@ receiveDistributor:
## @param receiveDistributor.autoscaling.maxReplicas Maximum number of Thanos Receive Distributor replicas
## @param receiveDistributor.autoscaling.targetCPU Target CPU utilization percentage
## @param receiveDistributor.autoscaling.targetMemory Target Memory utilization percentage
## @param receiveDistributor.externalAutoscaler Specifies whether the Thanos Receive Distributor deployment is scaled by an external autoscaler
##
autoscaling:
enabled: false
@@ -4880,6 +4893,7 @@ receiveDistributor:
maxReplicas: ""
targetCPU: ""
targetMemory: ""
externalAutoscaler: false
## Thanos Receive Distributor Pod Disruption Budget configuration
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
## @param receiveDistributor.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Receive Distributor