func watchStatus(client client.Client, logger logging.Logger) { key, err := types.ToPodUniqueKey(*podUniqueKey) if err != nil { logger.Fatalf("Could not parse passed pod unique key %q as uuid: %s", *podUniqueKey, err) } ctx, cancelFunc := context.WithCancel(context.Background()) defer cancelFunc() outCh, err := client.WatchStatus(ctx, key, 1) // 1 so we wait for the key to exist if err != nil { logger.Fatal(err) } for i := 0; i < *numIterations; i++ { val, ok := <-outCh if !ok { logger.Fatal("Channel closed unexpectedly") } if val.Error != nil { logger.Fatal(val.Error) } bytes, err := json.Marshal(val) if err != nil { logger.Fatal(err) } fmt.Println(string(bytes)) } }