Merge pull request #32152 from deads2k/client-02-make-clientset

Automatic merge from submit-queue

add ClientSet to factory to remove non-generated client

We should move to using generated clients in the `kubectl` client.  We should really move to generated external clients, but this at least moves away from using manually created clients.

@fabianofranz @mfojtik When I complete this work (move the other commands and eliminate the old API), this will ripple downstream.
This commit is contained in:
Kubernetes Submit Queue
2016-09-10 01:59:02 -07:00
committed by GitHub
5 changed files with 50 additions and 14 deletions

View File

@@ -54,6 +54,7 @@ import (
"k8s.io/kubernetes/pkg/apis/policy"
"k8s.io/kubernetes/pkg/apis/rbac"
"k8s.io/kubernetes/pkg/apis/storage"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/typed/discovery"
"k8s.io/kubernetes/pkg/client/typed/dynamic"
@@ -98,6 +99,8 @@ type Factory struct {
JSONEncoder func() runtime.Encoder
// Returns a client for accessing Kubernetes resources or an error.
Client func() (*client.Client, error)
// ClientSet gives you back an internal, generated clientset
ClientSet func() (*internalclientset.Clientset, error)
// Returns a client.Config for accessing the Kubernetes server.
ClientConfig func() (*restclient.Config, error)
// Returns a RESTClient for working with the specified RESTMapping or an error. This is intended
@@ -406,6 +409,15 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
Client: func() (*client.Client, error) {
return clients.ClientForVersion(nil)
},
ClientSet: func() (*internalclientset.Clientset, error) {
cfg, err := clients.ClientConfigForVersion(nil)
if err != nil {
return nil, err
}
return internalclientset.NewForConfig(cfg)
},
ClientConfig: func() (*restclient.Config, error) {
return clients.ClientConfigForVersion(nil)
},