fix: use temporary file for secret file to prevent deletion collision (#250)
Fixes #167
This commit is contained in:
parent
822cc13e72
commit
9b71c64ef2
|
|
@ -2,6 +2,8 @@ package helmexec
|
|||
|
||||
import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
|
@ -102,7 +104,19 @@ func (helm *execer) DecryptSecret(name string) (string, error) {
|
|||
helm.logger.Infof("Decrypting secret %v", name)
|
||||
out, err := helm.exec(append([]string{"secrets", "dec", name})...)
|
||||
helm.write(out)
|
||||
return name + ".dec", err
|
||||
|
||||
tmpFile, err := ioutil.TempFile("", "secret")
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
tmpFile.Close()
|
||||
|
||||
err = os.Rename(name+".dec", tmpFile.Name())
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return tmpFile.Name(), err
|
||||
}
|
||||
|
||||
func (helm *execer) DiffRelease(name, chart string, flags ...string) error {
|
||||
|
|
|
|||
Loading…
Reference in New Issue