Skip to content

Commit 3ec3083

Browse files
yaringolargoproj-renovate[bot]Yarin Golzarnobbsdependabot[bot]
authored
feat(argo-cd): VerticalPodAutoscaler support for application controller (argoproj#3365)
* chore(deps): update renovatebot/github-action action to v43 (argoproj#3363) Signed-off-by: Yarin Golzar <[email protected]> * added VerticalPodAutoscaler support for application controller argoproj#3232 Signed-off-by: Yarin Golzar <[email protected]> * removed trailing spaces Signed-off-by: Yarin Golzar <[email protected]> * chore(deps): update renovatebot/github-action action to v43.0.1 (argoproj#3366) Signed-off-by: Yarin Golzar <[email protected]> * fix(argo-cd): do not use hardcoded commit server URL (argoproj#3367) * fix(argo-cd): do not use hardcoded commit server URL This commit adds the required template logic to the Argo CD Helm chart to use the proper, release name dependent URL for the commit server. The current implementation uses the default hardcoded URL `argocd-commit-server:8086` from <https://github.com/argoproj/argo-cd/blob/v3.0.9/common/common.go#L31>. Signed-off-by: Alexej Disterhoft <[email protected]> * chore(argo-cd): update version to 8.1.2 Signed-off-by: Alexej Disterhoft <[email protected]> * docs(argo-cd): add commit server service port and port name to README Signed-off-by: Alexej Disterhoft <[email protected]> --------- Signed-off-by: Alexej Disterhoft <[email protected]> * chore(deps): bump github/codeql-action from 3.29.0 to 3.29.1 in the dependencies group (argoproj#3370) chore(deps): bump github/codeql-action in the dependencies group Bumps the dependencies group with 1 update: [github/codeql-action](https://github.com/github/codeql-action). Updates `github/codeql-action` from 3.29.0 to 3.29.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@ce28f5b...39edc49) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Yarin Golzar <[email protected]> * chore(deps): update renovatebot/github-action action to v43.0.2 (argoproj#3371) Signed-off-by: Yarin Golzar <[email protected]> * chore(deps): update ghcr.io/renovatebot/renovate docker tag to v41 (argoproj#3373) Signed-off-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com> Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com> Signed-off-by: Yarin Golzar <[email protected]> * chore(deps): bump github/codeql-action from 3.29.1 to 3.29.2 in the dependencies group (argoproj#3378) chore(deps): bump github/codeql-action in the dependencies group Bumps the dependencies group with 1 update: [github/codeql-action](https://github.com/github/codeql-action). Updates `github/codeql-action` from 3.29.1 to 3.29.2 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@39edc49...181d5ee) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.29.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Yarin Golzar <[email protected]> * feat(argo-rollouts): Support ability to set .Values.namespaceOverride (argoproj#3375) Signed-off-by: Yarin Golzar <[email protected]> * updated docs to match vpa default values settings Signed-off-by: Yarin Golzar <[email protected]> * chore(argo-cd): Update dependency argoproj/argo-cd to v3.0.11 (argoproj#3380) --------- Signed-off-by: Yarin Golzar <[email protected]> Signed-off-by: Alexej Disterhoft <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com> Signed-off-by: Yarin Golzar <[email protected]> Signed-off-by: Marco Maurer (-Kilchhofer) <[email protected]> Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com> Co-authored-by: Yarin Golzar <[email protected]> Co-authored-by: Alexej Disterhoft <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: tcaenen <[email protected]> Co-authored-by: Marco Maurer (-Kilchhofer) <[email protected]>
1 parent e92d4b7 commit 3ec3083

File tree

4 files changed

+66
-3
lines changed

4 files changed

+66
-3
lines changed

charts/argo-cd/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ appVersion: v3.1.5
33
kubeVersion: ">=1.25.0-0"
44
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
55
name: argo-cd
6-
version: 8.3.9
6+
version: 8.4.0
77
home: https://github.com/argoproj/argo-helm
88
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
99
sources:
@@ -26,5 +26,5 @@ annotations:
2626
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
2727
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
2828
artifacthub.io/changes: |
29-
- kind: fixed
30-
description: Update ingress class annotation for GKE compatibility
29+
- kind: added
30+
description: support VerticalPodAutoscaler for application controller

charts/argo-cd/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,11 @@ NAME: my-release
953953
| controller.topologySpreadConstraints | list | `[]` (defaults to global.topologySpreadConstraints) | Assign custom [TopologySpreadConstraints] rules to the application controller |
954954
| controller.volumeMounts | list | `[]` | Additional volumeMounts to the application controller main container |
955955
| controller.volumes | list | `[]` | Additional volumes to the application controller pod |
956+
| controller.vpa.annotations | object | `{}` | Annotations to be added to application controller vpa |
957+
| controller.vpa.containerPolicy | object | `{}` | Controls how VPA computes the recommended resources for application controller container |
958+
| controller.vpa.enabled | bool | `false` | Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the application controller |
959+
| controller.vpa.labels | object | `{}` | Labels to be added to application controller vpa |
960+
| controller.vpa.updateMode | string | `"Initial"` | One of the VPA operation modes |
956961

957962
## Argo Repo Server
958963

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{{- if and (.Values.controller.vpa) (.Values.controller.vpa.enabled) }}
2+
apiVersion: autoscaling.k8s.io/v1
3+
kind: VerticalPodAutoscaler
4+
metadata:
5+
name: {{ include "argo-cd.controller.fullname" . }}
6+
namespace: {{ include "argo-cd.namespace" . }}
7+
labels:
8+
{{- include "argo-cd.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
9+
{{- with .Values.controller.vpa.labels }}
10+
{{- toYaml . | nindent 4 }}
11+
{{- end }}
12+
{{- with .Values.controller.vpa.annotations }}
13+
annnotaions:
14+
{{- toYaml . | nindent 4 }}
15+
{{- end }}
16+
spec:
17+
targetRef:
18+
apiVersion: "apps/v1"
19+
{{- if .Values.controller.dynamicClusterDistribution }}
20+
kind: Deployment
21+
{{- else }}
22+
kind: StatefulSet
23+
{{- end }}
24+
name: {{ template "argo-cd.controller.fullname" . }}
25+
updatePolicy:
26+
updateMode: {{ .Values.controller.vpa.updateMode }}
27+
resourcePolicy:
28+
containerPolicies:
29+
- containerName: {{ .Values.controller.name }}
30+
{{ with .Values.controller.vpa.containerPolicy }}
31+
{{- toYaml . | nindent 6 }}
32+
{{- end }}
33+
{{- end }}

charts/argo-cd/values.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,31 @@ controller:
817817
## Has higher precedence over `controller.pdb.minAvailable`
818818
maxUnavailable: ""
819819

820+
## Application controller Vertical Pod Autoscaler
821+
## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/
822+
vpa:
823+
# -- Deploy a [VerticalPodAutoscaler](https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically/) for the application controller
824+
enabled: false
825+
# -- Labels to be added to application controller vpa
826+
labels: {}
827+
# -- Annotations to be added to application controller vpa
828+
annotations: {}
829+
# -- One of the VPA operation modes
830+
## Ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/#scaling-workloads-vertically
831+
## Note: Recreate update mode requires more than one replica unless the min-replicas VPA controller flag is overridden
832+
updateMode: Initial
833+
# -- Controls how VPA computes the recommended resources for application controller container
834+
## Ref: https://github.com/kubernetes/autoscaler/blob/master/vertical-pod-autoscaler/examples/hamster.yaml
835+
containerPolicy: {}
836+
# controlledResources: ["cpu", "memory"]
837+
# minAllowed:
838+
# cpu: 250m
839+
# memory: 256Mi
840+
# maxAllowed:
841+
# cpu: 1
842+
# memory: 1Gi
843+
844+
820845
## Application controller image
821846
image:
822847
# -- Repository to use for the application controller

0 commit comments

Comments
 (0)