diff --git a/CODEOWNERS b/CODEOWNERS index 28539881..a4ca6084 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,7 +1,7 @@ # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners # Argo CD -/charts/argo-cd @seanson +/charts/argo-cd @seanson @spencergilbert # Argo Events /charts/argo-events @jbehling diff --git a/charts/argo-cd/Chart.yaml b/charts/argo-cd/Chart.yaml index f3e351ec..6979e530 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.2.1 +version: 1.4.0 home: https://github.com/argoproj/argo-helm icon: https://raw.githubusercontent.com/argoproj/argo/master/argo.png keywords: 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/repository-credentials-secret.yaml b/charts/argo-cd/templates/argocd-repo-server/repository-credentials-secret.yaml new file mode 100644 index 00000000..aed7700f --- /dev/null +++ b/charts/argo-cd/templates/argocd-repo-server/repository-credentials-secret.yaml @@ -0,0 +1,18 @@ +{{- if .Values.configs.repositoryCredentials }} +apiVersion: v1 +kind: Secret +metadata: + name: argocd-repository-credentials + labels: + app.kubernetes.io/name: {{ include "argo-cd.name" . }}-secret + 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 }} +type: Opaque +data: +{{- range $key, $value := .Values.configs.repositoryCredentials }} + {{ $key }}: {{ $value | b64enc }} +{{- end }} +{{- end }} \ No newline at end of file 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/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/values.yaml b/charts/argo-cd/values.yaml index 19ace947..5af2ad69 100644 --- a/charts/argo-cd/values.yaml +++ b/charts/argo-cd/values.yaml @@ -31,7 +31,7 @@ controller: logLevel: info ## Additional command line arguments to pass to argocd-controller - ## - key: value + ## key: value extraArgs: [] ## Annotations to be added to controller pods @@ -207,9 +207,9 @@ server: imagePullPolicy: # IfNotPresent ## Additional command line arguments to pass to argocd-server - ## - key: value + ## key: value # extraArgs: [] - # - insecure: true + # insecure: true extraArgs: [] ## Argo server log level @@ -439,7 +439,7 @@ repoServer: imagePullPolicy: # IfNotPresent ## Additional command line arguments to pass to argocd-repo-server - ## - key: value + ## key: value extraArgs: [] ## Argo repoServer log level @@ -584,8 +584,46 @@ configs: # +LB9LGh4OAp68ImTjqf6ioGKG0RBSznwME+r4nXtT1S/qLR6ASWUS4ViWRhbRlNK # XWyb96wrUlv+E8I= # -----END CERTIFICATE----- + # Creates a secret with optional repository credentials + repositoryCredentials: + {} + # sample-ssh-key: | + # -----BEGIN RSA PRIVATE KEY----- + # MIICXAIBAAKBgQCcmiVJXGUvL8zqWmRRETbCKgFadtjJ9WDQpSwiZzMiktpYBo0N + # z0cThzGQfWqvdiJYEy72MrKCaSYssV3eHP5zTffk4VBDktNfdl1kgkOpqnh7tQO4 + # nBONRLzcK6KEbKUsmiTbW8Jb4UFYDhyyyveby7y3vYePmaRQIrlEenVfKwIDAQAB + # AoGAbbg+WZjnt9jYzHWKhZX29LDzg8ty9oT6URT4yB3gIOAdJMFqQHuyg8cb/e0x + # O0AcrfK623oHwgEj4vpeFwnfaBdtM5GfH9zaj6pnXV7VZc3oBHrBnHUgFT3NEYUe + # tt6rtatIguBH61Aj/pyij9sOfF0xDj0s1nwFTbdHtZR/31kCQQDIwcVTqhKkDNW6 + # cvdz+Wt3v9x1wNg+VhZhyA/pKILz3+qtn3GogLrQqhpVi+Y7tdvEv9FvgKaCjUp8 + # 6Lfp6dDFAkEAx7HpQbXFdrtcveOi9kosKRDX1PT4zdhB08jAXGlV8jr0jkrZazVM + # hV5rVCuu35Vh6x1fiyGwwiVsqhgWE+KPLwJAWrDemasM/LsnmjDxhJy6ZcBwsWlK + # xu5Q8h9UwLmiXtVayNBsofh1bGpLtzWZ7oN7ImidDkgJ8JQvgDoJS0xrGQJBALPJ + # FkMFnrjtqGqBVkc8shNqyZY90v6oM2OzupO4dht2PpUZCDPAMZtlTWXjSjabbCPc + # NxexBk1UmkdtFftjHxsCQGjG+nhRYH92MsmrbvZyFzgxg9SIOu6xel7D3Dq9l5Le + # XG+bpHPF4SiCpAxthP5WNa17zuvk+CDsMZgZNuhYNMo= + # -----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: