@@ -246,8 +246,8 @@ func (kc KubeClient) WaitForPodState(ctx context.Context, opts WaitForStatusOpti
246246 return nil
247247}
248248
249- func ( kc KubeClient ) MapPorts ( ctx context. Context , opts PortMappingOptions ) error {
250-
249+ //MapPortsToLocalhost runs a port-forwarder daemon process
250+ func ( kc KubeClient ) MapPortsToLocalhost ( ctx context. Context , opts PortMappingOptions ) error {
251251 stopChannel := make (chan struct {}, 1 )
252252 readyChannel := make (chan struct {})
253253
@@ -260,19 +260,20 @@ func (kc KubeClient) MapPorts(ctx context.Context, opts PortMappingOptions) erro
260260 return err
261261 }
262262 eg .Go (func () error {
263+ ports := []string {}
264+ for _ , p := range servicePorts {
265+ ports = append (ports , fmt .Sprintf ("%d:%d" , p .PublishedPort , p .TargetPort ))
266+ }
263267
264- req := kc .client .RESTClient ().Post ().Resource ("pods" ).Namespace (kc .namespace ).Name (pod .Name ).SubResource ("portforward" ) //fmt.Sprintf("service/%s", serviceName)).SubResource("portforward")
268+ req := kc .client .CoreV1 ().RESTClient ().Post ().
269+ Resource ("pods" ).
270+ Name (pod .Name ).
271+ Namespace (kc .namespace ).
272+ SubResource ("portforward" )
265273 transport , upgrader , err := spdy .RoundTripperFor (kc .config )
266274 if err != nil {
267275 return err
268276 }
269-
270- ports := []string {}
271- for _ , p := range servicePorts {
272- ports = append (ports , fmt .Sprintf ("%d:%d" , p .PublishedPort , p .TargetPort ))
273- }
274- //println(req.URL().String())
275- //os.Exit(0)
276277 dialer := spdy .NewDialer (upgrader , & http.Client {Transport : transport }, "POST" , req .URL ())
277278 fw , err := portforward .New (dialer , ports , stopChannel , readyChannel , os .Stdout , os .Stderr )
278279 if err != nil {
0 commit comments