Add infrastructure packages: terraform-pve, ansible-push, wolfstack-keepalived, terraform-pve-vm

This commit is contained in:
Artemis
2026-06-14 19:52:52 -04:00
parent e54307d46d
commit 6f4c54cdbb
49 changed files with 2031 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
# Timestamp for inventory filename during testing
variable "inventory_timestamp" {
description = "Timestamp suffix for inventory file (e.g. 2026-06-05-143022). Leave empty for static filename."
type = string
default = ""
}
locals {
lxc_hosts = [
for vmid in local.vmids : {
hostname = module.lxc[tostring(vmid)].hostname
ipv4 = module.lxc[tostring(vmid)].ipv4
ipv4_host = split("/", module.lxc[tostring(vmid)].ipv4)[0]
user = "root"
password = var.password
port = 22
}
]
inventory_filename = var.inventory_timestamp != "" ? "inventory-lxc-${var.inventory_timestamp}.yml" : "inventory-lxc.yml"
inventory_content = templatefile("${path.module}/inventory-lxc.tmpl", { hosts = local.lxc_hosts })
}
# Write timestamped inventory file (archive/history)
resource "local_file" "inventory_timestamped" {
filename = "/ansible-push/terraform-prefill/${local.inventory_filename}"
content = local.inventory_content
}
# Write latest inventory file (static name, always overwritten)
resource "local_file" "inventory_latest" {
filename = "/ansible-push/terraform-prefill/inventory-lxc.yml"
content = local.inventory_content
}
output "inventory_path" {
description = "Path to generated Ansible inventory file (static latest)"
value = local_file.inventory_latest.filename
}
output "inventory_path_archive" {
description = "Path to generated Ansible inventory file (timestamped archive)"
value = local_file.inventory_timestamped.filename
}