From 926baf5fe7e1dec98ca189cb70046dd157abc8ea Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Thu, 23 Nov 2017 20:05:28 +0800 Subject: [PATCH 1/3] Refactoring ValidateUsages for for bootstrap tokens. --- cmd/kubeadm/app/constants/constants.go | 3 ++- pkg/bootstrap/api/helpers.go | 7 +++---- pkg/bootstrap/api/types.go | 3 +++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go index 36584da4add..390b8c5f1d8 100644 --- a/cmd/kubeadm/app/constants/constants.go +++ b/cmd/kubeadm/app/constants/constants.go @@ -25,6 +25,7 @@ import ( "time" "k8s.io/api/core/v1" + bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/util/version" ) @@ -220,7 +221,7 @@ var ( AuthorizationWebhookConfigPath = filepath.Join(KubernetesDir, "webhook_authz.conf") // DefaultTokenUsages specifies the default functions a token will get - DefaultTokenUsages = []string{"signing", "authentication"} + DefaultTokenUsages = bootstrapapi.KnownTokenUsages // MasterComponents defines the master component names MasterComponents = []string{KubeAPIServer, KubeControllerManager, KubeScheduler} diff --git a/pkg/bootstrap/api/helpers.go b/pkg/bootstrap/api/helpers.go index 01859bc37fe..c750cf75830 100644 --- a/pkg/bootstrap/api/helpers.go +++ b/pkg/bootstrap/api/helpers.go @@ -37,16 +37,15 @@ func ValidateBootstrapGroupName(name string) error { // ValidateUsages validates that the passed in string are valid usage strings for bootstrap tokens. func ValidateUsages(usages []string) error { - usageAuthentication := strings.TrimPrefix(BootstrapTokenUsageAuthentication, BootstrapTokenUsagePrefix) - usageSigning := strings.TrimPrefix(BootstrapTokenUsageSigningKey, BootstrapTokenUsagePrefix) + validUsages := sets.NewString(KnownTokenUsages...) invalidUsages := sets.NewString() for _, usage := range usages { - if usage != usageAuthentication && usage != usageSigning { + if !validUsages.Has(usage) { invalidUsages.Insert(usage) } } if len(invalidUsages) > 0 { - return fmt.Errorf("invalide bootstrap token usage string: %s, valid usage option: %s, %s", strings.Join(invalidUsages.List(), ","), usageAuthentication, usageSigning) + return fmt.Errorf("invalide bootstrap token usage string: %s, valid usage options: %s", strings.Join(invalidUsages.List(), ","), strings.Join(KnownTokenUsages, ",")) } return nil } diff --git a/pkg/bootstrap/api/types.go b/pkg/bootstrap/api/types.go index a4e67a1c249..c30814c0e26 100644 --- a/pkg/bootstrap/api/types.go +++ b/pkg/bootstrap/api/types.go @@ -95,3 +95,6 @@ const ( // tokens (in addition to any groups from BootstrapTokenExtraGroupsKey). BootstrapDefaultGroup = "system:bootstrappers" ) + +// KnownTokenUsages specifies the known functions a token will get. +var KnownTokenUsages = []string{"signing", "authentication"} From 347cdcf198e5311699caf26c5cf59af29a949b3f Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Mon, 27 Nov 2017 12:05:31 +0800 Subject: [PATCH 2/3] Auto generated BUILD files. --- cmd/kubeadm/app/constants/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/kubeadm/app/constants/BUILD b/cmd/kubeadm/app/constants/BUILD index d0f284c5ebb..30d303111a7 100644 --- a/cmd/kubeadm/app/constants/BUILD +++ b/cmd/kubeadm/app/constants/BUILD @@ -11,6 +11,7 @@ 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", From 1cb195759f644e2060db190e199970945cf9cdf5 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Tue, 26 Dec 2017 10:21:13 +0800 Subject: [PATCH 3/3] Add OWNERS file to pkg/bootstrap/api --- pkg/bootstrap/api/OWNERS | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 pkg/bootstrap/api/OWNERS diff --git a/pkg/bootstrap/api/OWNERS b/pkg/bootstrap/api/OWNERS new file mode 100644 index 00000000000..8a2f5b5915b --- /dev/null +++ b/pkg/bootstrap/api/OWNERS @@ -0,0 +1,5 @@ +approvers: +- jbeda +- luxas +reviewers: +- mattmoyer