infra/clusters/vntx/terraform/variables.tf
2025-09-06 10:55:13 -05:00

129 lines
No EOL
2.6 KiB
HCL

variable "proxmox_api_url" {
description = "Proxmox API URL"
type = string
}
variable "proxmox_user" {
description = "Proxmox user"
type = string
default = "root@pam"
}
variable "proxmox_password" {
description = "Proxmox password"
type = string
sensitive = true
}
variable "proxmox_tls_insecure" {
description = "Allow insecure TLS for Proxmox API"
type = bool
default = true
}
variable "proxmox_host" {
description = "Proxmox host for SSH commands"
type = string
}
variable "proxmox_nodes" {
description = "List of Proxmox nodes to distribute VMs across"
type = list(string)
default = ["pve1", "pve2", "pve3"]
}
variable "proxmox_storage" {
description = "Proxmox storage pool"
type = string
default = "local-lvm"
}
variable "debian_template_name" {
description = "Name of Debian cloud-init template VM"
type = string
default = "debian13-cloud"
}
variable "network_bridge" {
description = "Network bridge"
type = string
default = "vmbr0"
}
variable "vlan_tag" {
description = "VLAN tag for cluster network"
type = number
default = -1
}
variable "gateway" {
description = "Network gateway"
type = string
default = "10.0.0.1"
}
variable "control_plane_count" {
description = "Number of control plane nodes"
type = number
default = 3
}
variable "worker_count" {
description = "Number of worker nodes"
type = number
default = 2
}
variable "control_plane_specs" {
description = "Specifications for control plane nodes"
type = object({
cores = number
memory = number
disk_size = string
})
default = {
cores = 4
memory = 8192
disk_size = "50G"
}
}
variable "worker_specs" {
description = "Specifications for worker nodes"
type = object({
cores = number
memory = number
disk_size = string
storage_disk_size = string
})
default = {
cores = 8
memory = 16384
disk_size = "50G"
storage_disk_size = "200G"
}
}
variable "control_plane_ips" {
description = "Static IPs for control plane nodes"
type = list(string)
default = [
"10.0.0.101",
"10.0.0.102",
"10.0.0.103"
]
}
variable "worker_ips" {
description = "Static IPs for worker nodes"
type = list(string)
default = [
"10.0.0.111",
"10.0.0.112"
]
}
variable "ssh_public_key" {
description = "SSH public key for node access"
type = string
}