commit 48c36914acc4c39773a72bdb8d0f17f56c14a364 Author: Pin Date: Fri Feb 18 18:45:46 2022 -0500 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4911dd4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.terraform* +*.log +*.tfstate +*.tfstate.backup + +secret.tf +vars.tf diff --git a/main.tf b/main.tf new file mode 100644 index 0000000..9208178 --- /dev/null +++ b/main.tf @@ -0,0 +1,116 @@ +terraform { + required_providers { + proxmox = { + source = "telmate/proxmox" + version = "2.9.6" + } + } +} + +provider "proxmox" { + pm_api_url = var.proxmox_api_url + + pm_api_token_id = var.apiTokenID + pm_api_token_secret = var.apiToken + + pm_tls_insecure = true + pm_timeout = 1200 + + pm_log_enable = true + pm_log_file = "terraform-plugin-proxmox.log" + pm_log_levels = { + _default = "debug" + _capturelog = "" + } + +} + +resource "proxmox_vm_qemu" "k8master" { + count = 1 + name = "FCOS-K3Master-1" + + target_node = var.proxmox_host + clone = var.template_name + + pool = "${var.vm_pool}" + + agent = 1 + os_type = "cloud-init" + cores = 2 + sockets = 2 + cpu = "host" + memory = 2048 + scsihw = "virtio-scsi-pci" + bootdisk = "scsi0" + vmid = "3120" + + disk { + slot = 0 + size = "10G" + type = "scsi" + storage = "${var.vm_storage_disk}" + } + + network { + model = "virtio" + bridge = "${var.vm_network_bridge}" + } + + lifecycle { + ignore_changes = [ + network, + ] + } + + ssh_user = "${var.ssh_user}" + sshkeys = "${var.ssh_key}" + timeouts { + create = "30m" + delete = "2h" + } +} + +resource "proxmox_vm_qemu" "k8runner" { + count = 3 + name = "FCOS-K3Runner-${count.index + 1}" + + target_node = var.proxmox_host + clone = var.template_name + + pool = "${var.vm_pool}" + + agent = 1 + os_type = "cloud-init" + cores = 2 + sockets = 2 + cpu = "host" + memory = 2048 + scsihw = "virtio-scsi-pci" + bootdisk = "scsi0" + vmid = "313${count.index}" + + disk { + slot = 0 + size = "10G" + type = "scsi" + storage = "${var.vm_storage_disk}" + } + + network { + model = "virtio" + bridge = "${var.vm_network_bridge}" + } + + lifecycle { + ignore_changes = [ + network, + ] + } + + ssh_user = "${var.ssh_user}" + sshkeys = "${var.ssh_key}" + timeouts { + create = "30m" + delete = "2h" + } +}