From b45ca82791d47531d91dc8f240aebed6d4f1790e Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 4 May 2023 10:01:10 +0200 Subject: [PATCH] let user declare build secret target (id) Signed-off-by: Nicolas De Loof --- pkg/compose/build.go | 8 ++++++-- pkg/e2e/fixtures/build-test/secrets/Dockerfile | 2 +- pkg/e2e/fixtures/build-test/secrets/compose.yml | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/compose/build.go b/pkg/compose/build.go index 694c345c5..b2392ca6f 100644 --- a/pkg/compose/build.go +++ b/pkg/compose/build.go @@ -373,15 +373,19 @@ func addSecretsConfig(project *types.Project, service types.ServiceConfig) (sess var sources []secretsprovider.Source for _, secret := range service.Build.Secrets { config := project.Secrets[secret.Source] + id := secret.Source + if secret.Target != "" { + id = secret.Target + } switch { case config.File != "": sources = append(sources, secretsprovider.Source{ - ID: secret.Source, + ID: id, FilePath: config.File, }) case config.Environment != "": sources = append(sources, secretsprovider.Source{ - ID: secret.Source, + ID: id, Env: config.Environment, }) default: diff --git a/pkg/e2e/fixtures/build-test/secrets/Dockerfile b/pkg/e2e/fixtures/build-test/secrets/Dockerfile index 5c2924e61..bd5e12f1b 100644 --- a/pkg/e2e/fixtures/build-test/secrets/Dockerfile +++ b/pkg/e2e/fixtures/build-test/secrets/Dockerfile @@ -22,5 +22,5 @@ RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret > /tmp/actual RUN diff /tmp/expected /tmp/actual RUN echo "bar" > /tmp/expected -RUN --mount=type=secret,id=envsecret cat /run/secrets/envsecret > tmp/actual +RUN --mount=type=secret,id=build_secret cat /run/secrets/build_secret > tmp/actual RUN diff --ignore-all-space /tmp/expected /tmp/actual diff --git a/pkg/e2e/fixtures/build-test/secrets/compose.yml b/pkg/e2e/fixtures/build-test/secrets/compose.yml index bcdd8ae97..c8e794c20 100644 --- a/pkg/e2e/fixtures/build-test/secrets/compose.yml +++ b/pkg/e2e/fixtures/build-test/secrets/compose.yml @@ -5,7 +5,8 @@ services: context: . secrets: - mysecret - - envsecret + - source: envsecret + target: build_secret secrets: mysecret: