func()

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)
	}
}