From b387ba4a05accb92a52b48e75c46e61cab9cbc82 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 28 Aug 2025 17:01:19 +0200 Subject: [PATCH] only load COMPOSE_* from $PWD/.env Signed-off-by: Nicolas De Loof --- cmd/compose/compose.go | 2 +- cmd/compose/run.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/compose/compose.go b/cmd/compose/compose.go index b73ef92d9..da3c7def2 100644 --- a/cmd/compose/compose.go +++ b/cmd/compose/compose.go @@ -693,7 +693,7 @@ func setEnvWithDotEnv(opts ProjectOptions) error { return nil } for k, v := range envFromFile { - if _, ok := os.LookupEnv(k); !ok { + if _, ok := os.LookupEnv(k); !ok && strings.HasPrefix(k, "COMPOSE_") { if err = os.Setenv(k, v); err != nil { return nil } diff --git a/cmd/compose/run.go b/cmd/compose/run.go index 2bf126fef..714bcad51 100644 --- a/cmd/compose/run.go +++ b/cmd/compose/run.go @@ -120,8 +120,8 @@ func (options runOptions) apply(project *types.Project) (*types.Project, error) return project, nil } -func (options runOptions) getEnvironment() (types.Mapping, error) { - environment := types.NewMappingWithEquals(options.environment).Resolve(os.LookupEnv).ToMapping() +func (options runOptions) getEnvironment(resolve func(string) (string, bool)) (types.Mapping, error) { + environment := types.NewMappingWithEquals(options.environment).Resolve(resolve).ToMapping() for _, file := range options.envFiles { f, err := os.Open(file) if err != nil { @@ -289,7 +289,7 @@ func runRun(ctx context.Context, backend api.Service, project *types.Project, op buildForRun = &bo } - environment, err := options.getEnvironment() + environment, err := options.getEnvironment(project.Environment.Resolve) if err != nil { return err }