mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 18:54:06 +00:00
kubeadm: token generation must respect Kubernetes DNS labeling rules.
Refs kubernetes/kubeadm#104
This commit is contained in:
parent
394f93b921
commit
44b044ab0a
@ -152,13 +152,13 @@ func RunCreateToken(out io.Writer, cmd *cobra.Command, tokenDuration time.Durati
|
||||
}
|
||||
|
||||
func RunGenerateToken(out io.Writer) error {
|
||||
d := &kubeadmapi.TokenDiscovery{}
|
||||
err := kubeadmutil.GenerateToken(d)
|
||||
td := &kubeadmapi.TokenDiscovery{}
|
||||
err := kubeadmutil.GenerateToken(td)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Fprintln(out, kubeadmutil.BearerToken(d))
|
||||
fmt.Fprintln(out, kubeadmutil.BearerToken(td))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,9 @@ func randBytes(length int) (string, error) {
|
||||
return hex.EncodeToString(b), nil
|
||||
}
|
||||
|
||||
// GenerateToken generates a new token with a token ID that is valid as a
|
||||
// Kubernetes DNS label.
|
||||
// For more info, see kubernetes/pkg/util/validation/validation.go.
|
||||
func GenerateToken(d *kubeadmapi.TokenDiscovery) error {
|
||||
tokenID, err := randBytes(TokenIDBytes)
|
||||
if err != nil {
|
||||
@ -62,8 +65,8 @@ func GenerateToken(d *kubeadmapi.TokenDiscovery) error {
|
||||
return err
|
||||
}
|
||||
|
||||
d.ID = tokenID
|
||||
d.Secret = token
|
||||
d.ID = strings.ToLower(tokenID)
|
||||
d.Secret = strings.ToLower(token)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -41,14 +41,15 @@ func TestTokenParse(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGenerateToken(t *testing.T) {
|
||||
var cfg kubeadmapi.TokenDiscovery
|
||||
|
||||
GenerateToken(&cfg)
|
||||
if len(cfg.ID) != 6 {
|
||||
t.Errorf("failed GenerateToken first part length:\n\texpected: 6\n\t actual: %d", len(cfg.ID))
|
||||
td := &kubeadmapi.TokenDiscovery{}
|
||||
if err := GenerateToken(td); err != nil {
|
||||
t.Fatalf("GenerateToken returned an unexpected error: %+v", err)
|
||||
}
|
||||
if len(cfg.Secret) != 16 {
|
||||
t.Errorf("failed GenerateToken first part length:\n\texpected: 16\n\t actual: %d", len(cfg.Secret))
|
||||
if len(td.ID) != 6 {
|
||||
t.Errorf("failed GenerateToken first part length:\n\texpected: 6\n\t actual: %d", len(td.ID))
|
||||
}
|
||||
if len(td.Secret) != 16 {
|
||||
t.Errorf("failed GenerateToken second part length:\n\texpected: 16\n\t actual: %d", len(td.Secret))
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user