Files
PSProxmoxVE/tests/infrastructure/variables.tf
T
Clint Branham ddecafee91 feat(ci): automated nested PVE provisioning for integration tests
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>
2026-03-18 14:13:41 -05:00

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!"
}