mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-06 07:57:35 +00:00
convert more command to use a generated clientset
This commit is contained in:
@@ -25,9 +25,10 @@ import (
|
||||
|
||||
"github.com/renstrom/dedent"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned"
|
||||
"k8s.io/kubernetes/pkg/client/restclient"
|
||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
||||
"k8s.io/kubernetes/pkg/client/unversioned/portforward"
|
||||
"k8s.io/kubernetes/pkg/client/unversioned/remotecommand"
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
@@ -37,8 +38,9 @@ import (
|
||||
type PortForwardOptions struct {
|
||||
Namespace string
|
||||
PodName string
|
||||
RESTClient *restclient.RESTClient
|
||||
Config *restclient.Config
|
||||
Client *client.Client
|
||||
PodClient coreclient.PodsGetter
|
||||
Ports []string
|
||||
PortForwarder portForwarder
|
||||
StopChannel chan struct{}
|
||||
@@ -130,15 +132,20 @@ func (o *PortForwardOptions) Complete(f *cmdutil.Factory, cmd *cobra.Command, ar
|
||||
return err
|
||||
}
|
||||
|
||||
o.Client, err = f.Client()
|
||||
clientset, err := f.ClientSet()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
o.PodClient = clientset.Core()
|
||||
|
||||
o.Config, err = f.ClientConfig()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
o.RESTClient, err = f.RESTClient()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
o.StopChannel = make(chan struct{}, 1)
|
||||
o.ReadyChannel = make(chan struct{})
|
||||
@@ -155,15 +162,15 @@ func (o PortForwardOptions) Validate() error {
|
||||
return fmt.Errorf("at least 1 PORT is required for port-forward")
|
||||
}
|
||||
|
||||
if o.PortForwarder == nil || o.Client == nil || o.Config == nil {
|
||||
return fmt.Errorf("client, client config, and portforwarder must be provided")
|
||||
if o.PortForwarder == nil || o.PodClient == nil || o.RESTClient == nil || o.Config == nil {
|
||||
return fmt.Errorf("client, client config, restClient, and portforwarder must be provided")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// RunPortForward implements all the necessary functionality for port-forward cmd.
|
||||
func (o PortForwardOptions) RunPortForward() error {
|
||||
pod, err := o.Client.Pods(o.Namespace).Get(o.PodName)
|
||||
pod, err := o.PodClient.Pods(o.Namespace).Get(o.PodName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -183,7 +190,7 @@ func (o PortForwardOptions) RunPortForward() error {
|
||||
}
|
||||
}()
|
||||
|
||||
req := o.Client.RESTClient.Post().
|
||||
req := o.RESTClient.Post().
|
||||
Resource("pods").
|
||||
Namespace(o.Namespace).
|
||||
Name(pod.Name).
|
||||
|
||||
Reference in New Issue
Block a user