From 2c62e1f6df27069e943c801ace38a1f4413fc82d Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Thu, 14 Nov 2024 11:47:22 +1000 Subject: [PATCH] refactor machine name generation using secrets package --- internal/machine/cluster/machine.go | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/internal/machine/cluster/machine.go b/internal/machine/cluster/machine.go index 56802a64..9b0c33cd 100644 --- a/internal/machine/cluster/machine.go +++ b/internal/machine/cluster/machine.go @@ -1,9 +1,7 @@ package cluster import ( - "crypto/rand" "fmt" - "math/big" "uncloud/internal/secret" ) @@ -14,14 +12,9 @@ func NewMachineID() (string, error) { // NewRandomMachineName generates a random machine name in the format "machine-xxxx". func NewRandomMachineName() (string, error) { - const charset = "abcdefghijklmnopqrstuvwxyz0123456789" - suffix := make([]byte, 4) - for i := range suffix { - randIdx, err := rand.Int(rand.Reader, big.NewInt(int64(len(charset)))) - if err != nil { - return "", fmt.Errorf("get random number: %w", err) - } - suffix[i] = charset[randIdx.Int64()] + suffix, err := secret.RandomAlphaNumeric(4) + if err != nil { + return "", fmt.Errorf("generate random suffix: %w", err) } - return "machine-" + string(suffix), nil + return "machine-" + suffix, nil }