argocd-helm/charts/argo-cd/templates/argocd-application-controller-deployment.yaml
Noah Goldman a7db20ebe2 argo-cd: Add volume parameters to Deployments (#58)
This adds new parameters to each Deployment in the argo-cd chart,
allowing users to specify custom volumes to mount.  This makes it
possible to use a Git repository self-signed certificates by manually
adding a "known_hosts" file, as recommended in the documentation:
https://argoproj.github.io/argo-cd/user-guide/private-repositories/

"volumes" and "volumeMounts" parameters are added to each Deployment,
with defaults set to empty.

This change was tested by templating the chart with default parameters,
and by templating it with volume mounts specified for each service.
2019-04-30 07:55:14 -07:00

51 lines
2 KiB
YAML
Executable file

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
volumeMounts:
{{- if .Values.applicationController.volumeMounts }}
{{ toYaml .Values.applicationController.volumeMounts | nindent 8 | trim }}
{{- end }}
serviceAccountName: argocd-application-controller
volumes:
{{- if .Values.applicationController.volumes }}
{{ toYaml .Values.applicationController.volumes | nindent 6 | trim }}
{{- end }}