imfreedom/bamboo-terraform
Clone
Summary
Browse
Changes
Graph
A bunch of updates
draft
2019-02-06, Gary Kramlich
d3cb1067774e
A bunch of updates
variable
"worker_count"
{
default
=
"1"
}
variable
"worker_disk_size"
{
default
=
"21474836480"
}
# 20gb
variable
"worker_memory"
{
default
=
"1024"
}
# 1gb
variable
"worker_cpu"
{
default
=
"1"
}
resource
"libvirt_volume"
"worker"
{
count
=
"${var.worker_count}"
name
=
"worker-${count.index}-root"
format
=
"qcow2"
base_volume_id
=
"${libvirt_volume.debian_base.id}"
size
=
"${var.worker_disk_size}"
pool
=
"${var.volume_pool}"
}
data
"template_file"
"worker_user_data"
{
count
=
"${var.worker_count > 0 ? var.worker_count : 0}"
template
=
<<
EOF
#cloud-config
fqdn: worker-$${index}
users:
- name: root
ssh_authorized_keys:
- $${admin_ssh_pubkey}
growpart:
mode: auto
devices: ['/']
ignore_growroot_disabled: false
EOF
vars
{
admin_ssh_pubkey
=
"${var.admin_ssh_pubkey}"
index
=
"${count.index}"
}
}
resource
"libvirt_cloudinit_disk"
"worker"
{
count
=
"${var.worker_count}"
name
=
"worker-${count.index}-init.iso"
user_data
=
"${element(data.template_file.worker_user_data.*.rendered, count.index)}"
}
resource
"libvirt_domain"
"worker"
{
count
=
"${var.worker_count}"
name
=
"worker-${count.index}"
memory
=
"${var.worker_memory}"
vcpu
=
"${var.worker_cpu}"
autostart
=
true
cloudinit
=
"${element(libvirt_cloudinit_disk.worker.*.id, count.index)}"
console
{
type
=
"pty"
target_port
=
"0"
target_type
=
"serial"
}
disk
{
volume_id
=
"${element(libvirt_volume.worker.*.id, count.index)}"
}
network_interface
{
network_name
=
"default"
wait_for_lease
=
true
}
boot_device
{
dev
=
[
"hd"
]
}
}
output
"worker_ips"
{
value
=
"${libvirt_domain.worker.*.network_interface.0.addresses}"
}