mirror of https://github.com/k3s-io/k3s
kubectl: remove internalclientset dependency
parent
688550b2d3
commit
a76b6ee56a
|
@ -6,13 +6,11 @@ go_library(
|
||||||
importpath = "k8s.io/kubernetes/pkg/kubectl/describe/versioned",
|
importpath = "k8s.io/kubernetes/pkg/kubectl/describe/versioned",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/client/clientset_generated/internalclientset:go_default_library",
|
|
||||||
"//pkg/kubectl/describe:go_default_library",
|
"//pkg/kubectl/describe:go_default_library",
|
||||||
"//pkg/printers:go_default_library",
|
"//pkg/printers:go_default_library",
|
||||||
"//pkg/printers/internalversion:go_default_library",
|
"//pkg/printers/internalversion:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
||||||
"//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library",
|
"//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@ import (
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
"k8s.io/cli-runtime/pkg/genericclioptions"
|
"k8s.io/cli-runtime/pkg/genericclioptions"
|
||||||
"k8s.io/client-go/dynamic"
|
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
|
||||||
"k8s.io/kubernetes/pkg/kubectl/describe"
|
"k8s.io/kubernetes/pkg/kubectl/describe"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -42,32 +40,9 @@ func Describer(restClientGetter genericclioptions.RESTClientGetter, mapping *met
|
||||||
return describer, nil
|
return describer, nil
|
||||||
}
|
}
|
||||||
// if this is a kind we don't have a describer for yet, go generic if possible
|
// if this is a kind we don't have a describer for yet, go generic if possible
|
||||||
if genericDescriber, genericErr := genericDescriber(restClientGetter, mapping); genericErr == nil {
|
if genericDescriber, ok := printersinternal.GenericDescriberFor(mapping, clientConfig); ok {
|
||||||
return genericDescriber, nil
|
return genericDescriber, nil
|
||||||
}
|
}
|
||||||
// otherwise return an unregistered error
|
// otherwise return an unregistered error
|
||||||
return nil, fmt.Errorf("no description has been implemented for %s", mapping.GroupVersionKind.String())
|
return nil, fmt.Errorf("no description has been implemented for %s", mapping.GroupVersionKind.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
// helper function to make a generic describer, or return an error
|
|
||||||
func genericDescriber(restClientGetter genericclioptions.RESTClientGetter, mapping *meta.RESTMapping) (printers.Describer, error) {
|
|
||||||
clientConfig, err := restClientGetter.ToRESTConfig()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// used to fetch the resource
|
|
||||||
dynamicClient, err := dynamic.NewForConfig(clientConfig)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// used to get events for the resource
|
|
||||||
clientSet, err := internalclientset.NewForConfig(clientConfig)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
eventsClient := clientSet.Core()
|
|
||||||
return printersinternal.GenericDescriberFor(mapping, dynamicClient, eventsClient), nil
|
|
||||||
}
|
|
||||||
|
|
|
@ -195,8 +195,21 @@ func DescriberFor(kind schema.GroupKind, clientConfig *rest.Config) (printers.De
|
||||||
|
|
||||||
// GenericDescriberFor returns a generic describer for the specified mapping
|
// GenericDescriberFor returns a generic describer for the specified mapping
|
||||||
// that uses only information available from runtime.Unstructured
|
// that uses only information available from runtime.Unstructured
|
||||||
func GenericDescriberFor(mapping *meta.RESTMapping, dynamic dynamic.Interface, events coreclient.EventsGetter) printers.Describer {
|
func GenericDescriberFor(mapping *meta.RESTMapping, clientConfig *rest.Config) (printers.Describer, bool) {
|
||||||
return &genericDescriber{mapping, dynamic, events}
|
// used to fetch the resource
|
||||||
|
dynamicClient, err := dynamic.NewForConfig(clientConfig)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
|
||||||
|
// used to get events for the resource
|
||||||
|
clientSet, err := clientset.NewForConfig(clientConfig)
|
||||||
|
if err != nil {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
eventsClient := clientSet.Core()
|
||||||
|
|
||||||
|
return &genericDescriber{mapping, dynamicClient, eventsClient}, true
|
||||||
}
|
}
|
||||||
|
|
||||||
type genericDescriber struct {
|
type genericDescriber struct {
|
||||||
|
|
Loading…
Reference in New Issue