in meshcon/meshconnectord/snigate.go [169:188]
func (sg *MeshConnector) WaitService(ctx context.Context, name string) (string, error) {
for {
if ctx.Err() != nil {
return "", ctx.Err()
}
ts, err := sg.Client.CoreV1().Services("istio-system").Get(ctx, name, metav1.GetOptions{})
if err != nil {
if !Is404(err) {
log.Println("Error getting service", name, err)
return "", err
}
}
if ts != nil && len(ts.Status.LoadBalancer.Ingress) > 0 {
return ts.Status.LoadBalancer.Ingress[0].IP, nil
}
time.Sleep(200 * time.Millisecond)
}
}