Merge pull request #10527 from ndeloof/build_secret_id

let user declare build secret target
This commit is contained in:
Guillaume Lours 2023-05-04 15:17:30 +02:00 committed by GitHub
commit 01afe5265e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 4 deletions

View File

@ -373,15 +373,19 @@ func addSecretsConfig(project *types.Project, service types.ServiceConfig) (sess
var sources []secretsprovider.Source var sources []secretsprovider.Source
for _, secret := range service.Build.Secrets { for _, secret := range service.Build.Secrets {
config := project.Secrets[secret.Source] config := project.Secrets[secret.Source]
id := secret.Source
if secret.Target != "" {
id = secret.Target
}
switch { switch {
case config.File != "": case config.File != "":
sources = append(sources, secretsprovider.Source{ sources = append(sources, secretsprovider.Source{
ID: secret.Source, ID: id,
FilePath: config.File, FilePath: config.File,
}) })
case config.Environment != "": case config.Environment != "":
sources = append(sources, secretsprovider.Source{ sources = append(sources, secretsprovider.Source{
ID: secret.Source, ID: id,
Env: config.Environment, Env: config.Environment,
}) })
default: default:

View File

@ -22,5 +22,5 @@ RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret > /tmp/actual
RUN diff /tmp/expected /tmp/actual RUN diff /tmp/expected /tmp/actual
RUN echo "bar" > /tmp/expected 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 RUN diff --ignore-all-space /tmp/expected /tmp/actual

View File

@ -5,7 +5,8 @@ services:
context: . context: .
secrets: secrets:
- mysecret - mysecret
- envsecret - source: envsecret
target: build_secret
secrets: secrets:
mysecret: mysecret: