in builder/builder.go [425:462]
func (b *Builder) createSecretFiles(ctx context.Context, volMount *volume.Volume) error {
var args []string
args = getShell()
args = append(args, "mkdir "+volMount.Name)
var buf bytes.Buffer
if err := b.procManager.Run(ctx, args, nil, &buf, &buf, ""); err != nil {
return errors.Wrapf(err, "failed to make directory, %s", buf.String())
}
for k, v := range volMount.Source.Secret {
var sb strings.Builder
args = getShell()
val := v
decoded, err := base64.StdEncoding.DecodeString(val)
if err != nil {
return errors.New("failed to decode Base64 value. please make sure value provided is Base64 encoded")
}
val = string(decoded)
if runtime.GOOS == util.WindowsOS {
sb.WriteString("Add-Content -Path ")
sb.WriteString(volMount.Name + "/" + k)
sb.WriteString(" -Value @\"\r\n")
sb.WriteString(val)
sb.WriteString("\r\n\"@")
} else {
sb.WriteString("cat >> ")
sb.WriteString(volMount.Name + "/" + k)
sb.WriteString(" <<EOL\n")
sb.WriteString(val)
sb.WriteString("\nEOL")
}
args = append(args, sb.String())
var buf bytes.Buffer
if err := b.procManager.Run(ctx, args, nil, &buf, &buf, ""); err != nil {
return errors.Wrapf(err, "failed to write value, %s", buf.String())
}
}
return nil
}