in builder/builder.go [465:488]
func (b *Builder) populateSecretVolume(ctx context.Context, volMount *volume.Volume) error {
var dataContainerArgs []string
var dataSB strings.Builder
dataContainerArgs = getShell()
if runtime.GOOS == util.WindowsOS {
dataSB.WriteString("docker run --rm -v " + b.workspaceDir + ":c:\\source -v ")
dataSB.WriteString(volMount.Name + ":c:\\dest -w c:\\source ")
dataSB.WriteString(configImageName + " cmd.exe /c copy c:\\source\\" + volMount.Name + " c:\\dest")
} else {
dataSB.WriteString("docker run --rm -v " + b.workspaceDir + ":/source -v ")
dataSB.WriteString(volMount.Name + ":/dest -w /source " + configImageName + " cp ")
for k := range volMount.Source.Secret {
dataSB.WriteString(volMount.Name + "/" + k)
dataSB.WriteString(" ")
}
dataSB.WriteString("/dest")
}
dataContainerArgs = append(dataContainerArgs, dataSB.String())
var buf bytes.Buffer
if err := b.procManager.Run(ctx, dataContainerArgs, nil, &buf, &buf, ""); err != nil {
return errors.Wrapf(err, "failed to populate container, %s", buf.String())
}
return nil
}