test env variables

This commit is contained in:
2024-06-29 08:23:59 -05:00
parent a7a282da02
commit 5f8d31eea1
2 changed files with 95 additions and 52 deletions

View File

@@ -44,31 +44,69 @@
#k3s
#-----------------------------------------------------
locals {
env_config = {
prd = {
}
dev = {
dnsserver = "192.168.10.1"
k3master = {
count = 1
name = ["master-dev"]
cores = 4
memory = "4096"
drive = "20G"
storage = "cache-domains"
template = ["Debian12-Template"]
node = ["overlord"]
ip = ["10"]
vlan = 10
}
k3server = {
count = 2
name = ["node01-dev", "node02-dev"]
cores = 4
memory = "4096"
drive = "60G"
storage = "cache-domains"
template = ["Debian12-Template", "Debian12-Template"]
node = ["mothership", "mothership"]
ip = ["20", "21"]
vlan = 10
}
}
default = {
}
config = merge(local.env_config["default"], lookup(local.env_config, var.environment, {}))
}
}
resource "proxmox_vm_qemu" "k3master" {
count = var.k3master.count
count = local.config.k3master.count
ciuser = "administrator"
vmid = "${var.k3master.vlan}${var.k3master.ip[count.index]}"
name = var.k3master.name[count.index]
target_node = var.k3master.node[count.index]
clone = var.k3master.template[count.index]
vmid = "${local.config.k3master.vlan}${local.config.k3master.ip[count.index]}"
name = local.config.k3master.name[count.index]
target_node = local.config.k3master.node[count.index]
clone = local.config.k3master.template[count.index]
qemu_os = "other"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = var.k3master.cores
cores = local.config.k3master.cores
sockets = 1
cpu = "host"
memory = var.k3master.memory
memory = local.config.k3master.memory
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
boot = "c"
onboot = true
disk {
size = var.k3master.drive
size = local.config.k3master.drive
type = "scsi"
format = "raw"
storage = var.k3master.storage
storage = local.config.k3master.storage
ssd = 1
backup = false
}
@@ -82,49 +120,49 @@ resource "proxmox_vm_qemu" "k3master" {
]
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.${var.k3master.vlan}.${var.k3master.ip[count.index]}/24,gw=192.168.10.1"
ipconfig0 = "ip=192.168.${local.config.k3master.vlan}.${local.config.k3master.ip[count.index]}/24,gw=192.168.10.1"
searchdomain = "durp.loc"
nameserver = var.dnsserver
nameserver = local.config.dnsserver
}
resource "proxmox_vm_qemu" "k3server" {
count = var.k3server.count
ciuser = "administrator"
vmid = "${var.k3server.vlan}${var.k3server.ip[count.index]}"
name = var.k3server.name[count.index]
target_node = var.k3server.node[count.index]
clone = var.k3server.template[count.index]
qemu_os = "other"
full_clone = true
os_type = "cloud-init"
agent = 1
cores = var.k3server.cores
sockets = 1
cpu = "host"
memory = var.k3server.memory
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
boot = "c"
onboot = true
disk {
size = var.k3server.drive
type = "scsi"
format = "raw"
storage = var.k3server.storage
ssd = 1
backup = false
}
network {
model = "virtio"
bridge = "vmbr1"
}
lifecycle {
ignore_changes = [
network,
]
}
#Cloud Init Settings
ipconfig0 = "ip=192.168.${var.k3server.vlan}.${var.k3server.ip[count.index]}/24,gw=192.168.10.1"
searchdomain = "durp.loc"
nameserver = var.dnsserver
}
#resource "proxmox_vm_qemu" "k3server" {
# count = var.k3server.count
# ciuser = "administrator"
# vmid = "${var.k3server.vlan}${var.k3server.ip[count.index]}"
# name = var.k3server.name[count.index]
# target_node = var.k3server.node[count.index]
# clone = var.k3server.template[count.index]
# qemu_os = "other"
# full_clone = true
# os_type = "cloud-init"
# agent = 1
# cores = var.k3server.cores
# sockets = 1
# cpu = "host"
# memory = var.k3server.memory
# scsihw = "virtio-scsi-pci"
# bootdisk = "scsi0"
# boot = "c"
# onboot = true
# disk {
# size = var.k3server.drive
# type = "scsi"
# format = "raw"
# storage = var.k3server.storage
# ssd = 1
# backup = false
# }
# network {
# model = "virtio"
# bridge = "vmbr1"
# }
# lifecycle {
# ignore_changes = [
# network,
# ]
# }
# #Cloud Init Settings
# ipconfig0 = "ip=192.168.${var.k3server.vlan}.${var.k3server.ip[count.index]}/24,gw=192.168.10.1"
# searchdomain = "durp.loc"
# nameserver = var.dnsserver
#}

View File

@@ -50,3 +50,8 @@ variable "k3server" {
vlan = number
})
}
variable "environment" {
description = "environment of the deployment"
type = string
}