installer-env: wait for services to be reachable
diff --git a/core/installer/tasks/web.go b/core/installer/tasks/web.go
new file mode 100644
index 0000000..5136287
--- /dev/null
+++ b/core/installer/tasks/web.go
@@ -0,0 +1,20 @@
+package tasks
+
+import (
+	"fmt"
+	"net/http"
+	"time"
+)
+
+func waitForAddr(addr string) Task {
+	t := newLeafTask(fmt.Sprintf("Wait for %s to come up", addr), func() error {
+		for {
+			if resp, err := http.Get(addr); err != nil || resp.StatusCode != http.StatusOK {
+				time.Sleep(2 * time.Second)
+			} else {
+				return nil
+			}
+		}
+	})
+	return &t
+}