code: func InitKeyClient(keysUrl string) (*LocalKeyClient, error) {
  	aliveCh := make(chan struct{})
  	localKeyClient, err := keys.NewRemoteKeyClient(keysUrl, logging.NewNoopLogger())
  	if err != nil {
  		return nil, err
  	}
  
  	err = localKeyClient.HealthCheck()
  
  	go func() {
  		for err != nil {
  			err = localKeyClient.HealthCheck()
  		}
  		aliveCh <- struct{}{}
  	}()
  	select {
  	case <-time.After(keysTimeout):
  		return nil, fmt.Errorf("keys instance did not become responsive after %s: %v", keysTimeout, err)
  	case <-aliveCh:
  		return &LocalKeyClient{localKeyClient}, nil
  	}
  }
docs: // Returns an initialized key client to a docker container
  // running the keys server
  // Adding the Ip address is optional and should only be used
  // for passing data