Skip to content

Commit 4b26e44

Browse files
authored
Running ansible after created the droplet (#1)
* Running ansible after created the droplet * Allow multiple VM and add sleep before starting ansible Co-authored-by: Nodauf <[email protected]>
1 parent 7410f09 commit 4b26e44

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

digital-ocean/server.tf

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,37 @@ data "template_file" "cloud_init_yaml" {
2626
ssh_public_key = file(var.ssh_public_key)
2727
username = var.username
2828
}
29-
}
29+
}
30+
31+
data "template_file" "dev_hosts" {
32+
template = "${file("${path.module}/templates/host.cfg")}"
33+
depends_on = [
34+
digitalocean_droplet.vm_instance,
35+
]
36+
vars= {
37+
externalIP = join("\n", digitalocean_droplet.vm_instance.*.ipv4_address)
38+
}
39+
}
40+
41+
42+
resource "null_resource" "sleep-before-ansible" {
43+
triggers= {
44+
template_rendered = data.template_file.dev_hosts.rendered
45+
}
46+
47+
provisioner "local-exec" {
48+
command = "sleep 60"
49+
}
50+
}
51+
52+
resource "null_resource" "dev-hosts" {
53+
depends_on = [
54+
null_resource.sleep-before-ansible,
55+
]
56+
provisioner "local-exec" {
57+
command = "echo '${data.template_file.dev_hosts.rendered}' > ../ansible/hosts.yaml"
58+
}
59+
provisioner "local-exec" {
60+
command = "cd ../ansible && ansible-playbook playbook.yaml "
61+
}
62+
}

digital-ocean/templates/host.cfg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[lab]
2+
${externalIP}

0 commit comments

Comments
 (0)