Merge pull request #1557 from talentedmrjones/europa-engine-exec-secret-env

implemented ability to pass #Secret as env var
This commit is contained in:
Andrea Luzzardi
2022-02-15 16:30:13 -07:00
committed by GitHub
8 changed files with 385 additions and 80 deletions

View File

@@ -77,12 +77,21 @@ func (t execTask) getRunOpts(v *compiler.Value, pctx *plancontext.Context) ([]ll
if err != nil {
return nil, err
}
for _, env := range envs {
v, err := env.Value.String()
if err != nil {
return nil, err
if plancontext.IsSecretValue(env.Value) {
secret, err := pctx.Secrets.FromValue(env.Value)
if err != nil {
return nil, err
}
opts = append(opts, llb.AddSecret(env.Label(), llb.SecretID(secret.ID()), llb.SecretAsEnv(true)))
} else {
s, err := env.Value.String()
if err != nil {
return nil, err
}
opts = append(opts, llb.AddEnv(env.Label(), s))
}
opts = append(opts, llb.AddEnv(env.Label(), v))
}
// always?