forked from catalin/fukuops
feat: migrate terraform from https://gitlab.com/fukurokuju/vm-foundation
This commit is contained in:
parent
1cc30ed503
commit
b9d8cd04d4
11 changed files with 230 additions and 0 deletions
45
tofu/modules/proxmox-vm/main.tf
Normal file
45
tofu/modules/proxmox-vm/main.tf
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
proxmox = {
|
||||
source = "thegameprofi/proxmox"
|
||||
version = "2.9.15"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "proxmox_vm_qemu" "vm" {
|
||||
name = var.vm_name
|
||||
target_node = var.node_name
|
||||
vmid = var.vm_id
|
||||
clone = var.cloud_init_template
|
||||
os_type = "cloudinit"
|
||||
qemu_os = "other"
|
||||
ipconfig0 = var.ipconfig0
|
||||
cores = var.core_count
|
||||
sockets = 1
|
||||
pool = "k3s"
|
||||
memory = var.memory
|
||||
ciuser = var.ci_username
|
||||
agent = 0
|
||||
serial {
|
||||
id = 0
|
||||
type = "socket"
|
||||
}
|
||||
disk {
|
||||
size = "50G"
|
||||
storage = var.disk_storage_name
|
||||
type = "scsi"
|
||||
}
|
||||
network {
|
||||
bridge = var.network_bridge_name
|
||||
firewall = false
|
||||
link_down = false
|
||||
model = "virtio"
|
||||
mtu = 0
|
||||
queues = 0
|
||||
rate = 0
|
||||
tag = -1
|
||||
}
|
||||
sshkeys = var.ssh_keys
|
||||
nameserver = "192.168.1.7 192.168.1.3"
|
||||
}
|
||||
66
tofu/modules/proxmox-vm/variables.tf
Normal file
66
tofu/modules/proxmox-vm/variables.tf
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
variable "vm_name" {
|
||||
description = "Name of the VM"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "node_name" {
|
||||
description = "Name of the Proxmox node"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vm_id" {
|
||||
description = "ID of the new VM"
|
||||
type = number
|
||||
}
|
||||
|
||||
variable "cloud_init_template" {
|
||||
description = "Cloud-init enabled template to be cloned"
|
||||
type = string
|
||||
default = "ci-debian12"
|
||||
}
|
||||
|
||||
variable "ipconfig0" {
|
||||
description = "Default inet configuration"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "ci_username" {
|
||||
description = "Cloud-init username"
|
||||
type = string
|
||||
default = "ci"
|
||||
}
|
||||
|
||||
|
||||
variable "memory" {
|
||||
description = "Available RAM, in MB"
|
||||
type = number
|
||||
default = 512
|
||||
}
|
||||
|
||||
variable "core_count" {
|
||||
description = "Available cores per socket"
|
||||
type = number
|
||||
default = 2
|
||||
|
||||
}
|
||||
|
||||
variable "network_bridge_name" {
|
||||
description = "Network bridge name"
|
||||
type = string
|
||||
default = "vmbr0"
|
||||
}
|
||||
|
||||
variable "ssh_keys" {
|
||||
description = "SSH public keys to be provisioned"
|
||||
type = string
|
||||
default = <<EOF
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL++DKyzE0+zM6A4lpjWTNvntQnmEdA6FoOh6jIdsHMT catalin@jupiter
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGreLVacZyxq2EtgievpXgC/L7czKyJa/kWpgqDoPgnA phireh@GenPhireh
|
||||
EOF
|
||||
}
|
||||
|
||||
variable "disk_storage_name" {
|
||||
description = "Disk storage name"
|
||||
type = string
|
||||
default = "storage"
|
||||
}
|
||||
8
tofu/modules/truenas-vm/main.tf
Normal file
8
tofu/modules/truenas-vm/main.tf
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
truenas = {
|
||||
source = "dariusbakunas/truenas"
|
||||
version = "0.11.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
0
tofu/modules/truenas-vm/variables.tf
Normal file
0
tofu/modules/truenas-vm/variables.tf
Normal file
Loading…
Add table
Add a link
Reference in a new issue