infra
This commit is contained in:
parent
5a409b3014
commit
0347f4d325
18 changed files with 441 additions and 0 deletions
66
infrastructure/proxmox/modules/nixos-vm/main.tf
Normal file
66
infrastructure/proxmox/modules/nixos-vm/main.tf
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
proxmox = {
|
||||
source = "Telmate/proxmox"
|
||||
version = "3.0.2-rc01"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "proxmox_vm_qemu" "nixos-vm" {
|
||||
vmid = var.vmid
|
||||
name = var.name
|
||||
target_node = var.target_node
|
||||
agent = var.agent
|
||||
cpu {
|
||||
cores = var.cpu_cores
|
||||
}
|
||||
memory = var.memory
|
||||
boot = var.boot # " " #"order=scsi0" # has to be the same as the OS disk of the template
|
||||
clone_id = var.clone_id
|
||||
full_clone = var.full_clone
|
||||
scsihw = var.scsihw
|
||||
vm_state = var.vm_state
|
||||
automatic_reboot = var.automatic_reboot
|
||||
|
||||
# Cloud-Init configuration
|
||||
# cicustom = "vendor=local:snippets/qemu-guest-agent.yml" # /var/lib/vz/snippets/qemu-guest-agent.yml
|
||||
ciupgrade = var.ciupgrade
|
||||
ipconfig0 = var.ipconfig0
|
||||
skip_ipv6 = var.skip_ipv6
|
||||
ciuser = var.ciuser
|
||||
cipassword = var.cipassword # "Enter123!"
|
||||
sshkeys = var.sshkeys # "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICUP7m8jZJiclZGfSje8CeBYFhX10SrdtjYziuChmj1X plasmagoat@macbook-air"
|
||||
|
||||
# Most cloud-init images require a serial device for their display
|
||||
serial {
|
||||
id = 0
|
||||
}
|
||||
|
||||
disks {
|
||||
virtio {
|
||||
virtio0 {
|
||||
# We have to specify the disk from our template, else Terraform will think it's not supposed to be there
|
||||
disk {
|
||||
storage = var.disk_storage
|
||||
# The size of the disk should be at least as big as the disk in the template. If it's smaller, the disk will be recreated
|
||||
size = var.disk_size
|
||||
}
|
||||
}
|
||||
}
|
||||
ide {
|
||||
# Some images require a cloud-init disk on the IDE controller, others on the SCSI or SATA controller
|
||||
ide1 {
|
||||
cloudinit {
|
||||
storage = var.cloudinit_storage
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
network {
|
||||
id = 0
|
||||
bridge = var.network_bridge
|
||||
model = var.network_model
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue