@@ -178,46 +178,60 @@ resource "helm_release" "external_secrets_operator" {
178178 wait = true
179179 repository = var. eso_chart_location
180180
181- set {
181+ set = [ {
182182 name = " image.repository"
183183 type = " string"
184184 value = var.eso_image
185- }
186-
187- set {
188- name = " image.tag"
189- type = " string"
190- value = var.eso_image_version
191- }
192-
193- set {
194- name = " webhook.image.repository"
195- type = " string"
196- value = var.eso_image
197- }
198-
199- set {
200- name = " webhook.image.tag"
201- type = " string"
202- value = var.eso_image_version
203- }
204-
205- set {
206- name = " certController.image.repository"
207- type = " string"
208- value = var.eso_image
209- }
210-
211- set {
212- name = " certController.image.tag"
213- type = " string"
214- value = var.eso_image_version
215- }
185+ },
186+ {
187+ name = " image.tag"
188+ type = " string"
189+ value = var.eso_image_version
190+ },
191+ {
192+ name = " webhook.image.repository"
193+ type = " string"
194+ value = var.eso_image
195+ },
196+ {
197+ name = " webhook.image.tag"
198+ type = " string"
199+ value = var.eso_image_version
200+ },
201+ {
202+ name = " certController.image.repository"
203+ type = " string"
204+ value = var.eso_image
205+ },
206+ {
207+ name = " certController.image.tag"
208+ type = " string"
209+ value = var.eso_image_version
210+ }]
216211
217212 # The following mounts are needed for the CRI based authentication with Trusted Profiles
218213 values = [local . eso_helm_release_values_cri , local . eso_helm_release_values_workerselector ]
219214}
220215
216+ locals {
217+ reloader_namespaces_to_ignore = var. reloader_namespaces_to_ignore != null ? [{
218+ name = " reloader.namespacesToIgnore"
219+ value = var.reloader_namespaces_to_ignore
220+ }] : []
221+ reloader_resources_to_ignore = var. reloader_resources_to_ignore != null ? [{
222+ name = " reloader.resourcesToIgnore"
223+ value = var.reloader_resources_to_ignore
224+ }] : []
225+ reloader_is_openshift = var. reloader_is_openshift ? [{
226+ name = " reloader.deployment.securityContext.runAsUser"
227+ value = " null"
228+ }] : []
229+ reloader_log_format = var. reloader_log_format == " json" ? [{
230+ name = " reloader.logFormat"
231+ value = var.reloader_log_format
232+ }] : []
233+ }
234+
221235resource "helm_release" "pod_reloader" {
222236 depends_on = [module . eso_namespace , data . kubernetes_namespace . existing_eso_namespace ]
223237 count = var. reloader_deployed == true ? 1 : 0
@@ -228,100 +242,68 @@ resource "helm_release" "pod_reloader" {
228242 version = var. reloader_chart_version
229243 wait = true
230244
231- set {
232- name = " image.repository"
233- type = " string"
234- value = var.reloader_image
235- }
236-
237- set {
238- name = " image.tag"
239- type = " string"
240- value = var.reloader_image_version
241- }
242-
243- # Set reload strategy
244- set {
245- name = " reloader.reloadStrategy"
246- type = " string"
247- value = var.reloader_reload_strategy
248- }
249-
250- # Set namespaces to ignore
251- dynamic "set" {
252- for_each = var. reloader_namespaces_to_ignore != null ? [1 ] : []
253- content {
254- name = " reloader.namespacesToIgnore"
255- value = var. reloader_namespaces_to_ignore
256- }
257- }
258-
259- # Set resources to ignore
260- dynamic "set" {
261- for_each = var. reloader_resources_to_ignore != null ? [1 ] : []
262- content {
263- name = " reloader.resourcesToIgnore"
264- value = var. reloader_resources_to_ignore
265- }
266- }
267-
268- # Set watchGlobally based on conditions
269- set {
270- name = " reloader.watchGlobally"
271- value = var.reloader_namespaces_selector == null && var.reloader_resource_label_selector == null ? true : false
272- }
273-
274- # Set ignoreSecrets and ignoreConfigMaps
275- set {
276- name = " reloader.ignoreSecrets"
277- value = var.reloader_ignore_secrets
278- }
279-
280- set {
281- name = " reloader.ignoreConfigMaps"
282- value = var.reloader_ignore_configmaps
283- }
284-
285- # Set OpenShift and Argo Rollouts options
286- set {
287- name = " reloader.isOpenshift"
288- value = var.reloader_is_openshift
289- }
290- # Set runAsUser to null if isOpenShift is true
291- dynamic "set" {
292- for_each = var. reloader_is_openshift ? [1 ] : []
293- content {
294- name = " reloader.deployment.securityContext.runAsUser"
295- value = " null"
296- }
297- }
298-
299- set {
300- name = " reloader.podMonitor.enabled"
301- value = var.reloader_pod_monitor_metrics
302- }
303- dynamic "set" {
304- for_each = var. reloader_log_format == " json" ? [1 ] : []
305- content {
306- name = " reloader.logFormat"
307- value = var. reloader_log_format
245+ set = concat ([
246+ {
247+ name = " image.repository"
248+ type = " string"
249+ value = var.reloader_image
250+ },
251+ {
252+ name = " image.tag"
253+ type = " string"
254+ value = var.reloader_image_version
255+ },
256+ # Set reload strategy
257+ {
258+ name = " reloader.reloadStrategy"
259+ type = " string"
260+ value = var.reloader_reload_strategy
261+ },
262+ # Set watchGlobally based on conditions
263+ {
264+ name = " reloader.watchGlobally"
265+ value = var.reloader_namespaces_selector == null && var.reloader_resource_label_selector == null ? true : false
266+ },
267+ # Set ignoreSecrets and ignoreConfigMaps
268+ {
269+ name = " reloader.ignoreSecrets"
270+ value = var.reloader_ignore_secrets
271+ },
272+ {
273+ name = " reloader.ignoreConfigMaps"
274+ value = var.reloader_ignore_configmaps
275+ },
276+ # Set OpenShift and Argo Rollouts options
277+ {
278+ name = " reloader.isOpenshift"
279+ value = var.reloader_is_openshift
280+ },
281+ {
282+ name = " reloader.podMonitor.enabled"
283+ value = var.reloader_pod_monitor_metrics
284+ },
285+ {
286+ name = " reloader.isArgoRollouts"
287+ value = var.reloader_is_argo_rollouts
288+ },
289+ # Set reloadOnCreate and syncAfterRestart options
290+ {
291+ name = " reloader.reloadOnCreate"
292+ value = var.reloader_reload_on_create
293+ },
294+ {
295+ name = " reloader.syncAfterRestart"
296+ value = var.reloader_sync_after_restart
308297 }
309- }
310- set {
311- name = " reloader.isArgoRollouts"
312- value = var.reloader_is_argo_rollouts
313- }
314-
315- # Set reloadOnCreate and syncAfterRestart options
316- set {
317- name = " reloader.reloadOnCreate"
318- value = var.reloader_reload_on_create
319- }
320-
321- set {
322- name = " reloader.syncAfterRestart"
323- value = var.reloader_sync_after_restart
324- }
298+ ],
299+ # Set namespaces to ignore
300+ local. reloader_namespaces_to_ignore ,
301+ # Set resources to ignore
302+ local. reloader_resources_to_ignore ,
303+ # Set runAsUser to null if isOpenShift is true
304+ local. reloader_is_openshift ,
305+ local. reloader_log_format
306+ )
325307
326308 # Set the values attribute conditionally
327309 values = var. reloader_custom_values != null ? yamldecode (var. reloader_custom_values ) : []
0 commit comments