mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-opentofu-private.git
synced 2025-10-27 15:53:06 +00:00
Update proxmox.tf
This commit is contained in:
32
proxmox.tf
32
proxmox.tf
@ -36,24 +36,40 @@ resource "proxmox_virtual_environment_file" "cloud_init_yaml" {
|
|||||||
|
|
||||||
|
|
||||||
locals {
|
locals {
|
||||||
rendered_yaml = templatefile("${path.module}/cloud-init-vm.yaml.tftpl", {
|
rendered_yaml_per_vm ={
|
||||||
# Aqui colocas as variáveis que o template precisa
|
for vm in var.proxmox_k8s_vms : vm.name =>
|
||||||
hostname = "vm-k8s"
|
templatefile("${path.module}/cloud-init-vm.yaml.tftpl", {
|
||||||
fqdn = "vm-k8s.local"
|
# Aqui colocas as variáveis que o template precisa
|
||||||
# Adiciona mais conforme necessário
|
hostname = "vm-k8s"
|
||||||
})
|
fqdn = "vm-k8s.local"
|
||||||
|
# Adiciona mais conforme necessário
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
data "external" "merged_yaml" {
|
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"]
|
program = ["python3", "${path.module}/merge_yaml.py"]
|
||||||
|
|
||||||
query = {
|
query = {
|
||||||
file1 = "${path.module}/cloud-init-base.yaml"
|
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
|
# Gerar um snippet cloud-init por VM
|
||||||
resource "proxmox_virtual_environment_file" "vm_user_data" {
|
resource "proxmox_virtual_environment_file" "vm_user_data" {
|
||||||
for_each = { for vm in var.proxmox_k8s_vms : vm.name => vm }
|
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"
|
content_type = "snippets"
|
||||||
source_raw {
|
source_raw {
|
||||||
file_name = "cloud-init-iac-k8s-${each.key}.yaml"
|
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"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user