69 lines
1.8 KiB
HCL
69 lines
1.8 KiB
HCL
### Alpaca cloud-init template
|
|
data "template_file" "cloud_init_alpaca" {
|
|
count = var.alpaca_vm_count
|
|
template = file("${path.module}/files/cloud_init.yaml")
|
|
|
|
vars = {
|
|
ssh_key = var.ssh_key
|
|
hostname = "alpaca-${count.index + 1}"
|
|
domain = "home.arpa"
|
|
tailscale_key = var.tailscale_key
|
|
}
|
|
}
|
|
|
|
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 "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 = {
|
|
ssh_key = var.ssh_key
|
|
hostname = "llama-${count.index + 1}"
|
|
domain = "home.arpa"
|
|
tailscale_key = var.tailscale_key
|
|
}
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|
|
|