Improve error handling around username/hostname
If this couldn't read the current user, it would print a generic message, then proceed to dereference the invalid user struct :( Provide somewhat reasonable defaults, and better error messages instead. Test: m nothing Test: run docker with misconfigured user Change-Id: I21af77c7d8d1d2d27cb04546667eb1094c62a7a1
This commit is contained in:
parent
865171ed40
commit
a17ac9632d
|
@ -104,17 +104,20 @@ func runKati(ctx Context, config Config, extraSuffix string, args []string, envF
|
|||
envFunc(cmd.Environment)
|
||||
|
||||
if _, ok := cmd.Environment.Get("BUILD_USERNAME"); !ok {
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
ctx.Println("Failed to get current user")
|
||||
username := "unknown"
|
||||
if u, err := user.Current(); err == nil {
|
||||
username = u.Username
|
||||
} else {
|
||||
ctx.Println("Failed to get current user:", err)
|
||||
}
|
||||
cmd.Environment.Set("BUILD_USERNAME", u.Username)
|
||||
cmd.Environment.Set("BUILD_USERNAME", username)
|
||||
}
|
||||
|
||||
if _, ok := cmd.Environment.Get("BUILD_HOSTNAME"); !ok {
|
||||
hostname, err := os.Hostname()
|
||||
if err != nil {
|
||||
ctx.Println("Failed to read hostname")
|
||||
ctx.Println("Failed to read hostname:", err)
|
||||
hostname = "unknown"
|
||||
}
|
||||
cmd.Environment.Set("BUILD_HOSTNAME", hostname)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue