From 145ffeea4084e718aef2a993088ef7af9718a1d4 Mon Sep 17 00:00:00 2001 From: andres-portainer <91705312+andres-portainer@users.noreply.github.com> Date: Tue, 26 Nov 2024 18:09:12 -0300 Subject: [PATCH] fix(libstack): resolve env vars correctly in Compose BE-11420 (#166) --- pkg/libstack/compose/composeplugin.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkg/libstack/compose/composeplugin.go b/pkg/libstack/compose/composeplugin.go index 8534a122d..44a241b6f 100644 --- a/pkg/libstack/compose/composeplugin.go +++ b/pkg/libstack/compose/composeplugin.go @@ -103,21 +103,20 @@ func withComposeService( return fmt.Errorf("failed to load the compose file: %w", err) } - if options.EnvFilePath != "" { - // Work around compose path handling - for i, service := range project.Services { - for j, envFile := range service.EnvFiles { - if !filepath.IsAbs(envFile.Path) { - project.Services[i].EnvFiles[j].Path = filepath.Join(project.WorkingDir, envFile.Path) - } + // Work around compose path handling + for i, service := range project.Services { + for j, envFile := range service.EnvFiles { + if !filepath.IsAbs(envFile.Path) { + project.Services[i].EnvFiles[j].Path = filepath.Join(project.WorkingDir, envFile.Path) } } + } - if p, err := project.WithServicesEnvironmentResolved(true); err == nil { - project = p - } else { - return fmt.Errorf("failed to resolve services environment: %w", err) - } + // Set the services environment variables + if p, err := project.WithServicesEnvironmentResolved(true); err == nil { + project = p + } else { + return fmt.Errorf("failed to resolve services environment: %w", err) } return composeFn(composeService, project)