in pkg/mesh/app.go [165:180]
func (kr *KRun) WaitEnvoyReady(addr string, max time.Duration) error {
t0 := time.Now()
for {
serverStateReady, serverStateErr := kr.envoyServerStateCheck(addr)
listenerReady, listenerErr := kr.envoyListenerWorkersStartedCheck(addr)
if serverStateErr == nil && listenerErr == nil && serverStateReady && listenerReady {
log.Println("Envoy is ready")
return nil
}
if time.Since(t0) > max {
return fmt.Errorf("Timeout waiting for ready from envoy")
}
time.Sleep(100 * time.Millisecond)
}
}