From 3a2c9800441fc485055b7fc35e6dc3fd9852a56d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Depriester?= Date: Fri, 6 Dec 2019 00:50:47 +0100 Subject: [PATCH] [charts/argo-cd] add support of custom environment variables (#181) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Léo Depriester * Fix controller env path * Updating chart bump to patch as this is a backwards compatible change --- charts/argo-cd/Chart.yaml | 2 +- charts/argo-cd/README.md | 5 +++++ .../deployment.yaml | 6 +++++- .../argocd-repo-server/deployment.yaml | 6 +++++- .../templates/argocd-server/deployment.yaml | 6 +++++- charts/argo-cd/templates/dex/deployment.yaml | 4 ++++ .../argo-cd/templates/redis/deployment.yaml | 5 +++++ charts/argo-cd/values.yaml | 20 +++++++++++++++++++ 8 files changed, 50 insertions(+), 4 deletions(-) diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index 6979e530..ffef11df 100644 --- a/charts/argo-cd/Chart.yaml +++ b/charts/argo-cd/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.3.0" description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes. name: argo-cd -version: 1.4.0 +version: 1.4.1 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png keywords: diff --git a/charts/argo-cd/README.md b/charts/argo-cd/README.md index 4cb50706..830dceca 100644 --- a/charts/argo-cd/README.md +++ b/charts/argo-cd/README.md @@ -50,6 +50,7 @@ $ helm install --name my-release argo/argo-cd | controller.clusterAdminAccess.enabled | Enable RBAC for local cluster deployments. | `true` | | controller.containerPort | Controller listening port. | `8082` | | controller.extraArgs | Additional arguments for the controller. A list of key:value pairs | `[]` | +| controller.env | Environment variables for the controller. | `[]` | | controller.image.repository | Repository to use for the controller | `global.image.repository` | | controller.image.imagePullPolicy | Image pull policy for the controller | `global.image.imagePullPolicy` | | controller.image.tag | Tag to use for the controller | `global.image.tag` | @@ -92,6 +93,7 @@ $ helm install --name my-release argo/argo-cd | repoServer.affinity | Assign custom affinity rules to the deployment https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | `{}` | | repoServer.containerPort | Repo server port | `8081` | | repoServer.extraArgs | Additional arguments for the repo server. A list of key:value pairs. | `[]` | +| repoServer.env | Environment variables for the repo server. | `[]` | | repoServer.image.repository | Repository to use for the repo server | `global.image.repository` | | repoServer.image.imagePullPolicy | Image pull policy for the repo server | `global.image.imagePullPolicy` | | repoServer.image.tag | Tag to use for the repo server | `global.image.tag` | @@ -137,6 +139,7 @@ $ helm install --name my-release argo/argo-cd | server.config | URL for Argo CD | `{}` | | server.containerPort | Server container port. | `8080` | | server.extraArgs | Additional arguments for the server. A list of key:value pairs. | `[]` | +| server.env | Environment variables for the server. | `[]` | | server.image.repository | Repository to use for the server | `global.image.repository` | | server.image.imagePullPolicy | Image pull policy for the server | `global.image.imagePullPolicy` | | server.image.tag | Tag to use for the repo server | `global.image.tag` | @@ -197,6 +200,7 @@ $ helm install --name my-release argo/argo-cd | dex.initImage.imagePullPolicy | Argo CD init image imagePullPolicy | `global.image.imagePullPolicy` | | dex.initImage.tag | Argo CD init image tag | `global.image.tag` | | dex.name | Dex name | `"dex-server"` | +| dex.env | Environment variables for the Dex server. | `[]` | | dex.nodeSelector | Dex node selector https://kubernetes.io/docs/user-guide/node-selection/ | `{}` | | dex.priorityClassName | Priority class for dex | `""` | | dex.resources | Resource limits and requests for dex | `{}` | @@ -219,6 +223,7 @@ $ helm install --name my-release argo/argo-cd | redis.image.repository | Redis repository | `"redis"` | | redis.image.tag | Redis tag | `"5.0.3"` | | redis.name | Redis name | `"redis"` | +| redis.env | Environment variables for the Redis server. | `[]` | | redis.nodeSelector | Redis node selector https://kubernetes.io/docs/user-guide/node-selection/ | `{}` | | redis.priorityClassName | Priority class for redis | `""` | | redis.resources | Resource limits and requests for redis | `{}` | diff --git a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml index a1ca4eb0..12189424 100644 --- a/charts/argo-cd/templates/argocd-application-controller/deployment.yaml +++ b/charts/argo-cd/templates/argocd-application-controller/deployment.yaml @@ -60,6 +60,10 @@ spec: image: {{ default .Values.global.image.repository .Values.controller.image.repository }}:{{ default .Values.global.image.tag .Values.controller.image.tag }} imagePullPolicy: {{ default .Values.global.image.imagePullPolicy .Values.controller.image.imagePullPolicy }} name: {{ .Values.controller.name }} + {{- if .Values.controller.env }} + env: +{{- toYaml .Values.controller.env | nindent 8 }} + {{- end }} ports: - name: controller containerPort: {{ .Values.controller.containerPort }} @@ -103,4 +107,4 @@ spec: {{- if .Values.controller.volumes }} volumes: {{- toYaml .Values.controller.volumes | nindent 8 }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml index ea9ccfab..91df20fd 100644 --- a/charts/argo-cd/templates/argocd-repo-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/deployment.yaml @@ -54,6 +54,10 @@ spec: - --{{ $key }} {{- end }} {{- end }} + {{- if .Values.repoServer.env }} + env: +{{- toYaml .Values.repoServer.env | nindent 8 }} + {{- end }} volumeMounts: {{- if .Values.repoServer.volumeMounts }} {{- toYaml .Values.repoServer.volumeMounts | nindent 10}} @@ -119,4 +123,4 @@ spec: - configMap: name: argocd-tls-certs-cm name: tls-certs - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/argo-cd/templates/argocd-server/deployment.yaml b/charts/argo-cd/templates/argocd-server/deployment.yaml index f2d10b84..5b728d5e 100644 --- a/charts/argo-cd/templates/argocd-server/deployment.yaml +++ b/charts/argo-cd/templates/argocd-server/deployment.yaml @@ -62,6 +62,10 @@ spec: - --{{ $key }} {{- end }} {{- end }} + {{- if .Values.server.env }} + env: +{{- toYaml .Values.server.env | nindent 8 }} + {{- end }} volumeMounts: {{- if .Values.server.volumeMounts }} {{- toYaml .Values.server.volumeMounts | nindent 10}} @@ -131,4 +135,4 @@ spec: - configMap: name: argocd-tls-certs-cm name: tls-certs - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/argo-cd/templates/dex/deployment.yaml b/charts/argo-cd/templates/dex/deployment.yaml index 6cddafcb..e46018c8 100644 --- a/charts/argo-cd/templates/dex/deployment.yaml +++ b/charts/argo-cd/templates/dex/deployment.yaml @@ -43,6 +43,10 @@ spec: command: - /shared/argocd-util - rundex + {{- if .Values.dex.env }} + env: +{{- toYaml .Values.dex.env | nindent 8 }} + {{- end }} ports: - name: http containerPort: {{ .Values.dex.containerPortHttp }} diff --git a/charts/argo-cd/templates/redis/deployment.yaml b/charts/argo-cd/templates/redis/deployment.yaml index df4983e1..87d6a024 100644 --- a/charts/argo-cd/templates/redis/deployment.yaml +++ b/charts/argo-cd/templates/redis/deployment.yaml @@ -34,9 +34,14 @@ spec: - "no" image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }} imagePullPolicy: {{ .Values.redis.image.imagePullPolicy}} + {{- if .Values.redis.env }} + env: +{{- toYaml .Values.redis.env | nindent 8 }} + {{- end }} ports: - containerPort: {{ .Values.redis.containerPort }} {{- if .Values.redis.volumeMounts }} + volumeMounts: {{- toYaml .Values.redis.volumeMounts | nindent 10 }} {{- end }} diff --git a/charts/argo-cd/values.yaml b/charts/argo-cd/values.yaml index 5af2ad69..b4d65554 100644 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -34,6 +34,10 @@ controller: ## key: value extraArgs: [] + ## Environment variables to pass to argocd-controller + ## + env: [] + ## Annotations to be added to controller pods ## podAnnotations: {} @@ -127,6 +131,10 @@ dex: tag: imagePullPolicy: + ## Environment variables to pass to the Dex server + ## + env: [] + serviceAccount: create: true name: argocd-dex-server @@ -177,6 +185,10 @@ redis: containerPort: 6379 servicePort: 6379 + ## Environment variables to pass to the Redis server + ## + env: [] + ## Node selectors and tolerations for server scheduling to nodes with taints ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ ## @@ -212,6 +224,10 @@ server: # insecure: true extraArgs: [] + ## Environment variables to pass to argocd-server + ## + env: [] + ## Argo server log level logLevel: info @@ -442,6 +458,10 @@ repoServer: ## key: value extraArgs: [] + ## Environment variables to pass to argocd-repo-server + ## + env: [] + ## Argo repoServer log level logLevel: info