Helm chart for ArgoCD (#34)

* Add application controller resources

First chart version for argo-cd
added the new labels recommeneded for k8

* Add repo server resources

Use legacy label and new one for application controller selectors
Set labels for deployment for easier discovery

* Configure git repositories, helm chart museums and dex connectors

This way argo-cd could be configured to update itself via helm

* Parameterize the rbac configmap

* Parameterize webhook secrets

* Parameterize server deployment and set services with the labels

* Add service account, role and rolebinding for server deployment

* Clean the old label, use only latest recommendations

Follow the ideas and changes of https://github.com/argoproj/argo-cd/pull/1035

* Fix var naming issues

* Fix server service incorrect ports

* Install crds with helm hook

* Enable cluster admin accessby default

Default installation will allow installing apps in the current cluster without
inputted credentials. For other clusters inputted credentials will be needed

* Parameterize the dex server

* Harcode resource names because code expects them this way

Some resource names and application urls are hardcoded in code with these
names. So they can't be parameterized.

* Create the ingress with tls passthrough support

Tls is terminated on the ArgoCD server, not on ingress

* Fix typo on application controller sa

* Add notes on how to connect to server UI after installation
This commit is contained in:
Liviu Costea 2019-02-14 00:22:11 +02:00 committed by Jesse Suen
parent 1fbc076882
commit db30d36879
32 changed files with 859 additions and 0 deletions

View file

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: argocd-application-controller
labels:
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
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: {{ include "argo-cd.name" . }}
app.kubernetes.io/component: application-controller
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "argo-cd.name" . }}-application-controller
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: {{ include "argo-cd.name" . }}
app.kubernetes.io/component: application-controller
spec:
containers:
- command:
- argocd-application-controller
- --status-processors
- "20"
- --operation-processors
- "10"
image: {{ .Values.applicationController.image.repository }}:{{ .Values.applicationController.image.tag }}
imagePullPolicy: {{ .Values.applicationController.image.pullPolicy }}
name: argocd-application-controller
ports:
- containerPort: {{ .Values.applicationController.containerPort }}
readinessProbe:
tcpSocket:
port: {{ .Values.applicationController.containerPort }}
initialDelaySeconds: 5
periodSeconds: 10
serviceAccountName: argocd-application-controller