@@ -258,7 +258,56 @@ locals {
258258 } : {}
259259 }
260260
261- merged_helm_values = merge (local. default_helm_values , var. helm_values )
261+ default_operator = lookup (local. default_helm_values , " operator" , {})
262+ user_operator = lookup (var. helm_values , " operator" , {})
263+
264+ default_storage = lookup (local. default_helm_values , " storage" , {})
265+ user_storage = lookup (var. helm_values , " storage" , {})
266+
267+ default_tls = lookup (local. default_helm_values , " tls" , {})
268+ user_tls = lookup (var. helm_values , " tls" , {})
269+
270+ # Deep merge for operator block
271+ merged_operator = merge (
272+ local. default_operator ,
273+ local. user_operator ,
274+ {
275+ clusters = merge (lookup (local. default_operator , " clusters" , {}), lookup (local. user_operator , " clusters" , {}))
276+ image = merge (lookup (local. default_operator , " image" , {}), lookup (local. user_operator , " image" , {}))
277+ cloudProvider = merge (lookup (local. default_operator , " cloudProvider" , {}), lookup (local. user_operator , " cloudProvider" , {}))
278+ }
279+ )
280+
281+ # Deep merge for storage block
282+ merged_storage = merge (
283+ local. default_storage ,
284+ local. user_storage ,
285+ {
286+ storageClass = merge (lookup (local. default_storage , " storageClass" , {}), lookup (local. user_storage , " storageClass" , {}))
287+ }
288+ )
289+
290+ # Deep merge for tls block
291+ merged_tls = merge (
292+ local. default_tls ,
293+ local. user_tls ,
294+ length (local. default_tls ) > 0 ? {
295+ defaultCertificateSpecs = merge (
296+ lookup (local. default_tls , " defaultCertificateSpecs" , {}),
297+ lookup (local. user_tls , " defaultCertificateSpecs" , {})
298+ )
299+ } : {}
300+ )
301+
302+ merged_helm_values = merge (
303+ local. default_helm_values ,
304+ var. helm_values ,
305+ {
306+ operator = local.merged_operator
307+ storage = local.merged_storage
308+ tls = local.merged_tls
309+ }
310+ )
262311
263312 instances = [
264313 for instance in var . materialize_instances : {
0 commit comments