From 93d3f94100a01c307119b7be17e1ec93041230b1 Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Thu, 17 Apr 2025 22:24:54 +0100 Subject: [PATCH 1/2] terraform fmt --- terraform/cloud-init.tf | 67 +++----------------------- terraform/files/cloud_init_global.yaml | 9 ++++ terraform/main.tf | 5 +- 3 files changed, 19 insertions(+), 62 deletions(-) create mode 100644 terraform/files/cloud_init_global.yaml diff --git a/terraform/cloud-init.tf b/terraform/cloud-init.tf index 6a99e5a..5da7d32 100644 --- a/terraform/cloud-init.tf +++ b/terraform/cloud-init.tf @@ -1,68 +1,15 @@ -### Alpaca cloud-init template -data "template_file" "cloud_init_alpaca" { - count = var.alpaca_vm_count - template = file("${path.module}/files/cloud_init.yaml") +### Global cloud-init template (for all VMs) + +data "template_file" "cloud_init_global" { + template = file("${path.module}/files/cloud_init_base.yaml") vars = { - hostname = "alpaca-${count.index + 1}" - domain = "home.arpa" TS_AUTHKEY = var.TS_AUTHKEY } } - -resource "local_file" "cloud_init_alpaca" { - count = var.alpaca_vm_count - content = data.template_file.cloud_init_alpaca[count.index].rendered - filename = "${path.module}/files/cloud_init_alpaca_${count.index + 1}.yaml" +resource "local_file" "cloud_init_global" { + content = data.template_file.cloud_init_global.rendered + filename = "${path.module}/files/cloud_init_global.yaml" } -#resource "null_resource" "upload_cloud_init_alpaca" { -# count = var.alpaca_vm_count -# -# connection { -# type = "ssh" -# user = "root" -# host = var.target_node -# } -# -# provisioner "file" { -# source = local_file.cloud_init_alpaca[count.index].filename -# destination = "/var/lib/vz/snippets/cloud_init_alpaca_${count.index + 1}.yaml" -# } -#} - -### Llama cloud-init template -data "template_file" "cloud_init_llama" { - count = var.llama_vm_count - template = file("${path.module}/files/cloud_init.yaml") - - vars = { - hostname = "llama-${count.index + 1}" - domain = "home.arpa" - TS_AUTHKEY = var.TS_AUTHKEY - } -} - - -resource "local_file" "cloud_init_llama" { - count = var.llama_vm_count - content = data.template_file.cloud_init_llama[count.index].rendered - filename = "${path.module}/files/cloud_init_llama_${count.index + 1}.yaml" -} - -#resource "null_resource" "upload_cloud_init_llama" { -# count = var.llama_vm_count -# -# connection { -# type = "ssh" -# user = "root" -# host = var.target_node -# } -# -# provisioner "file" { -# source = local_file.cloud_init_llama[count.index].filename -# destination = "/var/lib/vz/snippets/cloud_init_llama_${count.index + 1}.yaml" -# } -#} - diff --git a/terraform/files/cloud_init_global.yaml b/terraform/files/cloud_init_global.yaml new file mode 100644 index 0000000..a4d9277 --- /dev/null +++ b/terraform/files/cloud_init_global.yaml @@ -0,0 +1,9 @@ +#cloud-config +hostname: ${hostname} +fqdn: ${hostname}.${domain} + +runcmd: + - curl -fsSL https://tailscale.com/install.sh | sh + - tailscale up --auth-key=${TS_AUTHKEY} + - tailscale set --ssh + diff --git a/terraform/main.tf b/terraform/main.tf index 110031e..e151c90 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -29,7 +29,8 @@ resource "proxmox_vm_qemu" "alpacas" { scsihw = "virtio-scsi-pci" boot = "order=scsi0" ipconfig0 = "ip=dhcp" - cicustom = "user=local:snippets/cloud_init_alpaca_${count.index + 1}.yaml" + cicustom = "user=local:snippets/cloud_init_global.yaml" + disks { scsi { @@ -71,7 +72,7 @@ resource "proxmox_vm_qemu" "llamas" { scsihw = "virtio-scsi-pci" boot = "order=scsi0" ipconfig0 = "ip=dhcp" - cicustom = "user=local:snippets/cloud_init_llama_${count.index + 1}.yaml" + cicustom = "user=local:snippets/cloud_init_global.yaml" disks { scsi { From 70b9b5e5b7393a95e4410c190f34532a30d82b34 Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Thu, 17 Apr 2025 22:28:45 +0100 Subject: [PATCH 2/2] terraform fmt --- terraform/cloud-init.tf | 4 +++- terraform/files/cloud_init_base.yaml | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/terraform/cloud-init.tf b/terraform/cloud-init.tf index 5da7d32..18bffae 100644 --- a/terraform/cloud-init.tf +++ b/terraform/cloud-init.tf @@ -1,9 +1,11 @@ ### Global cloud-init template (for all VMs) data "template_file" "cloud_init_global" { - template = file("${path.module}/files/cloud_init_base.yaml") + template = file("${path.module}/files/cloud_init_global.yaml") vars = { + hostname = "generic" + domain = "home.arpa" TS_AUTHKEY = var.TS_AUTHKEY } } diff --git a/terraform/files/cloud_init_base.yaml b/terraform/files/cloud_init_base.yaml index a4d9277..10c89e6 100644 --- a/terraform/files/cloud_init_base.yaml +++ b/terraform/files/cloud_init_base.yaml @@ -1,7 +1,4 @@ #cloud-config -hostname: ${hostname} -fqdn: ${hostname}.${domain} - runcmd: - curl -fsSL https://tailscale.com/install.sh | sh - tailscale up --auth-key=${TS_AUTHKEY}