Ensure that CONTAINERD_ variables are not shadowed by later entries

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
pull/5731/head
Brad Davidson 2 years ago committed by Brad Davidson
parent fb0a342a20
commit 3399afed83

@ -61,6 +61,7 @@ func Run(ctx context.Context, cfg *config.Node) error {
go func() { go func() {
env := []string{} env := []string{}
cenv := []string{}
for _, e := range os.Environ() { for _, e := range os.Environ() {
pair := strings.SplitN(e, "=", 2) pair := strings.SplitN(e, "=", 2)
@ -75,7 +76,7 @@ func Run(ctx context.Context, cfg *config.Node) error {
// This allows doing things like setting a proxy for image pulls by setting // This allows doing things like setting a proxy for image pulls by setting
// CONTAINERD_https_proxy=http://proxy.example.com:8080 // CONTAINERD_https_proxy=http://proxy.example.com:8080
pair[0] = strings.TrimPrefix(pair[0], "CONTAINERD_") pair[0] = strings.TrimPrefix(pair[0], "CONTAINERD_")
fallthrough cenv = append(cenv, strings.Join(pair, "="))
default: default:
env = append(env, strings.Join(pair, "=")) env = append(env, strings.Join(pair, "="))
} }
@ -85,7 +86,7 @@ func Run(ctx context.Context, cfg *config.Node) error {
cmd := exec.CommandContext(ctx, args[0], args[1:]...) cmd := exec.CommandContext(ctx, args[0], args[1:]...)
cmd.Stdout = stdOut cmd.Stdout = stdOut
cmd.Stderr = stdErr cmd.Stderr = stdErr
cmd.Env = env cmd.Env = append(env, cenv...)
addDeathSig(cmd) addDeathSig(cmd)
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {

Loading…
Cancel
Save