Some checks failed
Terraform Plan / Terraform Plan (push) Failing after 9s
Configure an s3 backend and initialize Terraform in CI with backend config from Gitea secrets so state persists across runs and apply operations stay consistent.
111 lines
2.0 KiB
HCL
111 lines
2.0 KiB
HCL
terraform {
|
|
backend "s3" {}
|
|
|
|
required_providers {
|
|
proxmox = {
|
|
source = "Telmate/proxmox"
|
|
version = "3.0.2-rc07"
|
|
}
|
|
}
|
|
}
|
|
|
|
provider "proxmox" {
|
|
pm_api_url = var.pm_api_url
|
|
pm_api_token_id = var.pm_api_token_id
|
|
pm_api_token_secret = var.pm_api_token_secret
|
|
pm_tls_insecure = true
|
|
}
|
|
|
|
resource "proxmox_vm_qemu" "alpacas" {
|
|
count = var.alpaca_vm_count
|
|
name = "alpaca-${count.index + 1}"
|
|
vmid = 500 + count.index + 1
|
|
target_node = var.target_node
|
|
clone = var.clone_template
|
|
full_clone = true
|
|
os_type = "cloud-init"
|
|
agent = 1
|
|
|
|
sockets = var.sockets
|
|
cores = var.cores
|
|
memory = var.memory
|
|
scsihw = "virtio-scsi-pci"
|
|
boot = "order=virtio0"
|
|
bootdisk = "virtio0"
|
|
ipconfig0 = "ip=dhcp"
|
|
cicustom = "user=local:snippets/cloud_init_global.yaml"
|
|
|
|
|
|
disks {
|
|
virtio {
|
|
virtio0 {
|
|
disk {
|
|
size = var.disk_size
|
|
storage = var.storage
|
|
}
|
|
}
|
|
}
|
|
|
|
ide {
|
|
ide2 {
|
|
cloudinit {
|
|
storage = var.storage
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
network {
|
|
id = 0
|
|
model = "virtio"
|
|
bridge = var.bridge
|
|
}
|
|
}
|
|
|
|
|
|
resource "proxmox_vm_qemu" "llamas" {
|
|
count = var.llama_vm_count
|
|
name = "llama-${count.index + 1}"
|
|
vmid = 600 + count.index + 1
|
|
target_node = var.target_node
|
|
clone = var.clone_template
|
|
full_clone = true
|
|
os_type = "cloud-init"
|
|
agent = 1
|
|
|
|
sockets = var.sockets
|
|
cores = var.cores
|
|
memory = var.memory
|
|
scsihw = "virtio-scsi-pci"
|
|
boot = "order=virtio0"
|
|
bootdisk = "virtio0"
|
|
ipconfig0 = "ip=dhcp"
|
|
cicustom = "user=local:snippets/cloud_init_global.yaml"
|
|
|
|
disks {
|
|
virtio {
|
|
virtio0 {
|
|
disk {
|
|
size = var.disk_size
|
|
storage = var.storage
|
|
}
|
|
}
|
|
}
|
|
|
|
ide {
|
|
ide2 {
|
|
cloudinit {
|
|
storage = var.storage
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
network {
|
|
id = 0
|
|
model = "virtio"
|
|
bridge = var.bridge
|
|
}
|
|
}
|