diff --git a/client/consul_template.go b/client/consul_template.go index 2ea4855bf..a4adfc84d 100644 --- a/client/consul_template.go +++ b/client/consul_template.go @@ -218,7 +218,7 @@ func (tm *TaskTemplateManager) run() { tm.config.Hooks.Kill(consulTemplateSourceName, err.Error(), true) return } - tm.config.EnvBuilder.MergeTemplateEnv(envMap) + tm.config.EnvBuilder.SetTemplateEnv(envMap) // Unblock the task tm.config.Hooks.UnblockStart(consulTemplateSourceName) @@ -389,12 +389,12 @@ func (tm *TaskTemplateManager) handleTemplateRerenders(allRenderedTime time.Time } // Read environment variables from templates - envMap, err := loadTemplateEnv(tmpls, tm.config.TaskDir) + envMap, err := loadTemplateEnv(tm.config.Templates, tm.config.TaskDir) if err != nil { tm.config.Hooks.Kill(consulTemplateSourceName, err.Error(), true) return } - tm.config.EnvBuilder.MergeTemplateEnv(envMap) + tm.config.EnvBuilder.SetTemplateEnv(envMap) for _, tmpl := range tmpls { switch tmpl.ChangeMode { diff --git a/client/driver/env/env.go b/client/driver/env/env.go index 2e05653fb..9e63accbc 100644 --- a/client/driver/env/env.go +++ b/client/driver/env/env.go @@ -532,17 +532,9 @@ func (b *Builder) SetHostEnvvars(filter []string) *Builder { return b } -// MergeTemplateEnv is used to merge the passed environment variables with -// existing environment variables set from a template. -func (b *Builder) MergeTemplateEnv(m map[string]string) *Builder { +func (b *Builder) SetTemplateEnv(m map[string]string) *Builder { b.mu.Lock() - if b.templateEnv == nil { - b.templateEnv = m - } else { - for k, v := range m { - b.templateEnv[k] = v - } - } + b.templateEnv = m b.mu.Unlock() return b }