45 lines
945 B
Terraform
45 lines
945 B
Terraform
|
|
terraform {
|
||
|
|
required_providers {
|
||
|
|
proxmox = {
|
||
|
|
source = "telmate/proxmox"
|
||
|
|
version = ">= 3.0.2-rc05"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "proxmox_vm_qemu" "worker" {
|
||
|
|
for_each = { for node in var.workers.nodes : node.name => node }
|
||
|
|
|
||
|
|
name = format("k8s-wheatley-%s", each.value.name)
|
||
|
|
target_node = "pve01"
|
||
|
|
tags = "k8s-wheatley,worker"
|
||
|
|
onboot = true
|
||
|
|
bios = "ovmf"
|
||
|
|
boot = "order=virtio0;net0"
|
||
|
|
clone = format("talos-%s", var.workers.talos_version)
|
||
|
|
scsihw = "virtio-scsi-pci"
|
||
|
|
|
||
|
|
disk {
|
||
|
|
size = var.workers.disk
|
||
|
|
storage = var.workers.storagepool
|
||
|
|
type = "disk"
|
||
|
|
slot = "virtio0"
|
||
|
|
format = "raw"
|
||
|
|
}
|
||
|
|
|
||
|
|
cpu {
|
||
|
|
cores = var.workers.cpu
|
||
|
|
sockets = 1
|
||
|
|
}
|
||
|
|
|
||
|
|
memory = var.workers.memory * 1024
|
||
|
|
|
||
|
|
network {
|
||
|
|
id = 0
|
||
|
|
model = "virtio"
|
||
|
|
bridge = "vmbr1"
|
||
|
|
}
|
||
|
|
ipconfig0 = format("ip=%s/24,gw=10.13.38.1", each.value.ip_address)
|
||
|
|
skip_ipv6 = true
|
||
|
|
}
|