func NewPortForwarder(namespace string) (*PortForwarder, error) {
	if namespace == "" {
		namespace = "default"
	}

	rules := clientcmd.NewDefaultClientConfigLoadingRules()
	overrides := &clientcmd.ConfigOverrides{}
	kubeConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, overrides)
	config, err := kubeConfig.ClientConfig()
	if err != nil {
		return nil, err
	}

	client, err := kubernetes.NewForConfig(config)
	if err != nil {
		return nil, err
	}

	core := client.CoreV1()

	return &PortForwarder{
		core:          core,
		client:        core.RESTClient(),
		config:        config,
		namespace:     namespace,
		logger:        log.StandardLogger().Writer(),
		stopChansLock: &sync.Mutex{},
		stopChans:     []chan struct{}{},
		shutdown:      false,
	}, nil
}
func NewPortForwarder(namespace string) (*PortForwarder, error) {
	if namespace == "" {
		namespace = "default"
	}

	rules := clientcmd.NewDefaultClientConfigLoadingRules()
	overrides := &clientcmd.ConfigOverrides{}
	kubeConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, overrides)
	config, err := kubeConfig.ClientConfig()
	if err != nil {
		return nil, err
	}

	client, err := kubernetes.NewForConfig(config)
	if err != nil {
		return nil, err
	}

	core := client.CoreV1()

	return &PortForwarder{
		core:          core,
		client:        core.RESTClient(),
		config:        config,
		namespace:     namespace,
		logger:        log.StandardLogger().Writer(),
		stopChansLock: &sync.Mutex{},
		stopChans:     []chan struct{}{},
		shutdown:      false,
	}, nil
}
func NewPortForwarder ( namespace string ) ( * PortForwarder , error ) { if namespace == " " { namespace = " " } rules := clientcmd . NewDefaultClientConfigLoadingRules ( ) overrides := & clientcmd . ConfigOverrides { } kubeConfig := clientcmd . NewNonInteractiveDeferredLoadingClientConfig ( rules , overrides ) config , err := kubeConfig . ClientConfig ( ) if err != nil { return nil , err } client , err := kubernetes . NewForConfig ( config ) if err != nil { return nil , err } core := client . CoreV1 ( ) return & PortForwarder { core : core , client : core . RESTClient ( ) , config : config , namespace : namespace , logger : log . StandardLogger ( ) . Writer ( ) , stopChansLock : & sync . Mutex { } , stopChans : [ ] chan struct { } { } , shutdown : false , } , nil }
// NewPortForwarder creates a new port forwarder
NewPortForwarder creates a new port forwarder