func()

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
}