From a216874980b41e7bd29d1251c18d647e02abc6b3 Mon Sep 17 00:00:00 2001 From: fenix-gitea-admin Date: Wed, 27 Aug 2025 09:08:39 +0000 Subject: [PATCH 1/2] Update proxmox.tf --- proxmox.tf | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/proxmox.tf b/proxmox.tf index 677e46c..9efd92a 100644 --- a/proxmox.tf +++ b/proxmox.tf @@ -47,18 +47,25 @@ resource "proxmox_virtual_environment_file" "vm_user_data" { source_raw { file_name = "cloud-init-iac-k8s-${each.key}.yaml" data = yamlencode( - local.deep_merge( - [ - yamldecode(file("${path.module}/cloud-init-base.yaml")), - yamldecode(templatefile("${path.module}/cloud-init-vm.yaml.tftpl", { - extra_packages = try(each.value.extra_packages, []), - extra_users = try(each.value.extra_users, []), - extra_runcmd = try(each.value.extra_runcmd, []), - })) - ] + merge( + yamldecode(file("${path.module}/cloud-init-base.yaml")), + { + packages = concat( + try(yamldecode(file("${path.module}/cloud-init-base.yaml")).packages, []), + try(each.value.extra_packages, []) + ), + users = concat( + try(yamldecode(file("${path.module}/cloud-init-base.yaml")).users, []), + try(each.value.extra_users, []) + ), + runcmd = concat( + try(yamldecode(file("${path.module}/cloud-init-base.yaml")).runcmd, []), + try(each.value.extra_runcmd, []) + ) + } ) ) - } + } locals { From f0dcae1694c2702576110f4b91d914e7b62dae48 Mon Sep 17 00:00:00 2001 From: fenix-gitea-admin Date: Wed, 27 Aug 2025 09:09:04 +0000 Subject: [PATCH 2/2] Update proxmox.tf --- proxmox.tf | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/proxmox.tf b/proxmox.tf index 9efd92a..c4badc8 100644 --- a/proxmox.tf +++ b/proxmox.tf @@ -68,29 +68,6 @@ resource "proxmox_virtual_environment_file" "vm_user_data" { } -locals { - deep_merge = function("deep_merge", [any, any], any, <<-EOT - base, override = args - result = {} - for k in setunion(keys(base), keys(override)) { - if can(base[k]) && can(override[k]) { - if type(base[k]) == list && type(override[k]) == list { - result[k] = concat(base[k], override[k]) - } else if type(base[k]) == map && type(override[k]) == map { - result[k] = deep_merge(base[k], override[k]) - } else { - result[k] = override[k] - } - } else if can(override[k]) { - result[k] = override[k] - } else { - result[k] = base[k] - } - } - return result - EOT - ) -} resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {