100 lines
2.0 KiB
HCL
100 lines
2.0 KiB
HCL
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 = []
|
|
}
|