Log env at startup

This commit is contained in:
Tim Hockin 2022-07-13 09:50:18 -07:00
parent 9529c24f6d
commit 0b92a4971c
1 changed files with 19 additions and 5 deletions

View File

@ -430,7 +430,8 @@ func main() {
"uid", os.Getuid(), "uid", os.Getuid(),
"gid", os.Getgid(), "gid", os.Getgid(),
"home", os.Getenv("HOME"), "home", os.Getenv("HOME"),
"args", logSafeArgs(os.Args)) "args", logSafeArgs(os.Args),
"env", logSafeEnv(os.Environ()))
if _, err := exec.LookPath(*flGitCmd); err != nil { if _, err := exec.LookPath(*flGitCmd); err != nil {
log.Error(err, "ERROR: git executable not found", "git", *flGitCmd) log.Error(err, "ERROR: git executable not found", "git", *flGitCmd)
@ -717,16 +718,16 @@ func main() {
} }
} }
const redactedString = "<REDACTED>"
// logSafeArgs makes sure any sensitive args (e.g. passwords) are redacted // logSafeArgs makes sure any sensitive args (e.g. passwords) are redacted
// before logging. // before logging.
func logSafeArgs(args []string) []string { func logSafeArgs(args []string) []string {
const redacted = "<REDACTED>"
ret := make([]string, len(args)) ret := make([]string, len(args))
redact := false redact := false
for i, arg := range args { for i, arg := range args {
if redact { if redact {
ret[i] = redacted ret[i] = redactedString
redact = false redact = false
continue continue
} }
@ -734,13 +735,26 @@ func logSafeArgs(args []string) []string {
redact = true redact = true
} }
if strings.HasPrefix(arg, "--password=") { if strings.HasPrefix(arg, "--password=") {
arg = "--password=" + redacted arg = "--password=" + redactedString
} }
ret[i] = arg ret[i] = arg
} }
return ret return ret
} }
// logSafeEnv makes sure any sensitive env vars (e.g. passwords) are redacted
// before logging.
func logSafeEnv(env []string) []string {
ret := make([]string, len(env))
for i, ev := range env {
if strings.HasPrefix(ev, "GIT_SYNC_PASSWORD=") {
ev = "GIT_SYNC_PASSWORD=" + redactedString
}
ret[i] = ev
}
return ret
}
func normalizePath(path string) (string, error) { func normalizePath(path string) (string, error) {
delinked, err := filepath.EvalSymlinks(path) delinked, err := filepath.EvalSymlinks(path)
if err != nil { if err != nil {