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-application-controller/servicemonitor.yaml b/charts/argo-cd/templates/argocd-application-controller/servicemonitor.yaml index c820e3bb..3fb538e3 100644 --- a/charts/argo-cd/templates/argocd-application-controller/servicemonitor.yaml +++ b/charts/argo-cd/templates/argocd-application-controller/servicemonitor.yaml @@ -13,7 +13,9 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.controller.name }} + {{- if .Values.controller.metrics.serviceMonitor.selector }} {{- toYaml .Values.controller.metrics.serviceMonitor.selector | nindent 4 }} + {{- end }} {{- if .Values.controller.metrics.serviceMonitor.additionalLabels }} {{- toYaml .Values.controller.metrics.serviceMonitor.additionalLabels | nindent 4 }} {{- end }} @@ -29,4 +31,5 @@ spec: matchLabels: app.kubernetes.io/name: {{ include "argo-cd.name" . }}-metrics app.kubernetes.io/component: {{ .Values.controller.name }} -{{- end }} \ No newline at end of file +{{- end }} + diff --git a/charts/argo-cd/templates/argocd-configs/argocd-secret.yaml b/charts/argo-cd/templates/argocd-configs/argocd-secret.yaml index 6d4c3901..ba9e6627 100644 --- a/charts/argo-cd/templates/argocd-configs/argocd-secret.yaml +++ b/charts/argo-cd/templates/argocd-configs/argocd-secret.yaml @@ -11,17 +11,31 @@ metadata: app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.server.name }} type: Opaque -{{- if or .Values.configs.secret.githubSecret (or .Values.configs.secret.gitlabSecret .Values.configs.secret.bitbucketSecret) }} +{{- if or .Values.configs.secret.githubSecret (or .Values.configs.secret.gitlabSecret .Values.configs.secret.bitbucketUUID .Values.configs.secret.bitbucketServerSecret .Values.configs.secret.gogsSecret .Values.configs.secret.argocdServerAdminPassword .Values.configs.secret.argocdServerTlsConfig) }} # Setting a blank data again will wipe admin password/key/cert data: {{- if .Values.configs.secret.githubSecret }} - github.webhook.secret: {{ .Values.configs.secret.githubSecret | b64enc }} + webhook.github.secret: {{ .Values.configs.secret.githubSecret | b64enc }} {{- end }} {{- if .Values.configs.secret.gitlabSecret }} - gitlab.webhook.secret: {{ .Values.configs.secret.gitlabSecret | b64enc }} + webhook.gitlab.secret: {{ .Values.configs.secret.gitlabSecret | b64enc }} {{- end }} - {{- if .Values.configs.secret.bitbucketSecret }} - bitbucket.webhook.uuid: {{ .Values.configs.secret.bitbucketSecret | b64enc }} + {{- if .Values.configs.secret.bitbucketServerSecret }} + webhook.bitbucketserver.secret: {{ .Values.configs.secret.bitbucketServerSecret | b64enc }} + {{- end }} + {{- if .Values.configs.secret.bitbucketUUID }} + webhook.bitbucket.uuid: {{ .Values.configs.secret.bitbucketUUID | b64enc }} + {{- end }} + {{- if .Values.configs.secret.gogsSecret }} + webhook.gogs.secret: {{ .Values.configs.secret.gogsSecret | b64enc }} + {{- end }} + {{- if .Values.configs.secret.argocdServerTlsConfig }} + tls.key: {{ .Values.configs.secret.argocdServerTlsConfig.key | b64enc }} + tls.crt: {{ .Values.configs.secret.argocdServerTlsConfig.crt | b64enc }} + {{- end }} + {{- if .Values.configs.secret.argocdServerAdminPassword }} + admin.password: {{ .Values.configs.secret.argocdServerAdminPassword | b64enc }} + admin.passwordMtime: {{ date "2006-01-02T15:04:05Z" now | b64enc }} {{- end }} {{- end }} -{{- 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 0908b053..0c66a115 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 8}} @@ -123,4 +127,4 @@ spec: {{- if .Values.repoServer.initContainers }} initContainers: {{- toYaml .Values.repoServer.initContainers | nindent 6 }} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/argo-cd/templates/argocd-repo-server/servicemonitor.yaml b/charts/argo-cd/templates/argocd-repo-server/servicemonitor.yaml index bd064f17..c07769f9 100644 --- a/charts/argo-cd/templates/argocd-repo-server/servicemonitor.yaml +++ b/charts/argo-cd/templates/argocd-repo-server/servicemonitor.yaml @@ -13,7 +13,9 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.repoServer.name }} + {{- if .Values.repoServer.metrics.serviceMonitor.selector }} {{- toYaml .Values.repoServer.metrics.serviceMonitor.selector | nindent 4 }} + {{- end }} {{- if .Values.repoServer.metrics.serviceMonitor.additionalLabels }} {{- toYaml .Values.repoServer.metrics.serviceMonitor.additionalLabels | nindent 4 }} {{- end }} @@ -30,4 +32,5 @@ spec: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/name: {{ template "argo-cd.repoServer.fullname" . }}-metrics app.kubernetes.io/component: {{ .Values.repoServer.name }} -{{- end }} \ No newline at end of file +{{- end }} + diff --git a/charts/argo-cd/templates/argocd-server/certificate.yaml b/charts/argo-cd/templates/argocd-server/certificate.yaml index 3c190c1d..246519f6 100644 --- a/charts/argo-cd/templates/argocd-server/certificate.yaml +++ b/charts/argo-cd/templates/argocd-server/certificate.yaml @@ -14,11 +14,11 @@ spec: commonName: {{ .Values.server.certificate.domain | quote }} dnsNames: - {{ .Values.server.certificate.domain | quote }} - {{- range .Values.ingress.additionalHosts }} + {{- range .Values.server.certificate.additionalHosts }} - {{ . | quote }} {{- end }} issuerRef: - kind: {{ .Values.certificate.issuer.kind | quote }} - name: {{ .Values.certificate.issuer.name | quote }} + kind: {{ .Values.server.certificate.issuer.kind | quote }} + name: {{ .Values.server.certificate.issuer.name | quote }} secretName: argocd-secret {{- 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/argocd-server/servicemonitor.yaml b/charts/argo-cd/templates/argocd-server/servicemonitor.yaml index 6d995ff7..7be1f2f4 100644 --- a/charts/argo-cd/templates/argocd-server/servicemonitor.yaml +++ b/charts/argo-cd/templates/argocd-server/servicemonitor.yaml @@ -13,7 +13,9 @@ metadata: app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/part-of: argocd app.kubernetes.io/component: {{ .Values.server.name }} + {{- if .Values.server.metrics.serviceMonitor.selector }} {{- toYaml .Values.server.metrics.serviceMonitor.selector | nindent 4 }} + {{- end }} {{- if .Values.server.metrics.serviceMonitor.additionalLabels }} {{- toYaml .Values.server.metrics.serviceMonitor.additionalLabels | nindent 4 }} {{- end }} @@ -30,4 +32,5 @@ spec: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/name: {{ include "argo-cd.name" . }}-{{ .Values.server.name }}-metrics app.kubernetes.io/component: {{ .Values.server.name }} -{{- 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 dbc0a23a..0b7f2ae7 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 @@ -627,6 +647,25 @@ configs: # -----END RSA PRIVATE KEY----- secret: createSecret: true + + # Webhook Configs githubSecret: "" gitlabSecret: "" - bitbucketSecret: "" + bitbucketServerSecret: "" + bitbucketUUÌD: "" + gogsSecret: "" + +# Argo TLS Data. + argocdServerTlsConfig: {} + # key: + # crt: | + # -----BEGIN CERTIFICATE----- + # + # -----END CERTIFICATE----- + # -----BEGIN CERTIFICATE----- + # + # -----END CERTIFICATE----- + + # Argo expects the password in the secret to be bcrypt hashed. You can create this hash with + # `htpasswd -nbBC 10 "" $ARGO_PWD | tr -d ':\n' | sed 's/$2y/$2a/'` + # argocdServerAdminPassword: