github.com/kubeshop/testkube@v1.17.23/pkg/telemetry/generators.go (about) 1 package telemetry 2 3 import ( 4 "crypto/md5" 5 "encoding/hex" 6 "os" 7 8 "github.com/denisbrodbeck/machineid" 9 10 "github.com/kubeshop/testkube/pkg/log" 11 ) 12 13 // GetMachineID returns unique user machine ID 14 func GetMachineID() string { 15 id, err := machineid.ProtectedID("testkube") 16 // fallback to hostname based machine id in case of error 17 if err != nil { 18 log.DefaultLogger.Debugw("error while generating machines protected id", "error", err.Error()) 19 name, err := os.Hostname() 20 if err != nil { 21 log.DefaultLogger.Debugw("error while getting hostname for machine id", "error", err.Error()) 22 return "default-machine-id" 23 } 24 sum := md5.Sum([]byte(name)) 25 return hex.EncodeToString(sum[:]) 26 } 27 return id 28 }