code: func newExternalClusterClient(endpoint, token, caFilePath string) (*clientWrapper, error) {
  	if endpoint == "" {
  		return nil, errors.New("endpoint missing for external cluster client")
  	}
  
  	config := &rest.Config{
  		Host:        endpoint,
  		BearerToken: token,
  	}
  
  	if caFilePath != "" {
  		caData, err := ioutil.ReadFile(caFilePath)
  		if err != nil {
  			return nil, fmt.Errorf("failed to read CA file %s: %s", caFilePath, err)
  		}
  
  		config.TLSClientConfig = rest.TLSClientConfig{CAData: caData}
  	}
  	return createClientFromConfig(config)
  }
docs: // newExternalClusterClient returns a new Provider client that may run outside
  // of the cluster.
  // The endpoint parameter must not be empty.