env: status page
Updates page asynchronously every 5 seconds.
Introduces beforeStart and afterStart trigger points to update setup status information.
Change-Id: Ic2f6a9bb7a0fefeefc4d6a1a7338d506a4f99e80
diff --git a/core/installer/tasks/dns.go b/core/installer/tasks/dns.go
index 25af486..e115b2c 100644
--- a/core/installer/tasks/dns.go
+++ b/core/installer/tasks/dns.go
@@ -15,12 +15,19 @@
type Check func(ch Check) error
func SetupZoneTask(env Env, ingressIP net.IP, st *state) Task {
- return newSequentialParentTask(
+ ret := newSequentialParentTask(
"Configure DNS",
true,
CreateZoneRecords(env.Domain, st.publicIPs, ingressIP, env, st),
WaitToPropagate(env.Domain, st.publicIPs),
)
+ ret.beforeStart = func() {
+ st.infoListener(fmt.Sprintf("Generating DNS zone records for %s", env.Domain))
+ }
+ ret.afterDone = func() {
+ st.infoListener("DNS zone records have been propagated.")
+ }
+ return ret
}
func CreateZoneRecords(