Quellcode durchsuchen

only load COMPOSE_* from $PWD/.env

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof vor 3 Monaten
Ursprung
Commit
b387ba4a05
2 geänderte Dateien mit 4 neuen und 4 gelöschten Zeilen
  1. 1 1
      cmd/compose/compose.go
  2. 3 3
      cmd/compose/run.go

+ 1 - 1
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
 			}

+ 3 - 3
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
 	}