deploy hermes

This commit is contained in:
2026-05-25 20:21:24 -05:00
parent e309acd67d
commit be8e50d590
40 changed files with 2420 additions and 1159 deletions

View File

@@ -1,4 +1,4 @@
# ─── Provider Authentication ─────────────────────────────────────────────────
# ─── Provider Authentication ─────────────────────────────────────────────────
variable "proxmox_api_url" {
type = string
@@ -11,7 +11,7 @@ variable "proxmox_api_token" {
sensitive = true
}
# ─── VM Identity ─────────────────────────────────────────────────────────────
# ─── VM Identity ───────────────────────────────────────────────────────────────
variable "vm_id" {
type = number
@@ -40,7 +40,7 @@ variable "search_domain" {
default = "mk-labs.net"
}
# ─── Proxmox Placement ──────────────────────────────────────────────────────
# ─── Proxmox Placement ────────────────────────────────────────────────────────
variable "clone_node" {
type = string
@@ -59,7 +59,7 @@ variable "datastore" {
default = "liberty-tree"
}
# ─── Template Selection ─────────────────────────────────────────────────────
# ─── Template Selection ───────────────────────────────────────────────────────
variable "template_name" {
type = string
@@ -78,7 +78,7 @@ variable "template_name" {
}
}
# ─── Network ─────────────────────────────────────────────────────────────────
# ─── Network ─────────────────────────────────────────────────────────────────
variable "vlan_id" {
type = number
@@ -114,4 +114,43 @@ variable "gateway" {
type = string
description = "Default gateway. Only used when use_dhcp = false."
default = "10.1.71.1"
}
}
# ─── PCIe Passthrough (optional) ──────────────────────────────────────────────
# When pcie_passthrough_enabled = true, the device at pcie_device_id is passed
# through to the VM. Used for GPU workloads (e.g. astro-orbiter / RX 5700).
# Requires vfio-pci bound on the host and IOMMU enabled.
variable "pcie_passthrough_enabled" {
type = bool
description = "When true, passes through the PCIe device at pcie_device_id to the VM."
default = false
}
variable "pcie_device_id" {
type = string
description = "PCIe device address to pass through (e.g. '0000:03:00'). Get from lspci on the host."
default = ""
}
# ─── Data Disk (optional) ─────────────────────────────────────────────────────
# When data_disk_enabled = true, a second disk is provisioned for application
# data. Ansible handles LVM setup, formatting, and mounting.
variable "data_disk_enabled" {
type = bool
description = "When true, provisions a second disk for application data storage."
default = false
}
variable "data_disk_size" {
type = number
description = "Size of the data disk in GB. Only used when data_disk_enabled = true."
default = 128
}
variable "data_disk_datastore" {
type = string
description = "Proxmox storage pool for the data disk. Defaults to var.datastore when empty."
default = ""
}