feat(argo-cd): Add ability to handle cluster credentials (#632)
* feat(argo-cd): Add ability to handle cluster credentials Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> * Apply review changes Co-authored-by: Oliver Bähler <oliverbaehler@hotmail.com> Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> * fix: use stringData in cluster secret Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com> Co-authored-by: Oliver Bähler <oliverbaehler@hotmail.com> Co-authored-by: Spencer Gilbert <Spencer.Gilbert@gmail.com>
This commit is contained in:
parent
4b9c281711
commit
84120e6da3
4 changed files with 48 additions and 1 deletions
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||||
appVersion: 2.0.0
|
appVersion: 2.0.0
|
||||||
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
description: A Helm chart for ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||||
name: argo-cd
|
name: argo-cd
|
||||||
version: 3.0.0
|
version: 3.1.0
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
|
icon: https://raw.githubusercontent.com/argoproj/argo/master/docs/assets/argo.png
|
||||||
keywords:
|
keywords:
|
||||||
|
|
|
@ -80,6 +80,7 @@ Helm v3 has removed the `install-crds` hook so CRDs are now populated by files i
|
||||||
| global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | `[]` |
|
| global.hostAliases | Mapping between IP and hostnames that will be injected as entries in the pod's hosts files | `[]` |
|
||||||
| nameOverride | Provide a name in place of `argocd` | `"argocd"` |
|
| nameOverride | Provide a name in place of `argocd` | `"argocd"` |
|
||||||
| installCRDs | Install CRDs if you are using Helm2. | `true` |
|
| installCRDs | Install CRDs if you are using Helm2. | `true` |
|
||||||
|
| configs.clusterCredentials | Provide one or multiple [external cluster credentials](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters) | `[]` (See [values.yaml](values.yaml)) |
|
||||||
| configs.knownHostsAnnotations | Known Hosts configmap annotations | `{}` |
|
| configs.knownHostsAnnotations | Known Hosts configmap annotations | `{}` |
|
||||||
| configs.knownHosts.data.ssh_known_hosts | Known Hosts | See [values.yaml](values.yaml) |
|
| configs.knownHosts.data.ssh_known_hosts | Known Hosts | See [values.yaml](values.yaml) |
|
||||||
| configs.secret.annotations | Annotations for argocd-secret | `{}` |
|
| configs.secret.annotations | Annotations for argocd-secret | `{}` |
|
||||||
|
|
23
charts/argo-cd/templates/argocd-configs/cluster-secrets.yaml
Normal file
23
charts/argo-cd/templates/argocd-configs/cluster-secrets.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{{- range .Values.configs.clusterCredentials }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "argo-cd.name" $ }}-cluster-{{ .name }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-cd.labels" (dict "context" $) | nindent 4 }}
|
||||||
|
argocd.argoproj.io/secret-type: cluster
|
||||||
|
{{- with .annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
name: {{ required "A valid .Values.configs.clusterCredentials[].name entry is required!" .name }}
|
||||||
|
server: {{ required "A valid .Values.configs.clusterCredentials[].server entry is required!" .server }}
|
||||||
|
{{- with .namespaces }}
|
||||||
|
namespaces: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
config: |
|
||||||
|
{{- required "A valid .Values.configs.clusterCredentials[].config entry is required!" .config | toPrettyJson | nindent 4 }}
|
||||||
|
{{- end }}
|
|
@ -872,6 +872,29 @@ repoServer:
|
||||||
|
|
||||||
## Argo Configs
|
## Argo Configs
|
||||||
configs:
|
configs:
|
||||||
|
## External Cluster Credentials
|
||||||
|
## reference:
|
||||||
|
## - https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#clusters
|
||||||
|
## - https://argoproj.github.io/argo-cd/operator-manual/security/#external-cluster-credentials
|
||||||
|
clusterCredentials: []
|
||||||
|
# - name: mycluster
|
||||||
|
# server: https://mycluster.com
|
||||||
|
# annotations: {}
|
||||||
|
# config:
|
||||||
|
# bearerToken: "<authentication token>"
|
||||||
|
# tlsClientConfig:
|
||||||
|
# insecure: false
|
||||||
|
# caData: "<base64 encoded certificate>"
|
||||||
|
# - name: mycluster2
|
||||||
|
# server: https://mycluster2.com
|
||||||
|
# annotations: {}
|
||||||
|
# namespaces: namespace1,namespace2
|
||||||
|
# config:
|
||||||
|
# bearerToken: "<authentication token>"
|
||||||
|
# tlsClientConfig:
|
||||||
|
# insecure: false
|
||||||
|
# caData: "<base64 encoded certificate>"
|
||||||
|
|
||||||
knownHostsAnnotations: {}
|
knownHostsAnnotations: {}
|
||||||
knownHosts:
|
knownHosts:
|
||||||
data:
|
data:
|
||||||
|
|
Loading…
Reference in a new issue