From 97ef9179e4d5cfac9369c55e5f532a1722bac10f Mon Sep 17 00:00:00 2001
From: Nemo <me@captnemo.in>
Date: Sun, 13 Jan 2019 01:40:20 +0530
Subject: [PATCH] [k8s] Make bootkube start depend on bootkube render

---
 kubernetes.tf                 |  9 ++++++---
 modules/bootkube/outputs.tf   | 13 +++++++++++++
 modules/bootkube/variables.tf |  6 ++++++
 3 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/kubernetes.tf b/kubernetes.tf
index 7abb2f1..47e3220 100644
--- a/kubernetes.tf
+++ a/kubernetes.tf
@@ -25,10 +25,11 @@
 }
 
 module "bootkube-start" {
-  source   = "modules/bootkube"
-  mode     = "start"
-  host_ip  = "${var.ips["dovpn"]}"
-  k8s_host = "k8s.${var.root-domain}"
+  depends_on = "${module.bootkube-render.image}"
+  source     = "modules/bootkube"
+  mode       = "start"
+  host_ip    = "${var.ips["dovpn"]}"
+  k8s_host   = "k8s.${var.root-domain}"
 
   providers = {
     docker = "docker.sydney"
diff --git a/modules/bootkube/outputs.tf b/modules/bootkube/outputs.tf
new file mode 100644
index 0000000..29077f3 100644
--- /dev/null
+++ a/modules/bootkube/outputs.tf
@@ -1,0 +1,13 @@
+# output "exit_code" {
+#   # TODO: Pick correct exit code
+#   # value = "${coalesce(formatlist("%s", docker_container.render.*.exit_code))}"
+#   # See https://github.com/hashicorp/terraform/issues/15165
+#   value = "${var.mode == "render" ?
+#     "${element(concat(docker_container.render.*.exit_code, list("")), 0)}" :
+#     "${element(concat(docker_container.start.*.exit_code, list("")), 0)}"
+#   }"
+# }
+
+output "image" {
+  value = "${docker_image.image.latest}"
+}
diff --git a/modules/bootkube/variables.tf b/modules/bootkube/variables.tf
index 075bd5e..6098aa6 100644
--- a/modules/bootkube/variables.tf
+++ a/modules/bootkube/variables.tf
@@ -27,3 +27,9 @@
 variable "version" {
   default = "0.14.0"
 }
+
+variable "depends_on" {
+  default = []
+
+  type = "list"
+}
--
rgit 0.1.5