Merge pull request #596 from thockin/v4_log_env_at_startup
Log a redacted form of environment at startup
This commit is contained in:
commit
9785945874
|
|
@ -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", 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,6 +718,43 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const redactedString = "<REDACTED>"
|
||||||
|
|
||||||
|
// logSafeArgs makes sure any sensitive args (e.g. passwords) are redacted
|
||||||
|
// before logging.
|
||||||
|
func logSafeArgs(args []string) []string {
|
||||||
|
ret := make([]string, len(args))
|
||||||
|
redact := false
|
||||||
|
for i, arg := range args {
|
||||||
|
if redact {
|
||||||
|
ret[i] = redactedString
|
||||||
|
redact = false
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if arg == "--password" {
|
||||||
|
redact = true
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(arg, "--password=") {
|
||||||
|
arg = "--password=" + redactedString
|
||||||
|
}
|
||||||
|
ret[i] = arg
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue