From c2d9c8125863a5290d1715e14c2fbff7fd3886d2 Mon Sep 17 00:00:00 2001 From: Takeshi Nakata Date: Mon, 27 Apr 2020 09:14:23 +0900 Subject: [PATCH 1/7] feat: add BackendConfig configuration for GKE (#314) * add BackendConfig configuration * update chart version * modify sample secretName --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 2 ++ .../templates/argocd-server/backendconfig.yaml | 15 +++++++++++++++ charts/argo-cd/values.yaml | 10 ++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 charts/argo-cd/templates/argocd-server/backendconfig.yaml diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index b671caf3..e7863f8f 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.5.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.2.8 +version: 2.2.9 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index adfe7004..ab6bc3b7 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -183,6 +183,8 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | server.autoscaling.maxReplicas | Maximum number of replicas for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `5` | | server.autoscaling.targetCPUUtilizationPercentage | Average CPU utilization percentage for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` | | server.autoscaling.targetMemoryUtilizationPercentage | Average memory utilization percentage for the server [HPA](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/) | `50` | +| server.GKEbackendConfig.enabled | Enable BackendConfig custom resource for Google Kubernetes Engine. | `false` | +| server.GKEbackendConfig.spec | [BackendConfigSpec](https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig#backendconfigspec_v1beta1_cloudgooglecom) | `{}` | | server.certificate.additionalHosts | Certificate manager additional hosts | `[]` | | server.certificate.domain | Certificate manager domain | `"argocd.example.com"` | | server.certificate.enabled | Enables a certificate manager certificate. | `false` | diff --git a/charts/argo-cd/templates/argocd-server/backendconfig.yaml b/charts/argo-cd/templates/argocd-server/backendconfig.yaml new file mode 100644 index 00000000..279b3487 --- /dev/null +++ b/charts/argo-cd/templates/argocd-server/backendconfig.yaml @@ -0,0 +1,15 @@ +{{- if .Values.server.GKEbackendConfig.enabled }} +apiVersion: cloud.google.com/v1beta1 +kind: BackendConfig +metadata: + name: {{ template "argo-cd.server.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }} + helm.sh/chart: {{ include "argo-cd.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/part-of: argocd + app.kubernetes.io/component: {{ .Values.server.name }} +spec: + {{- toYaml .Values.server.GKEbackendConfig.spec | nindent 2 }} +{{- end }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index c666453b..682a96f7 100755 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -561,6 +561,16 @@ server: clusterAdminAccess: enabled: true + ## Enable BackendConfig custom resource for Google Kubernetes Engine + GKEbackendConfig: + enabled: false + spec: {} + # spec: + # iap: + # enabled: true + # oauthclientCredentials: + # secretName: argocd-secret + ## Repo Server repoServer: name: repo-server From d0ea218b78a554bf63a2a31ead9e4bc73df7ea5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandru=20=28Alex=29=20Chiri=C8=9Bescu?= Date: Tue, 28 Apr 2020 07:22:52 +0200 Subject: [PATCH 2/7] fix: update argo-cd insecure example in README.md (#279) * fix: update argo-cd insecure example in README.md The docs updated in #265 give a wrong example in the README.md on how to configure the `--insecure` flag: it shows it to be done on the controller, when it should be configured on the server. * Bump chart version --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index e7863f8f..36f5b235 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.5.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.2.9 +version: 2.2.10 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index ab6bc3b7..3858ba73 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -19,9 +19,8 @@ This chart currently installs the non-HA version of ArgoCD. `controller.extraArgs`, `repoServer.extraArgs` and `server.extraArgs` are not arrays of strings intead of a map What was - ```yaml -controller: +server: extraArgs: insecure: "" ``` @@ -29,7 +28,7 @@ controller: is now ```yaml -controller: +server: extraArgs: - --insecure ``` From 28e2d8d31b3c99aaedacf5645470964aac1abf09 Mon Sep 17 00:00:00 2001 From: Johannes Date: Tue, 28 Apr 2020 17:05:11 +0200 Subject: [PATCH 3/7] Fix usage of openshift.enabled flag (#325) Currently the `openshift.enabled` flag causes the repo server to have an invalid command argument. It's also not documented yet. Signed-off-by: Johannes Siebel --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 1 + charts/argo-cd/templates/argocd-repo-server/deployment.yaml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 36f5b235..700b8582 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.5.2" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 2.2.10 +version: 2.2.11 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index 3858ba73..f991b464 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -78,6 +78,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i | configs.secret.gitlabSecret | GitLab incoming webhook secret | `""` | | configs.tlsCerts.data."argocd.example.com" | TLS certificate | See [values.yaml](values.yaml) | | configs.secret.extra | add additional secrets to be added to argocd-secret | `{}` | +| openshift.enabled | enables using arbitrary uid for argo repo server | `false` | ## ArgoCD Controller diff --git a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index e38dd84e..9268cc65 100755 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -52,10 +52,10 @@ spec: image: {{ default .Values.global.image.repository .Values.repoServer.image.repository }}:{{ default .Values.global.image.tag .Values.repoServer.image.tag }} imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.repoServer.image.imagePullPolicy }} command: - - argocd-repo-server {{- if .Values.openshift.enabled }} - uid_entrypoint.sh {{- end }} + - argocd-repo-server {{- if or (and .Values.redis.enabled (not $redisHa.enabled)) (and $redisHa.enabled $redisHa.haproxy.enabled) }} - --redis - {{ template "argo-cd.redis.fullname" . }}:{{ .Values.redis.servicePort }} From 9fd023b6e4c7cb3fce91e62a8916a562ce890cd2 Mon Sep 17 00:00:00 2001 From: Stefan Sedich Date: Tue, 28 Apr 2020 09:54:03 -0700 Subject: [PATCH 4/7] chore: Updating CODEOWNERS for Argo Workflows (#326) --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 50d3195b..4e0014f8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,7 +7,7 @@ /charts/argo-events @jbehling # Argo Workflows -/charts/argo @benjaminws +/charts/argo @benjaminws @stefansedich # Argo Rollouts /charts/argo-rollouts @cabrinha From 3baf6c81c745738724e35a134722cdbe6591b394 Mon Sep 17 00:00:00 2001 From: Vlad Losev Date: Tue, 28 Apr 2020 10:15:23 -0700 Subject: [PATCH 5/7] feat: Adds support for workflow defaults in Argo. (#319) --- charts/argo/Chart.yaml | 2 +- charts/argo/templates/workflow-controller-config-map.yaml | 3 +++ charts/argo/values.yaml | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index 4a5e626b..be222ee9 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v2.6.1" description: A Helm chart for Argo Workflows name: argo -version: 0.7.5 +version: 0.7.6 icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo/templates/workflow-controller-config-map.yaml b/charts/argo/templates/workflow-controller-config-map.yaml index 712e4fd5..305428de 100644 --- a/charts/argo/templates/workflow-controller-config-map.yaml +++ b/charts/argo/templates/workflow-controller-config-map.yaml @@ -49,3 +49,6 @@ data: {{- if .Values.controller.persistence }} persistence: {{ toYaml .Values.controller.persistence | indent 6 }}{{- end }} + {{- if .Values.controller.workflowDefaults }} + workflowDefaults: +{{ toYaml .Values.controller.workflowDefaults | indent 6 }}{{- end }} diff --git a/charts/argo/values.yaml b/charts/argo/values.yaml index 4e68c27e..8346d84a 100644 --- a/charts/argo/values.yaml +++ b/charts/argo/values.yaml @@ -47,6 +47,10 @@ controller: # passwordSecret: # name: argo-postgres-config # key: password + workflowDefaults: {} # Only valid for 2.7+ + # spec: + # ttlStrategy: + # secondsAfterCompletion: 84600 telemetryConfig: enabled: false path: /telemetry From 5add526d0c67c9b00d64d9a315fe3902e2a6f59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Prud=27homme?= Date: Wed, 29 Apr 2020 22:01:00 +0200 Subject: [PATCH 6/7] feat: upgrade Argo to v2.7.6 (#296) --- charts/argo/Chart.yaml | 4 ++-- charts/argo/templates/server-deployment.yaml | 1 + charts/argo/values.yaml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index be222ee9..46e747a5 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "v2.6.1" +appVersion: "v2.7.6" description: A Helm chart for Argo Workflows name: argo -version: 0.7.6 +version: 0.8.0 icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo/templates/server-deployment.yaml b/charts/argo/templates/server-deployment.yaml index bbf82dd1..1d716c35 100644 --- a/charts/argo/templates/server-deployment.yaml +++ b/charts/argo/templates/server-deployment.yaml @@ -31,6 +31,7 @@ spec: - name: argo-server args: - server + - --configmap={{ .Release.Name }}-{{ .Values.controller.name }}-configmap {{- if .Values.server.extraArgs }} {{- toYaml .Values.server.extraArgs | nindent 10 }} {{- end }} diff --git a/charts/argo/values.yaml b/charts/argo/values.yaml index 8346d84a..8cbf4542 100644 --- a/charts/argo/values.yaml +++ b/charts/argo/values.yaml @@ -4,7 +4,7 @@ images: server: argocli executor: argoexec pullPolicy: Always - tag: v2.6.1 + tag: v2.7.6 crdVersion: v1alpha1 installCRD: true From 1135b1ef18cbc6e4b29f2d91a40c6d2292b97c8d Mon Sep 17 00:00:00 2001 From: Pablo Osinaga Date: Wed, 29 Apr 2020 22:36:58 +0200 Subject: [PATCH 7/7] fix: Argo Server Secrets Permissions (#307) Grant permissions to workflow-controller and server roles to read database secrets --- charts/argo/Chart.yaml | 2 +- charts/argo/templates/server-cluster-role.yaml | 11 +++++++++++ .../workflow-controller-clusterrole.yaml | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/charts/argo/Chart.yaml b/charts/argo/Chart.yaml index 46e747a5..a7e383f2 100644 --- a/charts/argo/Chart.yaml +++ b/charts/argo/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "v2.7.6" description: A Helm chart for Argo Workflows name: argo -version: 0.8.0 +version: 0.8.1 icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm maintainers: diff --git a/charts/argo/templates/server-cluster-role.yaml b/charts/argo/templates/server-cluster-role.yaml index fbf8d044..0d8103f2 100644 --- a/charts/argo/templates/server-cluster-role.yaml +++ b/charts/argo/templates/server-cluster-role.yaml @@ -28,12 +28,23 @@ rules: - get - list - watch +{{- if .Values.controller.persistence }} - apiGroups: - "" resources: - secrets + resourceNames: + {{- if .Values.controller.persistence.postgresql }} + - {{ .Values.controller.persistence.postgresql.userNameSecret.name }} + - {{ .Values.controller.persistence.postgresql.passwordSecret.name }} + {{- end}} + {{- if .Values.controller.persistence.mysql }} + - {{ .Values.controller.persistence.mysql.userNameSecret.name }} + - {{ .Values.controller.persistence.mysql.passwordSecret.name }} + {{- end}} verbs: - get +{{- end}} - apiGroups: - argoproj.io resources: diff --git a/charts/argo/templates/workflow-controller-clusterrole.yaml b/charts/argo/templates/workflow-controller-clusterrole.yaml index 8df46229..2511c1a3 100644 --- a/charts/argo/templates/workflow-controller-clusterrole.yaml +++ b/charts/argo/templates/workflow-controller-clusterrole.yaml @@ -78,4 +78,22 @@ rules: verbs: - get - list +{{- if .Values.controller.persistence }} +- apiGroups: + - "" + resources: + - secrets + resourceNames: + {{- if .Values.controller.persistence.postgresql }} + - {{ .Values.controller.persistence.postgresql.userNameSecret.name }} + - {{ .Values.controller.persistence.postgresql.passwordSecret.name }} + {{- end}} + {{- if .Values.controller.persistence.mysql }} + - {{ .Values.controller.persistence.mysql.userNameSecret.name }} + - {{ .Values.controller.persistence.mysql.passwordSecret.name }} + {{- end}} + verbs: + - get +{{- end}} +