diff --git a/pkg/specgen/generate/container.go b/pkg/specgen/generate/container.go index ba249ddc763..0916f7fdbb2 100644 --- a/pkg/specgen/generate/container.go +++ b/pkg/specgen/generate/container.go @@ -187,7 +187,9 @@ func CompleteSpec(ctx context.Context, r *libpod.Runtime, s *specgen.SpecGenerat defaultEnvs["TERM"] = "xterm" } - for _, e := range s.EnvMerge { + envMergeList := append(rtc.Containers.EnvMerge, s.EnvMerge...) + + for _, e := range envMergeList { processedWord, err := imagebuilder.ProcessWord(e, envLib.Slice(defaultEnvs)) if err != nil { return nil, fmt.Errorf("unable to process variables for --env-merge %s: %w", e, err) diff --git a/test/e2e/config/containers.conf b/test/e2e/config/containers.conf index f4415e99a35..5b30237977f 100644 --- a/test/e2e/config/containers.conf +++ b/test/e2e/config/containers.conf @@ -22,6 +22,10 @@ env = [ "foo=bar", ] +env_merge = [ + "PODMAN_TEST_VAR=${PODMAN_TEST_VAR}-merged" +] + # container engines use container separation using MAC(SELinux) labeling. # Flag is ignored on label disabled systems. # diff --git a/test/e2e/containers_conf_test.go b/test/e2e/containers_conf_test.go index 85b1ad7de7b..f621943a668 100644 --- a/test/e2e/containers_conf_test.go +++ b/test/e2e/containers_conf_test.go @@ -116,6 +116,18 @@ var _ = Describe("Verify podman containers.conf usage", func() { Expect(session.OutputToString()).To(ContainSubstring("foo=bar")) }) + It("having env_merge from containers.conf", func() { + dockerfile := `FROM quay.io/libpod/alpine:latest + ENV PODMAN_TEST_VAR=original + ` + podmanTest.BuildImage(dockerfile, "test-env-merge", "false") + + session := podmanTest.Podman([]string{"run", "--rm", "test-env-merge", "printenv", "PODMAN_TEST_VAR"}) + session.WaitWithDefaultTimeout() + Expect(session).Should(ExitCleanly()) + Expect(session.OutputToString()).To(Equal("original-merged")) + }) + It("additional devices", func() { // containers.conf devices includes notone session := podmanTest.Podman([]string{"run", "--device", "/dev/null:/dev/bar", ALPINE, "ls", "/dev"})