variable "vmid" { description = "LXC VMID" type = number } variable "hostname" { description = "LXC hostname" type = string } variable "ipv4" { description = "Static IPv4 with CIDR" type = string } variable "node" { description = "Target PVE node" type = string default = "mk33" } variable "cores" { description = "CPU cores" type = number default = 2 } variable "memory" { description = "RAM in MB" type = number default = 2048 } variable "storage" { description = "Storage pool" type = string default = "local" } variable "rootfs_size" { description = "Root filesystem size in GB" type = number default = 8 } variable "gateway" { description = "IPv4 gateway" type = string default = "192.168.18.1" } variable "dns_servers" { description = "DNS servers" type = list(string) default = ["192.168.7.7", "192.168.18.1", "1.1.1.1"] } variable "ssh_key_path" { description = "Path to SSH public key for jarvis user" type = string default = "artemis_key.pub" } variable "template_file_id" { description = "LXC OS template file ID (storage:path)" type = string default = "nas-ct-stor:vztmpl/debian-12-standard_12.12-1_amd64.tar.zst" } variable "password" { description = "Root password for console login" type = string sensitive = true default = "" } variable "tags" { description = "Tags to apply to the LXC" type = list(string) default = ["terraform", "batch"] } variable "unprivileged" { description = "Run as unprivileged container" type = bool default = false } variable "devices" { description = "List of device passthrough configs (path, mode, uid, gid, deny_write)" type = list(object({ path = string mode = optional(string, "0666") uid = optional(number, 0) gid = optional(number, 0) deny_write = optional(bool, false) })) default = [] }