mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-08-06 12:47:42 +00:00
ddecafee91
Workflow now provisions a throwaway nested PVE VM via Terraform, runs integration tests against it, then destroys it. Uses proxmox-auto-install-assistant to bake the answer file and a first-boot script (installs qemu-guest-agent) directly into the ISO. IP is discovered via the QEMU guest agent on the parent PVE, eliminating the need for static IP configuration. Supports both PVE 8.x and 9.x via workflow_dispatch version selector. Skip provisioning with skip_provision=true to test against a pre-existing PVE. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
76 lines
1.9 KiB
Terraform
76 lines
1.9 KiB
Terraform
variable "proxmox_endpoint" {
|
|
description = "URL of the existing Proxmox VE API (e.g. https://pve.example.com:8006)"
|
|
type = string
|
|
}
|
|
|
|
variable "proxmox_api_token" {
|
|
description = "API token for authenticating with the existing Proxmox host (user@realm!tokenid=secret)"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "proxmox_insecure" {
|
|
description = "Whether to skip TLS verification when connecting to the Proxmox API"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "target_node" {
|
|
description = "Name of the Proxmox node where the nested PVE VM will be created"
|
|
type = string
|
|
}
|
|
|
|
variable "vm_id" {
|
|
description = "VMID to assign to the nested PVE virtual machine"
|
|
type = number
|
|
default = 99900
|
|
}
|
|
|
|
variable "vm_name" {
|
|
description = "Name for the nested PVE virtual machine"
|
|
type = string
|
|
default = "pve-test-nested"
|
|
}
|
|
|
|
variable "cores" {
|
|
description = "Number of CPU cores to allocate to the nested PVE VM"
|
|
type = number
|
|
default = 4
|
|
}
|
|
|
|
variable "memory" {
|
|
description = "Amount of memory in MB to allocate to the nested PVE VM"
|
|
type = number
|
|
default = 8192
|
|
}
|
|
|
|
variable "disk_size" {
|
|
description = "Size of the primary disk in GB for the nested PVE VM"
|
|
type = number
|
|
default = 64
|
|
}
|
|
|
|
variable "disk_storage" {
|
|
description = "Proxmox storage pool for VM disks (must support raw format)"
|
|
type = string
|
|
default = "nas-iscsi-lvm"
|
|
}
|
|
|
|
variable "iso_file_id" {
|
|
description = "Proxmox file ID of the auto-install PVE ISO (e.g. local:iso/proxmox-ve_9.1-1-auto.iso)"
|
|
type = string
|
|
}
|
|
|
|
variable "network_bridge" {
|
|
description = "Network bridge on the host to attach the nested PVE VM to"
|
|
type = string
|
|
default = "Core"
|
|
}
|
|
|
|
variable "test_vm_password" {
|
|
description = "Root password for the nested PVE instance"
|
|
type = string
|
|
sensitive = true
|
|
default = "Testpass123!"
|
|
}
|