Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide kubectl.kubernetes.io/last-applied-configuration in describe #88758

Merged
merged 2 commits into from Mar 4, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion hack/.golint_failures
Expand Up @@ -488,7 +488,7 @@ staging/src/k8s.io/kubectl/pkg/cmd/testing
staging/src/k8s.io/kubectl/pkg/cmd/top
staging/src/k8s.io/kubectl/pkg/cmd/util
staging/src/k8s.io/kubectl/pkg/cmd/wait
staging/src/k8s.io/kubectl/pkg/describe/versioned
staging/src/k8s.io/kubectl/pkg/describe
staging/src/k8s.io/kubectl/pkg/generate
staging/src/k8s.io/kubectl/pkg/generate/versioned
staging/src/k8s.io/kubectl/pkg/metricsutil
Expand Down
2 changes: 1 addition & 1 deletion pkg/kubectl/cmd/auth/BUILD
Expand Up @@ -34,7 +34,7 @@ go_library(
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/cmd/util:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe/versioned:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/scheme:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/rbac:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/templates:go_default_library",
Expand Down
4 changes: 2 additions & 2 deletions pkg/kubectl/cmd/auth/cani.go
Expand Up @@ -39,7 +39,7 @@ import (
discovery "k8s.io/client-go/discovery"
authorizationv1client "k8s.io/client-go/kubernetes/typed/authorization/v1"
cmdutil "k8s.io/kubectl/pkg/cmd/util"
describeutil "k8s.io/kubectl/pkg/describe/versioned"
"k8s.io/kubectl/pkg/describe"
rbacutil "k8s.io/kubectl/pkg/util/rbac"
"k8s.io/kubectl/pkg/util/templates"
)
Expand Down Expand Up @@ -367,7 +367,7 @@ func printAccessHeaders(out io.Writer) error {

func printAccess(out io.Writer, rules []rbacv1.PolicyRule) error {
for _, r := range rules {
if _, err := fmt.Fprintf(out, "%s\t%v\t%v\t%v\n", describeutil.CombineResourceGroup(r.Resources, r.APIGroups), r.NonResourceURLs, r.ResourceNames, r.Verbs); err != nil {
if _, err := fmt.Fprintf(out, "%s\t%v\t%v\t%v\n", describe.CombineResourceGroup(r.Resources, r.APIGroups), r.NonResourceURLs, r.ResourceNames, r.Verbs); err != nil {
return err
}
}
Expand Down
2 changes: 0 additions & 2 deletions staging/src/k8s.io/kubectl/pkg/cmd/describe/BUILD
Expand Up @@ -15,7 +15,6 @@ go_library(
"//staging/src/k8s.io/cli-runtime/pkg/resource:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/cmd/util:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe/versioned:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/i18n:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/templates:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library",
Expand All @@ -34,7 +33,6 @@ go_test(
"//staging/src/k8s.io/client-go/rest/fake:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/cmd/testing:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/describe/versioned:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/scheme:go_default_library",
],
)
Expand Down
7 changes: 3 additions & 4 deletions staging/src/k8s.io/kubectl/pkg/cmd/describe/describe.go
Expand Up @@ -30,7 +30,6 @@ import (
"k8s.io/cli-runtime/pkg/resource"
cmdutil "k8s.io/kubectl/pkg/cmd/util"
"k8s.io/kubectl/pkg/describe"
describeversioned "k8s.io/kubectl/pkg/describe/versioned"
"k8s.io/kubectl/pkg/util/i18n"
"k8s.io/kubectl/pkg/util/templates"
)
Expand Down Expand Up @@ -74,7 +73,7 @@ type DescribeOptions struct {
Selector string
Namespace string

Describer func(*meta.RESTMapping) (describe.Describer, error)
Describer func(*meta.RESTMapping) (describe.ResourceDescriber, error)
NewBuilder func() *resource.Builder

BuilderArgs []string
Expand Down Expand Up @@ -136,8 +135,8 @@ func (o *DescribeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [

o.BuilderArgs = args

o.Describer = func(mapping *meta.RESTMapping) (describe.Describer, error) {
return describeversioned.DescriberFn(f, mapping)
o.Describer = func(mapping *meta.RESTMapping) (describe.ResourceDescriber, error) {
return describe.DescriberFn(f, mapping)
}

o.NewBuilder = f.NewBuilder
Expand Down
39 changes: 19 additions & 20 deletions staging/src/k8s.io/kubectl/pkg/cmd/describe/describe_test.go
Expand Up @@ -28,18 +28,17 @@ import (
"k8s.io/client-go/rest/fake"
cmdtesting "k8s.io/kubectl/pkg/cmd/testing"
"k8s.io/kubectl/pkg/describe"
versioneddescribe "k8s.io/kubectl/pkg/describe/versioned"
"k8s.io/kubectl/pkg/scheme"
)

// Verifies that schemas that are not in the master tree of Kubernetes can be retrieved via Get.
func TestDescribeUnknownSchemaObject(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

tf := cmdtesting.NewTestFactory().WithNamespace("non-default")
defer tf.Cleanup()
Expand Down Expand Up @@ -67,11 +66,11 @@ func TestDescribeUnknownSchemaObject(t *testing.T) {
// Verifies that schemas that are not in the master tree of Kubernetes can be retrieved via Get.
func TestDescribeUnknownNamespacedSchemaObject(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

tf := cmdtesting.NewTestFactory()
defer tf.Cleanup()
Expand Down Expand Up @@ -99,11 +98,11 @@ func TestDescribeUnknownNamespacedSchemaObject(t *testing.T) {

func TestDescribeObject(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

_, _, rc := cmdtesting.TestData()
tf := cmdtesting.NewTestFactory().WithNamespace("test")
Expand Down Expand Up @@ -140,11 +139,11 @@ func TestDescribeObject(t *testing.T) {

func TestDescribeListObjects(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

pods, _, _ := cmdtesting.TestData()
tf := cmdtesting.NewTestFactory().WithNamespace("test")
Expand All @@ -167,11 +166,11 @@ func TestDescribeListObjects(t *testing.T) {

func TestDescribeObjectShowEvents(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

pods, _, _ := cmdtesting.TestData()
tf := cmdtesting.NewTestFactory().WithNamespace("test")
Expand All @@ -193,11 +192,11 @@ func TestDescribeObjectShowEvents(t *testing.T) {

func TestDescribeObjectSkipEvents(t *testing.T) {
d := &testDescriber{Output: "test output"}
oldFn := versioneddescribe.DescriberFn
oldFn := describe.DescriberFn
defer func() {
versioneddescribe.DescriberFn = oldFn
describe.DescriberFn = oldFn
}()
versioneddescribe.DescriberFn = d.describerFor
describe.DescriberFn = d.describerFor

pods, _, _ := cmdtesting.TestData()
tf := cmdtesting.NewTestFactory().WithNamespace("test")
Expand Down Expand Up @@ -310,6 +309,6 @@ func (t *testDescriber) Describe(namespace, name string, describerSettings descr
t.Settings = describerSettings
return t.Output, t.Err
}
func (t *testDescriber) describerFor(restClientGetter genericclioptions.RESTClientGetter, mapping *meta.RESTMapping) (describe.Describer, error) {
func (t *testDescriber) describerFor(restClientGetter genericclioptions.RESTClientGetter, mapping *meta.RESTMapping) (describe.ResourceDescriber, error) {
return t, nil
}
81 changes: 75 additions & 6 deletions staging/src/k8s.io/kubectl/pkg/describe/BUILD
@@ -1,14 +1,60 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
srcs = ["interface.go"],
srcs = [
"describe.go",
"interface.go",
],
importmap = "k8s.io/kubernetes/vendor/k8s.io/kubectl/pkg/describe",
importpath = "k8s.io/kubectl/pkg/describe",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/batch/v1:go_default_library",
"//staging/src/k8s.io/api/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/api/certificates/v1beta1:go_default_library",
"//staging/src/k8s.io/api/coordination/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/discovery/v1beta1:go_default_library",
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
"//staging/src/k8s.io/api/networking/v1:go_default_library",
"//staging/src/k8s.io/api/networking/v1beta1:go_default_library",
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
"//staging/src/k8s.io/api/scheduling/v1:go_default_library",
"//staging/src/k8s.io/api/storage/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/duration:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library",
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
"//staging/src/k8s.io/client-go/tools/reference:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/scheme:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/certificate:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/deployment:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/event:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/fieldpath:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/qos:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/rbac:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/resource:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/slice:go_default_library",
"//staging/src/k8s.io/kubectl/pkg/util/storage:go_default_library",
"//vendor/github.com/fatih/camelcase:go_default_library",
"//vendor/k8s.io/klog:go_default_library",
],
)

Expand All @@ -21,10 +67,33 @@ filegroup(

filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//staging/src/k8s.io/kubectl/pkg/describe/versioned:all-srcs",
],
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

go_test(
name = "go_default_test",
srcs = ["describe_test.go"],
embed = [":go_default_library"],
deps = [
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/coordination/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/discovery/v1beta1:go_default_library",
"//staging/src/k8s.io/api/networking/v1:go_default_library",
"//staging/src/k8s.io/api/networking/v1beta1:go_default_library",
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
"//staging/src/k8s.io/api/storage/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
"//vendor/k8s.io/utils/pointer:go_default_library",
],
)