From 5352bab6dcc1c833fdc6f0ec334cd589104036c0 Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Wed, 23 Mar 2016 14:07:12 -0700 Subject: [PATCH] Comment and don't override --- client/driver/env/env.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/client/driver/env/env.go b/client/driver/env/env.go index ece460043..c59cb2f87 100644 --- a/client/driver/env/env.go +++ b/client/driver/env/env.go @@ -306,6 +306,9 @@ func (t *TaskEnvironment) AppendEnvvars(m map[string]string) *TaskEnvironment { return t } +// AppendHostEnvvars adds the host environment variables to the tasks. The +// filter parameter can be use to filter host environment from entering the +// tasks. func (t *TaskEnvironment) AppendHostEnvvars(filter []string) *TaskEnvironment { hostEnv := os.Environ() if t.Env == nil { @@ -321,7 +324,14 @@ func (t *TaskEnvironment) AppendHostEnvvars(filter []string) *TaskEnvironment { for _, e := range hostEnv { parts := strings.Split(e, "=") key, value := parts[0], parts[1] - if _, filtered := index[key]; !filtered { + + // Skip filtered environment variables + if _, filtered := index[key]; filtered { + continue + } + + // Don't override the tasks environment variables. + if _, existing := t.Env[key]; !existing { t.Env[key] = value } }