summaryrefslogtreecommitdiff
path: root/terraform/modules
diff options
context:
space:
mode:
Diffstat (limited to 'terraform/modules')
-rw-r--r--terraform/modules/eveng/main.tf40
-rw-r--r--terraform/modules/eveng/outputs.tf3
-rw-r--r--terraform/modules/eveng/variables.tf42
3 files changed, 85 insertions, 0 deletions
diff --git a/terraform/modules/eveng/main.tf b/terraform/modules/eveng/main.tf
new file mode 100644
index 0000000..02677ad
--- /dev/null
+++ b/terraform/modules/eveng/main.tf
@@ -0,0 +1,40 @@
+terraform {
+ required_providers {
+ proxmox = {
+ source = "bpg/proxmox"
+ version = "~> 0.83"
+ }
+ }
+}
+
+resource "proxmox_virtual_environment_vm" "eveng" {
+ name = var.vm_name
+ node_name = var.node_name
+ vm_id = var.vm_id
+
+ started = true
+
+ cpu {
+ cores = var.cpu_cores
+ type = "host"
+ }
+
+ memory {
+ dedicated = var.memory_dedicated
+ }
+
+ network_device {
+ bridge = var.network_bridge
+ }
+
+ disk {
+ datastore_id = var.datastore_id
+ interface = "scsi0"
+ size = var.disk_size
+ file_format = "raw"
+ }
+
+ cdrom {
+ file_id = var.iso_file
+ }
+}
diff --git a/terraform/modules/eveng/outputs.tf b/terraform/modules/eveng/outputs.tf
new file mode 100644
index 0000000..54de82b
--- /dev/null
+++ b/terraform/modules/eveng/outputs.tf
@@ -0,0 +1,3 @@
+output "ip_address" {
+ value = try(proxmox_virtual_environment_vm.eveng.ipv4_addresses[1][0], "Brak IP ")
+}
diff --git a/terraform/modules/eveng/variables.tf b/terraform/modules/eveng/variables.tf
new file mode 100644
index 0000000..9eacfa1
--- /dev/null
+++ b/terraform/modules/eveng/variables.tf
@@ -0,0 +1,42 @@
+variable "node_name" {
+ type = string
+}
+
+variable "vm_id" {
+ type = number
+}
+
+variable "vm_name" {
+ type = string
+ default = "eve-ng-lab"
+}
+
+variable "cpu_cores" {
+ type = number
+ default = 4
+}
+
+variable "memory_dedicated" {
+ type = number
+ default = 8192
+}
+
+variable "network_bridge" {
+ type = string
+ default = "vmbr0"
+}
+
+variable "datastore_id" {
+ type = string
+ default = "local-lvm"
+}
+
+variable "disk_size" {
+ type = number
+ default = 50
+}
+
+variable "iso_file" {
+ type = string
+ default = "local:iso/eve-ce-prod-6.2.0-4-full.iso"
+}