Files
oswald-infra/terraform.tfvars
T
2026-06-27 21:44:57 +00:00

115 lines
4.2 KiB
HCL

# ── Site configuration ─────────────────────────────────────────────────────────
hypervisors = {
proxmox = {
api_url = "https://192.168.0.240:8006/api2/json"
node_name = "pve"
storage = "local-lvm"
}
}
ipam_endpoint = "https://ipam.example.net/api"
network_subnets = {
lan = "192.168.0.0/24"
}
ansible_user = "ansible"
search_domain = "oswaldtheotter.lan"
dns_nameservers = "1.1.1.1"
technitium_host = "http://192.168.0.2:5380"
# ── DNS (Technitium) ────────────────────────────────────────────────────────────
# Every declared node automatically gets an A record in the search_domain zone
# (lan.oswaldtheotter.net). Define extra zones and manual records below.
# Additional zones beyond the auto-managed search_domain zone.
dns_zones = {
# "internal.oswaldtheotter.net" = { type = "Primary" }
# "10.168.192.in-addr.arpa" = { type = "Primary" }
}
# Manual records. In the search_domain zone, a record whose name matches an
# auto-added host replaces that host's record instead of conflicting with it.
dns_records = [
# { zone = "lan.oswaldtheotter.net", name = "router", type = "A", value = "192.168.0.1" },
# { zone = "lan.oswaldtheotter.net", name = "nas", type = "CNAME", value = "dev.lan.oswaldtheotter.net" },
# { zone = "lan.oswaldtheotter.net", name = "@", type = "MX", value = "mail.lan.oswaldtheotter.net", priority = 10 },
{ zone = "oswaldtheotter.lan", name = "omada", type = "A", value = "192.168.0.110" },
{ zone = "oswaldtheotter.lan", name = "portanas", type = "A", value = "192.168.0.4" },
{ zone = "oswaldtheotter.lan", name = "proxmox", type = "A", value = "192.168.0.240" },
{ zone = "oswaldtheotter.lan", name = "nas", type = "CNAME", value = "portanas.oswaldtheotter.lan" },
{ zone = "oswaldtheotter.lan", name = "s3", type = "CNAME", value="portanas.oswaldtheotter.lan"},
]
# ── Node definitions ───────────────────────────────────────────────────────────
nodes = {
proxmox = {
lxc = {
"dev" = {
hostname = "dev"
vmid = 800
template = "local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst"
unprivileged = true
onboot = true
tags = ""
memory = 2048
swap = 1024
disk_size = "32G"
nic_name = "eth0"
bridge = "vmbr0"
ip = "192.168.0.200/24"
nameserver = "192.168.0.2"
gw = "192.168.0.1"
}
"audiopen" = {
hostname = "audiopen"
vmid = 801
template = "local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst"
unprivileged = true
onboot = true
tags = ""
memory = 512
swap = 0
disk_size = "8G"
nic_name = "eth0"
bridge = "vmbr0"
ip = "192.168.0.202/24"
gw = "192.168.0.1"
}
"remoteterm" = {
hostname = "remoteterm"
vmid = 117
template = "local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst"
unprivileged = true
onboot = false
tags = ""
memory = 2048
swap = 0
disk_size = "16G"
nic_name = "eth0"
bridge = "vmbr0"
ip = "192.168.0.203/24"
gw = "192.168.0.1"
}
"technitium" = {
hostname = "technitium"
vmid = 118
template = "local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst"
unprivileged = true
onboot = true
tags = ""
memory = 2048
swap = 0
disk_size = "8G"
nic_name = "eth0"
bridge = "vmbr0"
ip = "192.168.0.2/24"
gw = "192.168.0.1"
}
}
machines = {
}
}
}