@@ -14,20 +14,41 @@ resource "scaleway_server" "node" {
1414 type = " ${ var . server_type } "
1515 dynamic_ip_required = true
1616 boot_type = " local"
17+
18+ # initialization sequence
19+ cloudinit = " ${ data . template_file . userdata . rendered } "
20+ provisioner "remote-exec" {
21+ inline = [" while [ ! -f /var/lib/cloud/instance/boot-finished ]; do echo 'waiting for cloud-init initialization'; sleep 10; done;" ]
22+ }
23+ provisioner "local-exec" {
24+ command = " sleep 80" # wait more than 1 minute for the instance to be rebooted
25+ }
26+
1727}
1828
1929data "template_file" "userdata" {
2030 template = " ${ file (" ${ path . module } /cloud-init-user-data" )} "
2131
2232 vars {
23- distrib = " ${ var . docker_distrib } "
2433 codename = " ${ var . docker_distrib_codename } "
34+ distrib = " ${ var . docker_distrib } "
35+ user = " ${ var . username } "
2536 }
2637}
2738
28- resource "scaleway_user_data" "ud" {
29- count = " ${ var . node_count } "
30- server = " ${ element (scaleway_server. node . * . id , count. index )} "
31- key = " cloud-init"
32- value = " ${ data . template_file . userdata . rendered } "
39+ resource "null_resource" "node" {
40+ count = " ${ var . node_count } "
41+
42+ connection {
43+ host = " ${ element (scaleway_server. node . * . public_ip , count. index )} "
44+ user = " ${ var . username } "
45+ }
46+
47+ provisioner "remote-exec" {
48+ inline = [
49+ " mkdir -p ~/www" ,
50+ " echo 'It works' > ~/www/index.html" ,
51+ " docker run --name http-nginx --restart=always -v ~/www:/usr/share/nginx/html:ro -p 80:80 -d nginx"
52+ ]
53+ }
3354}
0 commit comments