feat(argo-cd): Support annotations in argocd-configs secrets (#1314)

* feat(argo-cd): support annotations in argocd-configs secrets
Signed-off-by: yu-croco <yuki.kita22@gmail.com>

* fix(argo-cd): align to exitsing format

Signed-off-by: yu-croco <yuki.kita22@gmail.com>
This commit is contained in:
Aikawa 2022-06-08 15:03:58 +09:00 committed by GitHub
parent 66638628b0
commit 1e689a4356
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 25 additions and 2 deletions

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v2.3.4 appVersion: v2.3.4
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes. description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
name: argo-cd name: argo-cd
version: 4.8.2 version: 4.8.3
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
keywords: keywords:
@ -21,4 +21,4 @@ dependencies:
condition: redis-ha.enabled condition: redis-ha.enabled
annotations: annotations:
artifacthub.io/changes: | artifacthub.io/changes: |
- "[Added]: Support separate imagePullSecrets" - "[Added]: Support annotations in argocd-configs secrets"

View file

@ -213,11 +213,13 @@ NAME: my-release
| apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart | | apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart |
| configs.clusterCredentials | list | `[]` (See [values.yaml]) | Provide one or multiple [external cluster credentials] | | configs.clusterCredentials | list | `[]` (See [values.yaml]) | Provide one or multiple [external cluster credentials] |
| configs.credentialTemplates | object | `{}` | Repository credentials to be used as Templates for other repos | | configs.credentialTemplates | object | `{}` | Repository credentials to be used as Templates for other repos |
| configs.credentialTemplatesAnnotations | object | `{}` | Annotations to be added to `configs.credentialTemplates` Secret |
| configs.gpgKeys | object | `{}` (See [values.yaml]) | [GnuPG](https://argoproj.github.io/argo-cd/user-guide/gpg-verification/) keys to add to the key ring | | configs.gpgKeys | object | `{}` (See [values.yaml]) | [GnuPG](https://argoproj.github.io/argo-cd/user-guide/gpg-verification/) keys to add to the key ring |
| configs.gpgKeysAnnotations | object | `{}` | GnuPG key ring annotations | | configs.gpgKeysAnnotations | object | `{}` | GnuPG key ring annotations |
| configs.knownHosts.data.ssh_known_hosts | string | See [values.yaml] | Known Hosts | | configs.knownHosts.data.ssh_known_hosts | string | See [values.yaml] | Known Hosts |
| configs.knownHostsAnnotations | object | `{}` | Known Hosts configmap annotations | | configs.knownHostsAnnotations | object | `{}` | Known Hosts configmap annotations |
| configs.repositories | object | `{}` | Repositories list to be used by applications | | configs.repositories | object | `{}` | Repositories list to be used by applications |
| configs.repositoriesAnnotations | object | `{}` | Annotations to be added to `configs.repositories` Secret |
| configs.repositoryCredentials | object | `{}` | *DEPRECATED:* Instead, use `configs.credentialTemplates` and/or `configs.repositories` | | configs.repositoryCredentials | object | `{}` | *DEPRECATED:* Instead, use `configs.credentialTemplates` and/or `configs.repositories` |
| configs.secret.annotations | object | `{}` | Annotations to be added to argocd-secret | | configs.secret.annotations | object | `{}` | Annotations to be added to argocd-secret |
| configs.secret.argocdServerAdminPassword | string | `""` | Bcrypt hashed admin password | | configs.secret.argocdServerAdminPassword | string | `""` | Bcrypt hashed admin password |
@ -716,6 +718,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
| externalRedis.host | string | `""` | External Redis server host | | externalRedis.host | string | `""` | External Redis server host |
| externalRedis.password | string | `""` | External Redis password | | externalRedis.password | string | `""` | External Redis password |
| externalRedis.port | int | `6379` | External Redis server port | | externalRedis.port | int | `6379` | External Redis server port |
| externalRedis.secretAnnotations | object | `{}` | External Redis Secret annotations |
## ApplicationSet ## ApplicationSet

View file

@ -5,6 +5,10 @@ metadata:
name: {{ template "argo-cd.redis.fullname" . }} name: {{ template "argo-cd.redis.fullname" . }}
labels: labels:
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
{{- with .Values.externalRedis.secretAnnotations }}
annotations:
{{- toYaml . | nindent 4}}
{{- end }}
type: Opaque type: Opaque
data: data:
redis-password: {{ .Values.externalRedis.password | b64enc }} redis-password: {{ .Values.externalRedis.password | b64enc }}

View file

@ -7,6 +7,10 @@ metadata:
labels: labels:
argocd.argoproj.io/secret-type: repo-creds argocd.argoproj.io/secret-type: repo-creds
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
{{- with $.Values.configs.credentialTemplatesAnnotations }}
annotations:
{{- toYaml . | nindent 4}}
{{- end }}
data: data:
{{- range $key, $value := $repo_cred_value }} {{- range $key, $value := $repo_cred_value }}
{{ $key }}: {{ $value | toString | b64enc }} {{ $key }}: {{ $value | toString | b64enc }}

View file

@ -7,6 +7,10 @@ metadata:
labels: labels:
argocd.argoproj.io/secret-type: repository argocd.argoproj.io/secret-type: repository
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }} {{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
{{- with $.Values.configs.repositoriesAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
data: data:
{{- range $key, $value := $repo_value }} {{- range $key, $value := $repo_value }}
{{ $key }}: {{ $value | b64enc }} {{ $key }}: {{ $value | b64enc }}

View file

@ -845,6 +845,8 @@ externalRedis:
# -- The name of an existing secret with Redis credentials (must contain key `redis-password`). # -- The name of an existing secret with Redis credentials (must contain key `redis-password`).
# When it's set, the `externalRedis.password` parameter is ignored # When it's set, the `externalRedis.password` parameter is ignored
existingSecret: "" existingSecret: ""
# -- External Redis Secret annotations
secretAnnotations: {}
## Server ## Server
server: server:
@ -1878,6 +1880,9 @@ configs:
# ... # ...
# -----END OPENSSH PRIVATE KEY----- # -----END OPENSSH PRIVATE KEY-----
# -- Annotations to be added to `configs.credentialTemplates` Secret
credentialTemplatesAnnotations: {}
# -- Repositories list to be used by applications # -- Repositories list to be used by applications
## Creates a secret for each key/value specified below to create repositories ## Creates a secret for each key/value specified below to create repositories
## Note: the last example in the list would use a repository credential template, configured under "configs.repositoryCredentials". ## Note: the last example in the list would use a repository credential template, configured under "configs.repositoryCredentials".
@ -1895,6 +1900,9 @@ configs:
# private-repo: # private-repo:
# url: https://github.com/argoproj/private-repo # url: https://github.com/argoproj/private-repo
# -- Annotations to be added to `configs.repositories` Secret
repositoriesAnnotations: {}
secret: secret:
# -- Create the argocd-secret # -- Create the argocd-secret
createSecret: true createSecret: true