blob: 544bc35a6bbf929f384e1d34a3372cc1b1813936 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
resource "proxmox_vm_qemu" "docker_server" {
name = "docker-server"
desc = "Debian server with docker installed."
agent = 1 # Qemu Guest Agent
target_node = var.proxmox_node
tags = "debian,docker"
clone = var.packer_image_name
full_clone = true
qemu_os = "other"
cores = 2
sockets = 1
cpu_type = "host"
memory = 4096
scsihw = "virtio-scsi-pci"
bootdisk = "scsi0"
disks {
ide {
ide0 {
cloudinit {
storage = "local-lvm"
}
}
}
virtio {
virtio0 {
disk {
storage = "local-lvm"
size = "20G"
iothread = true
replicate = false
}
}
}
}
network {
id = 0
model = "virtio"
bridge = "vmbr0"
}
# Cloud-Init settings
ipconfig0 = "ip=dhcp"
ciuser = "mas"
sshkeys = var.ssh_public_key
}
# Run Ansible playbook after VM creation
resource "null_resource" "ansible_provisioner" {
triggers = {
vm_id = proxmox_vm_qemu.docker_server.id
}
provisioner "local-exec" {
command = <<-EOT
ANSIBLE_HOST_KEY_CHECKING=False ANSIBLE_CONFIG=${path.root}/../ansible/ansible.cfg ansible-playbook \
-i '${proxmox_vm_qemu.docker_server.default_ipv4_address},' \
-u ${var.vm_username} \
--private-key ${var.ssh_private_key_path} \
${var.ansible_playbook_path}
EOT
}
depends_on = [proxmox_vm_qemu.docker_server]
}
|