Skip to content

Commit 1f4db67

Browse files
committed
fix: secrets handling
1 parent 35a1cba commit 1f4db67

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

pkg/actions/deploy_build.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"os"
99
"os/exec"
1010
"path/filepath"
11+
"sort"
1112
"sync"
1213
"time"
1314

@@ -227,8 +228,15 @@ func (d *Deploy) buildServiceApp(ctx context.Context, app *config.ServiceApp, ev
227228

228229
// Add secrets if needed.
229230
if len(secretsMap) > 0 {
230-
for _, secret := range secretsMap {
231-
cmdArgs = append(cmdArgs, "--secret", secret)
231+
keys := make([]string, 0, len(secretsMap))
232+
for k := range secretsMap {
233+
keys = append(keys, k)
234+
}
235+
236+
sort.Strings(keys)
237+
238+
for _, k := range keys {
239+
cmdArgs = append(cmdArgs, "--secret", fmt.Sprintf("id=%s", k))
232240
}
233241
}
234242

@@ -242,10 +250,13 @@ func (d *Deploy) buildServiceApp(ctx context.Context, app *config.ServiceApp, ev
242250
cmdArgs = append([]string{"build"}, cmdArgs...)
243251
}
244252

253+
dockerEnv := []string{"DOCKER_BUILDKIT=1"}
254+
dockerEnv = append(dockerEnv, util.FlattenEnvMap(secretsMap)...)
255+
245256
cmd, err := command.New(
246257
exec.Command("docker", cmdArgs...),
247258
command.WithDir(dockercontext),
248-
command.WithEnv([]string{"DOCKER_BUILDKIT=1"}),
259+
command.WithEnv(dockerEnv),
249260
)
250261
if err != nil {
251262
return merry.Errorf("error preparing build command for %s app: %s: %w", app.Type(), app.Name(), err)

0 commit comments

Comments
 (0)