From 15eac79dfd328af2e2afcf6e0b585e2d227d75c6 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 26 Jan 2023 12:17:58 +0100 Subject: [PATCH 1/4] expose all env variables to the app container --- pkg/config/app.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/config/app.go b/pkg/config/app.go index 17af55c4..b0d8b530 100644 --- a/pkg/config/app.go +++ b/pkg/config/app.go @@ -445,5 +445,21 @@ func GetAppComposeConfig(recipe string, opts stack.Deploy, appEnv AppEnv) (*comp logrus.Debugf("retrieved %s for %s", compose.Filename, recipe) + ExposeAllEnv(compose, appEnv) + return compose, nil } + +// expose all env variables to the app container +func ExposeAllEnv(compose *composetypes.Config, appEnv AppEnv) { + for _, service := range compose.Services { + if service.Name == "app" { + logrus.Debug("Add the following environment to the app service config:") + for k, v := range appEnv { + value := v + service.Environment[k] = &value + logrus.Debugf("Key: %s Value: %s", k, value) + } + } + } +} -- 2.40.1 From 89a2c889a4a5e2e5bb07517c36b748582f26fe36 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 26 Jan 2023 12:36:27 +0100 Subject: [PATCH 2/4] refactor: move ExposeAllEnv call into rollback/upgrade/deploy/updater --- cli/app/rollback.go | 1 + cli/app/upgrade.go | 1 + cli/internal/deploy.go | 1 + pkg/config/app.go | 2 -- 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cli/app/rollback.go b/cli/app/rollback.go index 36d3c365..9c226980 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -178,6 +178,7 @@ recipes. if err != nil { logrus.Fatal(err) } + config.ExposeAllEnv(compose, app.Env) if !internal.Force { if err := internal.NewVersionOverview(app, deployedVersion, chosenDowngrade, ""); err != nil { diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index 127497dc..18917761 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -189,6 +189,7 @@ recipes. if err != nil { logrus.Fatal(err) } + config.ExposeAllEnv(compose, app.Env) if err := internal.NewVersionOverview(app, deployedVersion, chosenUpgrade, releaseNotes); err != nil { logrus.Fatal(err) diff --git a/cli/internal/deploy.go b/cli/internal/deploy.go index fe8a2ab0..99fc9e6c 100644 --- a/cli/internal/deploy.go +++ b/cli/internal/deploy.go @@ -134,6 +134,7 @@ func DeployAction(c *cli.Context) error { if err != nil { logrus.Fatal(err) } + config.ExposeAllEnv(compose, app.Env) if err := DeployOverview(app, version, "continue with deployment?"); err != nil { logrus.Fatal(err) diff --git a/pkg/config/app.go b/pkg/config/app.go index b0d8b530..25aa10c1 100644 --- a/pkg/config/app.go +++ b/pkg/config/app.go @@ -445,8 +445,6 @@ func GetAppComposeConfig(recipe string, opts stack.Deploy, appEnv AppEnv) (*comp logrus.Debugf("retrieved %s for %s", compose.Filename, recipe) - ExposeAllEnv(compose, appEnv) - return compose, nil } -- 2.40.1 From 1c9a9311434d5e8e9bd33e6e31bc5282fc27b7d8 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 26 Jan 2023 20:40:25 +0100 Subject: [PATCH 3/4] don't overwrite exposed env variables --- pkg/config/app.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/config/app.go b/pkg/config/app.go index 25aa10c1..8f3fecd8 100644 --- a/pkg/config/app.go +++ b/pkg/config/app.go @@ -454,9 +454,12 @@ func ExposeAllEnv(compose *composetypes.Config, appEnv AppEnv) { if service.Name == "app" { logrus.Debug("Add the following environment to the app service config:") for k, v := range appEnv { - value := v - service.Environment[k] = &value - logrus.Debugf("Key: %s Value: %s", k, value) + _, exists := service.Environment[k] + if !exists { + value := v + service.Environment[k] = &value + logrus.Debugf("Add Key: %s Value: %s", k, value) + } } } } -- 2.40.1 From 81c6caf8eed0d0266df9fb9ea95f0c78ee4edb1e Mon Sep 17 00:00:00 2001 From: Moritz Date: Tue, 31 Jan 2023 15:11:46 +0100 Subject: [PATCH 4/4] resolve PR: include the servic info in the log message --- cli/app/rollback.go | 2 +- cli/app/upgrade.go | 2 +- cli/internal/deploy.go | 2 +- pkg/config/app.go | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cli/app/rollback.go b/cli/app/rollback.go index 9c226980..98acf56f 100644 --- a/cli/app/rollback.go +++ b/cli/app/rollback.go @@ -178,7 +178,7 @@ recipes. if err != nil { logrus.Fatal(err) } - config.ExposeAllEnv(compose, app.Env) + config.ExposeAllEnv(stackName, compose, app.Env) if !internal.Force { if err := internal.NewVersionOverview(app, deployedVersion, chosenDowngrade, ""); err != nil { diff --git a/cli/app/upgrade.go b/cli/app/upgrade.go index 18917761..fa46b8d3 100644 --- a/cli/app/upgrade.go +++ b/cli/app/upgrade.go @@ -189,7 +189,7 @@ recipes. if err != nil { logrus.Fatal(err) } - config.ExposeAllEnv(compose, app.Env) + config.ExposeAllEnv(stackName, compose, app.Env) if err := internal.NewVersionOverview(app, deployedVersion, chosenUpgrade, releaseNotes); err != nil { logrus.Fatal(err) diff --git a/cli/internal/deploy.go b/cli/internal/deploy.go index 99fc9e6c..6b3047fb 100644 --- a/cli/internal/deploy.go +++ b/cli/internal/deploy.go @@ -134,7 +134,7 @@ func DeployAction(c *cli.Context) error { if err != nil { logrus.Fatal(err) } - config.ExposeAllEnv(compose, app.Env) + config.ExposeAllEnv(app.StackName(), compose, app.Env) if err := DeployOverview(app, version, "continue with deployment?"); err != nil { logrus.Fatal(err) diff --git a/pkg/config/app.go b/pkg/config/app.go index 8f3fecd8..15253634 100644 --- a/pkg/config/app.go +++ b/pkg/config/app.go @@ -448,17 +448,17 @@ func GetAppComposeConfig(recipe string, opts stack.Deploy, appEnv AppEnv) (*comp return compose, nil } -// expose all env variables to the app container -func ExposeAllEnv(compose *composetypes.Config, appEnv AppEnv) { +// ExposeAllEnv exposes all env variables to the app container +func ExposeAllEnv(stackName string, compose *composetypes.Config, appEnv AppEnv) { for _, service := range compose.Services { if service.Name == "app" { - logrus.Debug("Add the following environment to the app service config:") + logrus.Debugf("Add the following environment to the app service config of %s:", stackName) for k, v := range appEnv { _, exists := service.Environment[k] if !exists { value := v service.Environment[k] = &value - logrus.Debugf("Add Key: %s Value: %s", k, value) + logrus.Debugf("Add Key: %s Value: %s to %s", k, value, stackName) } } } -- 2.40.1