add vm provisioning

This commit is contained in:
Ryan Goodwin 2022-06-10 21:15:13 -04:00
parent 537beb7f67
commit b012b010d5
3 changed files with 40 additions and 15 deletions

View File

@ -10,7 +10,7 @@ My homelab infrastructure as code
Media Server
* Requirements
* 4 core
* 8GB RAM
* 4GB RAM
* NVIDIA GPU
* network storage for media

View File

@ -50,13 +50,13 @@ resource "proxmox_vm_qemu" "media-server" {
}
resource "proxmox_vm_qemu" "media-manager" {
count = 1
name = "media-manager"
vmid = "201"
count = 1
name = "media-manager"
vmid = "201"
target_node = "milkyway"
clone = "ubuntu-2004-cloud"
agent = 1
os_type = "cloud-init"
clone = "ubuntu-2004-cloud"
agent = 1
os_type = "cloud-init"
cores = 4
sockets = 1
cpu = "host"
@ -85,4 +85,33 @@ resource "proxmox_vm_qemu" "media-manager" {
ipconfig0 = "ip=192.168.0.51/24,gw=192.168.0.1"
}
resource "local_file" "ansible_inventory" {
content = templatefile("../../templates/hosts.tmpl",
{
media_managers = [
for ip in proxmox_vm_qemu.media-manager.*.ifconfig0 :
regex("(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}",
ip
)
]
media_servers = [
for ip in proxmox_vm_qemu.media-server.*.ifconfig0 :
regex("(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}",
ip
)
]
home_apps = [
for ip in proxmox_vm_qemu.main-docker.*.ifconfig0 :
regex("(\\b25[0-5]|\\b2[0-4][0-9]|\\b[01]?[0-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}",
ip
)
]
}
)
filename = "../../applications/hosts"
depends_on = [
proxmox_vm_qemu.media-manager,
proxmox_vm_qemu.media_servers
]
}

View File

@ -1,18 +1,14 @@
[media-managers]
%{ for ip in media-managers }
%{ for ip in media_managers }
${ ip }
%{ end for }
[media-servers]
%{ for ip in media-servers }
%{ for ip in media_servers }
${ ip }
%{ end for }
[docker-servers:children]
main-docker
media-managers
[main-docker]
%{ for ip in main-docker }
[home-servers]
%{ for ip in home_apps }
${ ip }
%{ end for }