1
+ {{- if .Values.controller.deployment }}
2
+ apiVersion : apps/v1
3
+ kind : Deployment
4
+ metadata :
5
+ labels :
6
+ app.kubernetes.io/name : argocd-application-controller
7
+ app.kubernetes.io/part-of : argocd
8
+ app.kubernetes.io/component : application-controller
9
+ name : argocd-application-controller
10
+ namespace : {{ .Release.Namespace }}
11
+ spec :
12
+ selector :
13
+ matchLabels :
14
+ app.kubernetes.io/name : argocd-application-controller
15
+ replicas : 1
16
+ template :
17
+ metadata :
18
+ labels :
19
+ app.kubernetes.io/name : argocd-application-controller
20
+ spec :
21
+ containers :
22
+ - args :
23
+ - /usr/local/bin/argocd-application-controller
24
+ {{- with .Values.controller.extraArgs }}
25
+ {{- . | toYaml | nindent 8 }}
26
+ {{- end }}
27
+ {{- with .Values.controller.resources }}
28
+ resources :
29
+ {{- toYaml . | nindent 10 }}
30
+ {{- end }}
31
+ env :
32
+ {{- with .Values.controller.env }}
33
+ {{- toYaml . | nindent 10 }}
34
+ {{- end }}
35
+ - name : REDIS_PASSWORD
36
+ valueFrom :
37
+ secretKeyRef :
38
+ key : auth
39
+ name : argocd-redis
40
+ - name : ARGOCD_RECONCILIATION_TIMEOUT
41
+ valueFrom :
42
+ configMapKeyRef :
43
+ name : argocd-cm
44
+ key : timeout.reconciliation
45
+ optional : true
46
+ - name : ARGOCD_HARD_RECONCILIATION_TIMEOUT
47
+ valueFrom :
48
+ configMapKeyRef :
49
+ name : argocd-cm
50
+ key : timeout.hard.reconciliation
51
+ optional : true
52
+ - name : ARGOCD_RECONCILIATION_JITTER
53
+ valueFrom :
54
+ configMapKeyRef :
55
+ key : timeout.reconciliation.jitter
56
+ name : argocd-cm
57
+ optional : true
58
+ - name : ARGOCD_REPO_ERROR_GRACE_PERIOD_SECONDS
59
+ valueFrom :
60
+ configMapKeyRef :
61
+ name : argocd-cmd-params-cm
62
+ key : controller.repo.error.grace.period.seconds
63
+ optional : true
64
+ - name : ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER
65
+ valueFrom :
66
+ configMapKeyRef :
67
+ name : argocd-cmd-params-cm
68
+ key : repo.server
69
+ optional : true
70
+ - name : ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_TIMEOUT_SECONDS
71
+ valueFrom :
72
+ configMapKeyRef :
73
+ name : argocd-cmd-params-cm
74
+ key : controller.repo.server.timeout.seconds
75
+ optional : true
76
+ - name : ARGOCD_APPLICATION_CONTROLLER_STATUS_PROCESSORS
77
+ valueFrom :
78
+ configMapKeyRef :
79
+ name : argocd-cmd-params-cm
80
+ key : controller.status.processors
81
+ optional : true
82
+ - name : ARGOCD_APPLICATION_CONTROLLER_OPERATION_PROCESSORS
83
+ valueFrom :
84
+ configMapKeyRef :
85
+ name : argocd-cmd-params-cm
86
+ key : controller.operation.processors
87
+ optional : true
88
+ - name : ARGOCD_APPLICATION_CONTROLLER_LOGFORMAT
89
+ valueFrom :
90
+ configMapKeyRef :
91
+ name : argocd-cmd-params-cm
92
+ key : controller.log.format
93
+ optional : true
94
+ - name : ARGOCD_APPLICATION_CONTROLLER_LOGLEVEL
95
+ valueFrom :
96
+ configMapKeyRef :
97
+ name : argocd-cmd-params-cm
98
+ key : controller.log.level
99
+ optional : true
100
+ - name : ARGOCD_APPLICATION_CONTROLLER_METRICS_CACHE_EXPIRATION
101
+ valueFrom :
102
+ configMapKeyRef :
103
+ name : argocd-cmd-params-cm
104
+ key : controller.metrics.cache.expiration
105
+ optional : true
106
+ - name : ARGOCD_APPLICATION_CONTROLLER_SELF_HEAL_TIMEOUT_SECONDS
107
+ valueFrom :
108
+ configMapKeyRef :
109
+ name : argocd-cmd-params-cm
110
+ key : controller.self.heal.timeout.seconds
111
+ optional : true
112
+ - name : ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_PLAINTEXT
113
+ valueFrom :
114
+ configMapKeyRef :
115
+ name : argocd-cmd-params-cm
116
+ key : controller.repo.server.plaintext
117
+ optional : true
118
+ - name : ARGOCD_APPLICATION_CONTROLLER_REPO_SERVER_STRICT_TLS
119
+ valueFrom :
120
+ configMapKeyRef :
121
+ name : argocd-cmd-params-cm
122
+ key : controller.repo.server.strict.tls
123
+ optional : true
124
+ - name : ARGOCD_APPLICATION_CONTROLLER_PERSIST_RESOURCE_HEALTH
125
+ valueFrom :
126
+ configMapKeyRef :
127
+ name : argocd-cmd-params-cm
128
+ key : controller.resource.health.persist
129
+ optional : true
130
+ - name : ARGOCD_APP_STATE_CACHE_EXPIRATION
131
+ valueFrom :
132
+ configMapKeyRef :
133
+ name : argocd-cmd-params-cm
134
+ key : controller.app.state.cache.expiration
135
+ optional : true
136
+ - name : REDIS_SERVER
137
+ valueFrom :
138
+ configMapKeyRef :
139
+ name : argocd-cmd-params-cm
140
+ key : redis.server
141
+ optional : true
142
+ - name : REDIS_COMPRESSION
143
+ valueFrom :
144
+ configMapKeyRef :
145
+ name : argocd-cmd-params-cm
146
+ key : redis.compression
147
+ optional : true
148
+ - name : REDISDB
149
+ valueFrom :
150
+ configMapKeyRef :
151
+ name : argocd-cmd-params-cm
152
+ key : redis.db
153
+ optional : true
154
+ - name : ARGOCD_DEFAULT_CACHE_EXPIRATION
155
+ valueFrom :
156
+ configMapKeyRef :
157
+ name : argocd-cmd-params-cm
158
+ key : controller.default.cache.expiration
159
+ optional : true
160
+ - name : ARGOCD_APPLICATION_CONTROLLER_OTLP_ADDRESS
161
+ valueFrom :
162
+ configMapKeyRef :
163
+ name : argocd-cmd-params-cm
164
+ key : otlp.address
165
+ optional : true
166
+ - name : ARGOCD_APPLICATION_CONTROLLER_OTLP_INSECURE
167
+ valueFrom :
168
+ configMapKeyRef :
169
+ name : argocd-cmd-params-cm
170
+ key : otlp.insecure
171
+ optional : true
172
+ - name : ARGOCD_APPLICATION_CONTROLLER_OTLP_HEADERS
173
+ valueFrom :
174
+ configMapKeyRef :
175
+ name : argocd-cmd-params-cm
176
+ key : otlp.headers
177
+ optional : true
178
+ - name : ARGOCD_APPLICATION_NAMESPACES
179
+ valueFrom :
180
+ configMapKeyRef :
181
+ name : argocd-cmd-params-cm
182
+ key : application.namespaces
183
+ optional : true
184
+ - name : ARGOCD_CONTROLLER_SHARDING_ALGORITHM
185
+ valueFrom :
186
+ configMapKeyRef :
187
+ name : argocd-cmd-params-cm
188
+ key : controller.sharding.algorithm
189
+ optional : true
190
+ - name : ARGOCD_APPLICATION_CONTROLLER_KUBECTL_PARALLELISM_LIMIT
191
+ valueFrom :
192
+ configMapKeyRef :
193
+ name : argocd-cmd-params-cm
194
+ key : controller.kubectl.parallelism.limit
195
+ optional : true
196
+ - name : ARGOCD_K8SCLIENT_RETRY_MAX
197
+ valueFrom :
198
+ configMapKeyRef :
199
+ name : argocd-cmd-params-cm
200
+ key : controller.k8sclient.retry.max
201
+ optional : true
202
+ - name : ARGOCD_K8SCLIENT_RETRY_BASE_BACKOFF
203
+ valueFrom :
204
+ configMapKeyRef :
205
+ name : argocd-cmd-params-cm
206
+ key : controller.k8sclient.retry.base.backoff
207
+ optional : true
208
+ - name : ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
209
+ valueFrom :
210
+ configMapKeyRef :
211
+ name : argocd-cmd-params-cm
212
+ key : controller.diff.server.side
213
+ optional : true
214
+ image : {{ include "argo-cd.image" (dict "root" . "image" .Values.controller.image ) }}
215
+ imagePullPolicy : {{ default .Values.global.image.pullPolicy .Values.controller.image.pullPolicy }}
216
+ name : argocd-application-controller
217
+ ports :
218
+ - containerPort : 8082
219
+ readinessProbe :
220
+ httpGet :
221
+ path : /healthz
222
+ port : 8082
223
+ initialDelaySeconds : 5
224
+ periodSeconds : 10
225
+ securityContext :
226
+ runAsNonRoot : true
227
+ readOnlyRootFilesystem : true
228
+ allowPrivilegeEscalation : false
229
+ capabilities :
230
+ drop :
231
+ - ALL
232
+ seccompProfile :
233
+ type : RuntimeDefault
234
+ workingDir : /home/argocd
235
+ volumeMounts :
236
+ {{- with .Values.controller.volumeMounts }}
237
+ {{- toYaml . | nindent 8 }}
238
+ {{- end }}
239
+ - name : argocd-repo-server-tls
240
+ mountPath : /app/config/controller/tls
241
+ - name : argocd-home
242
+ mountPath : /home/argocd
243
+ - name : argocd-cmd-params-cm
244
+ mountPath : /home/argocd/params
245
+ serviceAccountName : argocd-application-controller
246
+ affinity :
247
+ podAntiAffinity :
248
+ preferredDuringSchedulingIgnoredDuringExecution :
249
+ - weight : 100
250
+ podAffinityTerm :
251
+ labelSelector :
252
+ matchLabels :
253
+ app.kubernetes.io/name : argocd-application-controller
254
+ topologyKey : kubernetes.io/hostname
255
+ - weight : 5
256
+ podAffinityTerm :
257
+ labelSelector :
258
+ matchLabels :
259
+ app.kubernetes.io/part-of : argocd
260
+ topologyKey : kubernetes.io/hostname
261
+ volumes :
262
+ {{- with .Values.controller.volumes }}
263
+ {{- toYaml . | nindent 6}}
264
+ {{- end }}
265
+ - emptyDir : {}
266
+ name : argocd-home
267
+ - name : argocd-repo-server-tls
268
+ secret :
269
+ secretName : argocd-repo-server-tls
270
+ optional : true
271
+ items :
272
+ - key : tls.crt
273
+ path : tls.crt
274
+ - key : tls.key
275
+ path : tls.key
276
+ - key : ca.crt
277
+ path : ca.crt
278
+ - name : argocd-cmd-params-cm
279
+ configMap :
280
+ optional : true
281
+ name : argocd-cmd-params-cm
282
+ items :
283
+ - key : controller.profile.enabled
284
+ path : profiler.enabled
285
+ nodeSelector :
286
+ kubernetes.io/os : linux
287
+ {{- end }}
0 commit comments