47 lines
1007 B
HCL
47 lines
1007 B
HCL
resource "digitalocean_tag" "cluster" {
|
|
name = "${var.name}"
|
|
}
|
|
|
|
resource "digitalocean_ssh_key" "cluster" {
|
|
name = "${var.name}"
|
|
public_key = "${file(var.ssh_public_file)}"
|
|
}
|
|
|
|
resource "digitalocean_droplet" "cluster" {
|
|
name = "${var.name}-node${count.index}"
|
|
image = "centos-7-x64"
|
|
size = "${var.instance_size}"
|
|
region = "${element(var.regions, count.index)}"
|
|
ssh_keys = ["${digitalocean_ssh_key.cluster.id}"]
|
|
count = "${var.servers}"
|
|
tags = ["${digitalocean_tag.cluster.id}"]
|
|
|
|
lifecycle = {
|
|
prevent_destroy = false
|
|
}
|
|
|
|
connection {
|
|
private_key = "${file(var.ssh_private_file)}"
|
|
timeout = "30s"
|
|
}
|
|
|
|
provisioner "file" {
|
|
source = "files/terraform.sh"
|
|
destination = "/tmp/terraform.sh"
|
|
}
|
|
|
|
provisioner "file" {
|
|
source = "files/gaiad.service"
|
|
destination = "/etc/systemd/system/gaiad.service"
|
|
}
|
|
|
|
provisioner "remote-exec" {
|
|
inline = [
|
|
"chmod +x /tmp/terraform.sh",
|
|
"/tmp/terraform.sh ${var.name} ${count.index}",
|
|
]
|
|
}
|
|
|
|
}
|
|
|