func()

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
}