Update proxmox.tf

This commit is contained in:
2025-08-27 10:25:15 +00:00
parent 08f2896c85
commit 9fd88af475

View File

@ -36,24 +36,40 @@ resource "proxmox_virtual_environment_file" "cloud_init_yaml" {
locals {
rendered_yaml = templatefile("${path.module}/cloud-init-vm.yaml.tftpl", {
rendered_yaml_per_vm ={
for vm in var.proxmox_k8s_vms : vm.name =>
templatefile("${path.module}/cloud-init-vm.yaml.tftpl", {
# Aqui colocas as variáveis que o template precisa
hostname = "vm-k8s"
fqdn = "vm-k8s.local"
# Adiciona mais conforme necessário
})
}
}
data "external" "merged_yaml" {
for_each = { for vm in var.proxmox_k8s_vms : vm.name => vm }
depends_on = [local_file.rendered_yaml_file]
program = ["python3", "${path.module}/merge_yaml.py"]
query = {
file1 = "${path.module}/cloud-init-base.yaml"
file2 = local.rendered_yaml
file2 = "${path.module}/cloud-init-extra-${each.key}.yaml"
}
}
resource "local_file" "rendered_yaml_file" {
for_each = { for vm in var.proxmox_k8s_vms : vm.name => vm }
content = local.rendered_yaml_per_vm[each.key]
filename = "${path.module}/cloud-init-extra-${each.key}.yaml"
}
# Gerar um snippet cloud-init por VM
resource "proxmox_virtual_environment_file" "vm_user_data" {
for_each = { for vm in var.proxmox_k8s_vms : vm.name => vm }
@ -63,7 +79,7 @@ resource "proxmox_virtual_environment_file" "vm_user_data" {
content_type = "snippets"
source_raw {
file_name = "cloud-init-iac-k8s-${each.key}.yaml"
data = data.external.merged_yaml.result["merged_yaml"]
data = data.external.merged_yaml[each.key].result["merged_yaml"]
}
}