From bb5e156aba3ff73ceb85576670c35d7565b84a4c Mon Sep 17 00:00:00 2001
From: Gavin
Date: Wed, 17 Jan 2018 16:22:37 +0800
Subject: [PATCH 1/2] Add generic Bootstrap Token constants and helpers to
client-go
---
cmd/kubeadm/app/cmd/phases/bootstraptoken.go | 5 ++-
cmd/kubeadm/app/cmd/token.go | 7 ++--
cmd/kubeadm/app/constants/constants.go | 2 +-
cmd/kubeadm/app/discovery/file/file.go | 2 +-
cmd/kubeadm/app/discovery/token/token.go | 2 +-
.../bootstraptoken/clusterinfo/clusterinfo.go | 2 +-
.../app/phases/bootstraptoken/node/token.go | 5 ++-
pkg/bootstrap/api/BUILD | 41 -------------------
pkg/bootstrap/api/OWNERS | 5 ---
pkg/controller/bootstrap/bootstrapsigner.go | 2 +-
.../bootstrap/bootstrapsigner_test.go | 2 +-
pkg/controller/bootstrap/common_test.go | 2 +-
pkg/controller/bootstrap/tokencleaner.go | 2 +-
pkg/controller/bootstrap/util.go | 2 +-
pkg/controller/bootstrap/util_test.go | 2 +-
.../token/bootstrap/bootstrap.go | 9 ++--
.../token/bootstrap/bootstrap_test.go | 2 +-
.../tools/bootstrap/token}/api/doc.go | 2 +-
.../tools/bootstrap/token}/api/types.go | 0
.../tools/bootstrap/token/util}/helpers.go | 11 ++---
.../bootstrap/token/util}/helpers_test.go | 2 +-
.../lifecycle/bootstrap/bootstrap_signer.go | 2 +-
.../bootstrap/bootstrap_token_cleaner.go | 2 +-
test/e2e/lifecycle/bootstrap/util.go | 2 +-
test/integration/auth/bootstraptoken_test.go | 2 +-
25 files changed, 38 insertions(+), 79 deletions(-)
delete mode 100644 pkg/bootstrap/api/BUILD
delete mode 100644 pkg/bootstrap/api/OWNERS
rename {pkg/bootstrap => staging/src/k8s.io/client-go/tools/bootstrap/token}/api/doc.go (92%)
rename {pkg/bootstrap => staging/src/k8s.io/client-go/tools/bootstrap/token}/api/types.go (100%)
rename {pkg/bootstrap/api => staging/src/k8s.io/client-go/tools/bootstrap/token/util}/helpers.go (84%)
rename {pkg/bootstrap/api => staging/src/k8s.io/client-go/tools/bootstrap/token/util}/helpers_test.go (99%)
diff --git a/cmd/kubeadm/app/cmd/phases/bootstraptoken.go b/cmd/kubeadm/app/cmd/phases/bootstraptoken.go
index fb216125636..02e602cc03e 100644
--- a/cmd/kubeadm/app/cmd/phases/bootstraptoken.go
+++ b/cmd/kubeadm/app/cmd/phases/bootstraptoken.go
@@ -26,6 +26,8 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/sets"
clientset "k8s.io/client-go/kubernetes"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
+ bootstraputil "k8s.io/client-go/tools/bootstrap/token/util"
kubeadmapiext "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation"
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
@@ -38,7 +40,6 @@ import (
kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
"k8s.io/kubernetes/cmd/kubeadm/app/util/pubkeypin"
"k8s.io/kubernetes/pkg/api/legacyscheme"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/util/normalizer"
)
@@ -327,7 +328,7 @@ func createBootstrapToken(client clientset.Interface, cfgPath string, cfg *kubea
// validate any extra group names
for _, group := range extraGroups {
- if err := bootstrapapi.ValidateBootstrapGroupName(group); err != nil {
+ if err := bootstraputil.ValidateBootstrapGroupName(group); err != nil {
return err
}
}
diff --git a/cmd/kubeadm/app/cmd/token.go b/cmd/kubeadm/app/cmd/token.go
index 87b8d077750..e9a65caf3a5 100644
--- a/cmd/kubeadm/app/cmd/token.go
+++ b/cmd/kubeadm/app/cmd/token.go
@@ -36,6 +36,8 @@ import (
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/util/sets"
clientset "k8s.io/client-go/kubernetes"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
+ bootstraputil "k8s.io/client-go/tools/bootstrap/token/util"
"k8s.io/client-go/tools/clientcmd"
clientcertutil "k8s.io/client-go/util/cert"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
@@ -48,7 +50,6 @@ import (
"k8s.io/kubernetes/cmd/kubeadm/app/util/pubkeypin"
tokenutil "k8s.io/kubernetes/cmd/kubeadm/app/util/token"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/printers"
)
@@ -226,13 +227,13 @@ func RunCreateToken(out io.Writer, client clientset.Interface, token string, tok
// validate any extra group names
for _, group := range extraGroups {
- if err := bootstrapapi.ValidateBootstrapGroupName(group); err != nil {
+ if err := bootstraputil.ValidateBootstrapGroupName(group); err != nil {
return err
}
}
// validate usages
- if err := bootstrapapi.ValidateUsages(usages); err != nil {
+ if err := bootstraputil.ValidateUsages(usages); err != nil {
return err
}
diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go
index 390b8c5f1d8..a5e5e7ff0ff 100644
--- a/cmd/kubeadm/app/constants/constants.go
+++ b/cmd/kubeadm/app/constants/constants.go
@@ -25,7 +25,7 @@ import (
"time"
"k8s.io/api/core/v1"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator"
"k8s.io/kubernetes/pkg/util/version"
)
diff --git a/cmd/kubeadm/app/discovery/file/file.go b/cmd/kubeadm/app/discovery/file/file.go
index 60d3d48d08b..c1cb537d5cd 100644
--- a/cmd/kubeadm/app/discovery/file/file.go
+++ b/cmd/kubeadm/app/discovery/file/file.go
@@ -23,11 +23,11 @@ import (
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
)
// RetrieveValidatedClusterInfo connects to the API Server and makes sure it can talk
diff --git a/cmd/kubeadm/app/discovery/token/token.go b/cmd/kubeadm/app/discovery/token/token.go
index 69dc3a94f9c..2079520a655 100644
--- a/cmd/kubeadm/app/discovery/token/token.go
+++ b/cmd/kubeadm/app/discovery/token/token.go
@@ -26,13 +26,13 @@ import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
"k8s.io/kubernetes/cmd/kubeadm/app/util/pubkeypin"
tokenutil "k8s.io/kubernetes/cmd/kubeadm/app/util/token"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/controller/bootstrap"
)
diff --git a/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/clusterinfo.go b/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/clusterinfo.go
index b1295c8552f..9cf9b01a79d 100644
--- a/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/clusterinfo.go
+++ b/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/clusterinfo.go
@@ -24,11 +24,11 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apiserver/pkg/authentication/user"
clientset "k8s.io/client-go/kubernetes"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
"k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient"
rbachelper "k8s.io/kubernetes/pkg/apis/rbac/v1"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
)
const (
diff --git a/cmd/kubeadm/app/phases/bootstraptoken/node/token.go b/cmd/kubeadm/app/phases/bootstraptoken/node/token.go
index b033702c468..02f63b7ce51 100644
--- a/cmd/kubeadm/app/phases/bootstraptoken/node/token.go
+++ b/cmd/kubeadm/app/phases/bootstraptoken/node/token.go
@@ -25,8 +25,9 @@ import (
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
+ bootstraputil "k8s.io/client-go/tools/bootstrap/token/util"
tokenutil "k8s.io/kubernetes/cmd/kubeadm/app/util/token"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
)
const tokenCreateRetries = 5
@@ -115,7 +116,7 @@ func encodeTokenSecretData(tokenID, tokenSecret string, duration time.Duration,
}
// validate usages
- if err := bootstrapapi.ValidateUsages(usages); err != nil {
+ if err := bootstraputil.ValidateUsages(usages); err != nil {
return nil, err
}
for _, usage := range usages {
diff --git a/pkg/bootstrap/api/BUILD b/pkg/bootstrap/api/BUILD
deleted file mode 100644
index f72517262a5..00000000000
--- a/pkg/bootstrap/api/BUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-load(
- "@io_bazel_rules_go//go:def.bzl",
- "go_library",
- "go_test",
-)
-
-go_library(
- name = "go_default_library",
- srcs = [
- "doc.go",
- "helpers.go",
- "types.go",
- ],
- importpath = "k8s.io/kubernetes/pkg/bootstrap/api",
- deps = [
- "//vendor/k8s.io/api/core/v1:go_default_library",
- "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
- ],
-)
-
-filegroup(
- name = "package-srcs",
- srcs = glob(["**"]),
- tags = ["automanaged"],
- visibility = ["//visibility:private"],
-)
-
-filegroup(
- name = "all-srcs",
- srcs = [":package-srcs"],
- tags = ["automanaged"],
-)
-
-go_test(
- name = "go_default_test",
- srcs = ["helpers_test.go"],
- embed = [":go_default_library"],
- importpath = "k8s.io/kubernetes/pkg/bootstrap/api",
-)
diff --git a/pkg/bootstrap/api/OWNERS b/pkg/bootstrap/api/OWNERS
deleted file mode 100644
index 8a2f5b5915b..00000000000
--- a/pkg/bootstrap/api/OWNERS
+++ /dev/null
@@ -1,5 +0,0 @@
-approvers:
-- jbeda
-- luxas
-reviewers:
-- mattmoyer
diff --git a/pkg/controller/bootstrap/bootstrapsigner.go b/pkg/controller/bootstrap/bootstrapsigner.go
index 5db870aa49d..7677a677859 100644
--- a/pkg/controller/bootstrap/bootstrapsigner.go
+++ b/pkg/controller/bootstrap/bootstrapsigner.go
@@ -31,10 +31,10 @@ import (
informers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes"
corelisters "k8s.io/client-go/listers/core/v1"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/util/workqueue"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/util/metrics"
)
diff --git a/pkg/controller/bootstrap/bootstrapsigner_test.go b/pkg/controller/bootstrap/bootstrapsigner_test.go
index 15fab2e26b0..b7b88d5b9c5 100644
--- a/pkg/controller/bootstrap/bootstrapsigner_test.go
+++ b/pkg/controller/bootstrap/bootstrapsigner_test.go
@@ -28,8 +28,8 @@ import (
coreinformers "k8s.io/client-go/informers/core/v1"
"k8s.io/client-go/kubernetes/fake"
core "k8s.io/client-go/testing"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/controller"
)
diff --git a/pkg/controller/bootstrap/common_test.go b/pkg/controller/bootstrap/common_test.go
index a61ebc21882..04c4d0edee4 100644
--- a/pkg/controller/bootstrap/common_test.go
+++ b/pkg/controller/bootstrap/common_test.go
@@ -24,8 +24,8 @@ import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
core "k8s.io/client-go/testing"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/kubernetes/pkg/apis/core/helper"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
)
func newTokenSecret(tokenID, tokenSecret string) *v1.Secret {
diff --git a/pkg/controller/bootstrap/tokencleaner.go b/pkg/controller/bootstrap/tokencleaner.go
index 34a91e492c8..d39582b2fb9 100644
--- a/pkg/controller/bootstrap/tokencleaner.go
+++ b/pkg/controller/bootstrap/tokencleaner.go
@@ -29,10 +29,10 @@ import (
coreinformers "k8s.io/client-go/informers/core/v1"
clientset "k8s.io/client-go/kubernetes"
corelisters "k8s.io/client-go/listers/core/v1"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/util/workqueue"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/util/metrics"
)
diff --git a/pkg/controller/bootstrap/util.go b/pkg/controller/bootstrap/util.go
index b0f1aecc7f8..d679fb17cc0 100644
--- a/pkg/controller/bootstrap/util.go
+++ b/pkg/controller/bootstrap/util.go
@@ -23,7 +23,7 @@ import (
"github.com/golang/glog"
"k8s.io/api/core/v1"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
)
var namePattern = `^` + regexp.QuoteMeta(bootstrapapi.BootstrapTokenSecretPrefix) + `([a-z0-9]{6})$`
diff --git a/pkg/controller/bootstrap/util_test.go b/pkg/controller/bootstrap/util_test.go
index 2899c68737b..d02cab61e08 100644
--- a/pkg/controller/bootstrap/util_test.go
+++ b/pkg/controller/bootstrap/util_test.go
@@ -24,7 +24,7 @@ import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
)
const (
diff --git a/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap.go b/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap.go
index 90a0137489d..a0a615886b7 100644
--- a/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap.go
+++ b/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap.go
@@ -31,8 +31,9 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apiserver/pkg/authentication/user"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
+ bootstraputil "k8s.io/client-go/tools/bootstrap/token/util"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/pkg/client/listers/core/internalversion"
)
@@ -149,7 +150,7 @@ func (t *TokenAuthenticator) AuthenticateToken(token string) (user.Info, bool, e
}, true, nil
}
-// Copied from k8s.io/kubernetes/pkg/bootstrap/api
+// Copied from k8s.io/client-go/tools/bootstrap/token/api
func getSecretString(secret *api.Secret, key string) string {
if secret.Data == nil {
return ""
@@ -160,7 +161,7 @@ func getSecretString(secret *api.Secret, key string) string {
return ""
}
-// Copied from k8s.io/kubernetes/pkg/bootstrap/api
+// Copied from k8s.io/client-go/tools/bootstrap/token/api
func isSecretExpired(secret *api.Secret) bool {
expiration := getSecretString(secret, bootstrapapi.BootstrapTokenExpirationKey)
if len(expiration) > 0 {
@@ -209,7 +210,7 @@ func getGroups(secret *api.Secret) ([]string, error) {
// validate the names of the extra groups
for _, group := range strings.Split(extraGroupsString, ",") {
- if err := bootstrapapi.ValidateBootstrapGroupName(group); err != nil {
+ if err := bootstraputil.ValidateBootstrapGroupName(group); err != nil {
return nil, err
}
groups.Insert(group)
diff --git a/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap_test.go b/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap_test.go
index f319cc8667b..99bf7fc16c5 100644
--- a/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap_test.go
+++ b/plugin/pkg/auth/authenticator/token/bootstrap/bootstrap_test.go
@@ -25,8 +25,8 @@ import (
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apiserver/pkg/authentication/user"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
)
type lister struct {
diff --git a/pkg/bootstrap/api/doc.go b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/doc.go
similarity index 92%
rename from pkg/bootstrap/api/doc.go
rename to staging/src/k8s.io/client-go/tools/bootstrap/token/api/doc.go
index 9fed79198db..72738711769 100644
--- a/pkg/bootstrap/api/doc.go
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/doc.go
@@ -17,4 +17,4 @@ limitations under the License.
// Package api (pkg/bootstrap/api) contains constants and types needed for
// bootstrap tokens as maintained by the BootstrapSigner and TokenCleaner
// controllers (in pkg/controller/bootstrap)
-package api // import "k8s.io/kubernetes/pkg/bootstrap/api"
+package api // import "k8s.io/client-go/tools/bootstrap/api"
diff --git a/pkg/bootstrap/api/types.go b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/types.go
similarity index 100%
rename from pkg/bootstrap/api/types.go
rename to staging/src/k8s.io/client-go/tools/bootstrap/token/api/types.go
diff --git a/pkg/bootstrap/api/helpers.go b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers.go
similarity index 84%
rename from pkg/bootstrap/api/helpers.go
rename to staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers.go
index c750cf75830..d28fd28f2ec 100644
--- a/pkg/bootstrap/api/helpers.go
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers.go
@@ -14,16 +14,17 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package api
+package util
import (
"fmt"
"k8s.io/apimachinery/pkg/util/sets"
+ "k8s.io/client-go/tools/bootstrap/token/api"
"regexp"
"strings"
)
-var bootstrapGroupRegexp = regexp.MustCompile(`\A` + BootstrapGroupPattern + `\z`)
+var bootstrapGroupRegexp = regexp.MustCompile(`\A` + api.BootstrapGroupPattern + `\z`)
// ValidateBootstrapGroupName checks if the provided group name is a valid
// bootstrap group name. Returns nil if valid or a validation error if invalid.
@@ -32,12 +33,12 @@ func ValidateBootstrapGroupName(name string) error {
if bootstrapGroupRegexp.Match([]byte(name)) {
return nil
}
- return fmt.Errorf("bootstrap group %q is invalid (must match %s)", name, BootstrapGroupPattern)
+ return fmt.Errorf("bootstrap group %q is invalid (must match %s)", name, api.BootstrapGroupPattern)
}
// ValidateUsages validates that the passed in string are valid usage strings for bootstrap tokens.
func ValidateUsages(usages []string) error {
- validUsages := sets.NewString(KnownTokenUsages...)
+ validUsages := sets.NewString(api.KnownTokenUsages...)
invalidUsages := sets.NewString()
for _, usage := range usages {
if !validUsages.Has(usage) {
@@ -45,7 +46,7 @@ func ValidateUsages(usages []string) error {
}
}
if len(invalidUsages) > 0 {
- return fmt.Errorf("invalide bootstrap token usage string: %s, valid usage options: %s", strings.Join(invalidUsages.List(), ","), strings.Join(KnownTokenUsages, ","))
+ return fmt.Errorf("invalide bootstrap token usage string: %s, valid usage options: %s", strings.Join(invalidUsages.List(), ","), strings.Join(api.KnownTokenUsages, ","))
}
return nil
}
diff --git a/pkg/bootstrap/api/helpers_test.go b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers_test.go
similarity index 99%
rename from pkg/bootstrap/api/helpers_test.go
rename to staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers_test.go
index d1575f60840..915bf754026 100644
--- a/pkg/bootstrap/api/helpers_test.go
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/helpers_test.go
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
-package api
+package util
import (
"strings"
diff --git a/test/e2e/lifecycle/bootstrap/bootstrap_signer.go b/test/e2e/lifecycle/bootstrap/bootstrap_signer.go
index 8b2c7fd7411..a8cd3868a89 100644
--- a/test/e2e/lifecycle/bootstrap/bootstrap_signer.go
+++ b/test/e2e/lifecycle/bootstrap/bootstrap_signer.go
@@ -22,7 +22,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/lifecycle"
)
diff --git a/test/e2e/lifecycle/bootstrap/bootstrap_token_cleaner.go b/test/e2e/lifecycle/bootstrap/bootstrap_token_cleaner.go
index 0acab639b69..57adc11473c 100644
--- a/test/e2e/lifecycle/bootstrap/bootstrap_token_cleaner.go
+++ b/test/e2e/lifecycle/bootstrap/bootstrap_token_cleaner.go
@@ -24,7 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/lifecycle"
)
diff --git a/test/e2e/lifecycle/bootstrap/util.go b/test/e2e/lifecycle/bootstrap/util.go
index 5b3e663af2b..8904c7a7272 100644
--- a/test/e2e/lifecycle/bootstrap/util.go
+++ b/test/e2e/lifecycle/bootstrap/util.go
@@ -27,7 +27,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
"k8s.io/kubernetes/test/e2e/framework"
)
diff --git a/test/integration/auth/bootstraptoken_test.go b/test/integration/auth/bootstraptoken_test.go
index 213e15ebda7..43b17c71128 100644
--- a/test/integration/auth/bootstraptoken_test.go
+++ b/test/integration/auth/bootstraptoken_test.go
@@ -27,8 +27,8 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apiserver/pkg/authentication/request/bearertoken"
+ bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api"
api "k8s.io/kubernetes/pkg/apis/core"
- bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api"
"k8s.io/kubernetes/plugin/pkg/admission/admit"
"k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap"
bootstraputil "k8s.io/kubernetes/test/e2e/lifecycle/bootstrap"
From f653d02b059b78b6a540fb7eadc4b8862226fc7a Mon Sep 17 00:00:00 2001
From: Gavin
Date: Wed, 17 Jan 2018 16:23:03 +0800
Subject: [PATCH 2/2] create auto-gen files
---
cmd/kubeadm/app/cmd/BUILD | 3 +-
cmd/kubeadm/app/cmd/phases/BUILD | 3 +-
cmd/kubeadm/app/constants/BUILD | 2 +-
cmd/kubeadm/app/discovery/file/BUILD | 2 +-
cmd/kubeadm/app/discovery/token/BUILD | 2 +-
.../phases/bootstraptoken/clusterinfo/BUILD | 2 +-
.../app/phases/bootstraptoken/node/BUILD | 3 +-
pkg/BUILD | 1 -
pkg/controller/bootstrap/BUILD | 4 +--
.../auth/authenticator/token/bootstrap/BUILD | 5 +--
staging/BUILD | 2 ++
.../client-go/tools/bootstrap/token/api/BUILD | 26 +++++++++++++++
.../tools/bootstrap/token/api/OWNERS | 5 +++
.../tools/bootstrap/token/util/BUILD | 33 +++++++++++++++++++
test/e2e/lifecycle/bootstrap/BUILD | 2 +-
test/integration/auth/BUILD | 2 +-
16 files changed, 83 insertions(+), 14 deletions(-)
create mode 100644 staging/src/k8s.io/client-go/tools/bootstrap/token/api/BUILD
create mode 100644 staging/src/k8s.io/client-go/tools/bootstrap/token/api/OWNERS
create mode 100644 staging/src/k8s.io/client-go/tools/bootstrap/token/util/BUILD
diff --git a/cmd/kubeadm/app/cmd/BUILD b/cmd/kubeadm/app/cmd/BUILD
index f15c577dee5..448a61ed0cf 100644
--- a/cmd/kubeadm/app/cmd/BUILD
+++ b/cmd/kubeadm/app/cmd/BUILD
@@ -54,7 +54,6 @@ go_library(
"//cmd/kubeadm/app/util/token:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
"//pkg/apis/core:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library",
"//pkg/printers:go_default_library",
@@ -73,6 +72,8 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/version:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/util:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/util/cert:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library",
diff --git a/cmd/kubeadm/app/cmd/phases/BUILD b/cmd/kubeadm/app/cmd/phases/BUILD
index ec3ae74f96d..114c6946430 100644
--- a/cmd/kubeadm/app/cmd/phases/BUILD
+++ b/cmd/kubeadm/app/cmd/phases/BUILD
@@ -49,13 +49,14 @@ go_library(
"//cmd/kubeadm/app/util/kubeconfig:go_default_library",
"//cmd/kubeadm/app/util/pubkeypin:go_default_library",
"//pkg/api/legacyscheme:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/util/normalizer:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/util:go_default_library",
"//vendor/k8s.io/utils/exec:go_default_library",
],
)
diff --git a/cmd/kubeadm/app/constants/BUILD b/cmd/kubeadm/app/constants/BUILD
index 30d303111a7..84e98154fbc 100644
--- a/cmd/kubeadm/app/constants/BUILD
+++ b/cmd/kubeadm/app/constants/BUILD
@@ -11,10 +11,10 @@ go_library(
srcs = ["constants.go"],
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/constants",
deps = [
- "//pkg/bootstrap/api:go_default_library",
"//pkg/registry/core/service/ipallocator:go_default_library",
"//pkg/util/version:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
],
)
diff --git a/cmd/kubeadm/app/discovery/file/BUILD b/cmd/kubeadm/app/discovery/file/BUILD
index b0cf89d8e5a..363a8f27220 100644
--- a/cmd/kubeadm/app/discovery/file/BUILD
+++ b/cmd/kubeadm/app/discovery/file/BUILD
@@ -12,11 +12,11 @@ go_library(
deps = [
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/util/kubeconfig:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd/api:go_default_library",
],
diff --git a/cmd/kubeadm/app/discovery/token/BUILD b/cmd/kubeadm/app/discovery/token/BUILD
index cb4de3f600f..dd00f687734 100644
--- a/cmd/kubeadm/app/discovery/token/BUILD
+++ b/cmd/kubeadm/app/discovery/token/BUILD
@@ -15,11 +15,11 @@ go_library(
"//cmd/kubeadm/app/util/kubeconfig:go_default_library",
"//cmd/kubeadm/app/util/pubkeypin:go_default_library",
"//cmd/kubeadm/app/util/token:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/controller/bootstrap:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd/api:go_default_library",
],
diff --git a/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/BUILD b/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/BUILD
index df3f70f55f9..37f1f585ad7 100644
--- a/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/BUILD
+++ b/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo/BUILD
@@ -27,12 +27,12 @@ go_library(
deps = [
"//cmd/kubeadm/app/util/apiclient:go_default_library",
"//pkg/apis/rbac/v1:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apiserver/pkg/authentication/user:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd/api:go_default_library",
],
diff --git a/cmd/kubeadm/app/phases/bootstraptoken/node/BUILD b/cmd/kubeadm/app/phases/bootstraptoken/node/BUILD
index e20d68b5d57..18277ceb1a6 100644
--- a/cmd/kubeadm/app/phases/bootstraptoken/node/BUILD
+++ b/cmd/kubeadm/app/phases/bootstraptoken/node/BUILD
@@ -25,12 +25,13 @@ go_library(
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/util/apiclient:go_default_library",
"//cmd/kubeadm/app/util/token:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/util:go_default_library",
],
)
diff --git a/pkg/BUILD b/pkg/BUILD
index 5e06162d6c4..81f72da72bd 100644
--- a/pkg/BUILD
+++ b/pkg/BUILD
@@ -50,7 +50,6 @@ filegroup(
"//pkg/apis/storage:all-srcs",
"//pkg/auth/authorizer/abac:all-srcs",
"//pkg/auth/nodeidentifier:all-srcs",
- "//pkg/bootstrap/api:all-srcs",
"//pkg/capabilities:all-srcs",
"//pkg/client/chaosclient:all-srcs",
"//pkg/client/clientset_generated/internalclientset:all-srcs",
diff --git a/pkg/controller/bootstrap/BUILD b/pkg/controller/bootstrap/BUILD
index f5850a6fba9..d7e514e7ff1 100644
--- a/pkg/controller/bootstrap/BUILD
+++ b/pkg/controller/bootstrap/BUILD
@@ -20,7 +20,6 @@ go_test(
deps = [
"//pkg/apis/core:go_default_library",
"//pkg/apis/core/helper:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/controller:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
"//vendor/github.com/stretchr/testify/assert:go_default_library",
@@ -31,6 +30,7 @@ go_test(
"//vendor/k8s.io/client-go/informers/core/v1:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/fake:go_default_library",
"//vendor/k8s.io/client-go/testing:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
],
)
@@ -46,7 +46,6 @@ go_library(
importpath = "k8s.io/kubernetes/pkg/controller/bootstrap",
deps = [
"//pkg/apis/core:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/controller:go_default_library",
"//pkg/util/metrics:go_default_library",
"//vendor/github.com/golang/glog:go_default_library",
@@ -60,6 +59,7 @@ go_library(
"//vendor/k8s.io/client-go/informers/core/v1:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/listers/core/v1:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
"//vendor/k8s.io/client-go/util/workqueue:go_default_library",
],
diff --git a/plugin/pkg/auth/authenticator/token/bootstrap/BUILD b/plugin/pkg/auth/authenticator/token/bootstrap/BUILD
index d2f3a239d45..0464fa85831 100644
--- a/plugin/pkg/auth/authenticator/token/bootstrap/BUILD
+++ b/plugin/pkg/auth/authenticator/token/bootstrap/BUILD
@@ -13,12 +13,12 @@ go_test(
importpath = "k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap",
deps = [
"//pkg/apis/core:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/apiserver/pkg/authentication/user:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
],
)
@@ -28,12 +28,13 @@ go_library(
importpath = "k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap",
deps = [
"//pkg/apis/core:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/client/listers/core/internalversion:go_default_library",
"//vendor/github.com/golang/glog:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apiserver/pkg/authentication/user:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/util:go_default_library",
],
)
diff --git a/staging/BUILD b/staging/BUILD
index b7f2b8fbd08..ff9fea11b74 100644
--- a/staging/BUILD
+++ b/staging/BUILD
@@ -179,6 +179,8 @@ filegroup(
"//staging/src/k8s.io/client-go/testing:all-srcs",
"//staging/src/k8s.io/client-go/third_party/forked/golang/template:all-srcs",
"//staging/src/k8s.io/client-go/tools/auth:all-srcs",
+ "//staging/src/k8s.io/client-go/tools/bootstrap/token/api:all-srcs",
+ "//staging/src/k8s.io/client-go/tools/bootstrap/token/util:all-srcs",
"//staging/src/k8s.io/client-go/tools/cache:all-srcs",
"//staging/src/k8s.io/client-go/tools/clientcmd:all-srcs",
"//staging/src/k8s.io/client-go/tools/leaderelection:all-srcs",
diff --git a/staging/src/k8s.io/client-go/tools/bootstrap/token/api/BUILD b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/BUILD
new file mode 100644
index 00000000000..7416adc0106
--- /dev/null
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/BUILD
@@ -0,0 +1,26 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+ name = "go_default_library",
+ srcs = [
+ "doc.go",
+ "types.go",
+ ],
+ importpath = "k8s.io/client-go/tools/bootstrap/token/api",
+ visibility = ["//visibility:public"],
+ deps = ["//vendor/k8s.io/api/core/v1:go_default_library"],
+)
+
+filegroup(
+ name = "package-srcs",
+ srcs = glob(["**"]),
+ tags = ["automanaged"],
+ visibility = ["//visibility:private"],
+)
+
+filegroup(
+ name = "all-srcs",
+ srcs = [":package-srcs"],
+ tags = ["automanaged"],
+ visibility = ["//visibility:public"],
+)
diff --git a/staging/src/k8s.io/client-go/tools/bootstrap/token/api/OWNERS b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/OWNERS
new file mode 100644
index 00000000000..8a2f5b5915b
--- /dev/null
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/api/OWNERS
@@ -0,0 +1,5 @@
+approvers:
+- jbeda
+- luxas
+reviewers:
+- mattmoyer
diff --git a/staging/src/k8s.io/client-go/tools/bootstrap/token/util/BUILD b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/BUILD
new file mode 100644
index 00000000000..9c015fb5d11
--- /dev/null
+++ b/staging/src/k8s.io/client-go/tools/bootstrap/token/util/BUILD
@@ -0,0 +1,33 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["helpers.go"],
+ importpath = "k8s.io/client-go/tools/bootstrap/token/util",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
+ ],
+)
+
+go_test(
+ name = "go_default_test",
+ srcs = ["helpers_test.go"],
+ embed = [":go_default_library"],
+ importpath = "k8s.io/client-go/tools/bootstrap/token/util",
+)
+
+filegroup(
+ name = "package-srcs",
+ srcs = glob(["**"]),
+ tags = ["automanaged"],
+ visibility = ["//visibility:private"],
+)
+
+filegroup(
+ name = "all-srcs",
+ srcs = [":package-srcs"],
+ tags = ["automanaged"],
+ visibility = ["//visibility:public"],
+)
diff --git a/test/e2e/lifecycle/bootstrap/BUILD b/test/e2e/lifecycle/bootstrap/BUILD
index bb33240381d..3b7db6b5d57 100644
--- a/test/e2e/lifecycle/bootstrap/BUILD
+++ b/test/e2e/lifecycle/bootstrap/BUILD
@@ -14,7 +14,6 @@ go_library(
],
importpath = "k8s.io/kubernetes/test/e2e/lifecycle/bootstrap",
deps = [
- "//pkg/bootstrap/api:go_default_library",
"//test/e2e/framework:go_default_library",
"//test/e2e/lifecycle:go_default_library",
"//vendor/github.com/onsi/ginkgo:go_default_library",
@@ -24,6 +23,7 @@ go_library(
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
],
)
diff --git a/test/integration/auth/BUILD b/test/integration/auth/BUILD
index 897557a21a9..55f0e5ccc73 100644
--- a/test/integration/auth/BUILD
+++ b/test/integration/auth/BUILD
@@ -29,7 +29,6 @@ go_test(
"//pkg/apis/rbac:go_default_library",
"//pkg/auth/authorizer/abac:go_default_library",
"//pkg/auth/nodeidentifier:go_default_library",
- "//pkg/bootstrap/api:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/client/informers/informers_generated/internalversion:go_default_library",
"//pkg/features:go_default_library",
@@ -74,6 +73,7 @@ go_test(
"//vendor/k8s.io/apiserver/plugin/pkg/authenticator/token/tokentest:go_default_library",
"//vendor/k8s.io/apiserver/plugin/pkg/authenticator/token/webhook:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
+ "//vendor/k8s.io/client-go/tools/bootstrap/token/api:go_default_library",
"//vendor/k8s.io/client-go/tools/clientcmd/api/v1:go_default_library",
"//vendor/k8s.io/client-go/transport:go_default_library",
],