From 5f8d31eea16c086839ecc76065877ab93782605b Mon Sep 17 00:00:00 2001 From: DeveloperDurp Date: Sat, 29 Jun 2024 08:23:59 -0500 Subject: [PATCH] test env variables --- terraform/main.tf | 142 ++++++++++++++++++++++++++--------------- terraform/variables.tf | 5 ++ 2 files changed, 95 insertions(+), 52 deletions(-) diff --git a/terraform/main.tf b/terraform/main.tf index fb63c15..b20f15e 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -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 +#} diff --git a/terraform/variables.tf b/terraform/variables.tf index a3c6670..0eb8ba9 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -50,3 +50,8 @@ variable "k3server" { vlan = number }) } + +variable "environment" { + description = "environment of the deployment" + type = string +}