in pkg/rbeconfigsgen/rbeconfigsgen.go [340:367]
func (d *dockerRunner) getEnv() (map[string]string, error) {
result := make(map[string]string)
o, err := runCmd(d.dockerPath, "inspect", "-f", "{{range $i, $v := .Config.Env}}{{println $v}}{{end}}", d.resolvedImage)
if err != nil {
return nil, fmt.Errorf("failed to inspect the docker image to get environment variables: %w", err)
}
split := strings.Split(o, "\n")
for _, s := range split {
s = strings.TrimSpace(s)
if len(s) == 0 {
continue
}
keyVal := strings.SplitN(s, "=", 2)
key := ""
val := ""
if len(keyVal) == 2 {
key, val = keyVal[0], keyVal[1]
} else if len(keyVal) == 1 {
// Maybe something like 'KEY=' was specified. We assume value is blank.
key = keyVal[0]
}
if len(key) == 0 {
continue
}
result[key] = val
}
return result, nil
}