From ba7b18f70370c258d9dd3d75605cdf64b30cfc44 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Sat, 4 Sep 2021 23:28:54 +0200 Subject: [PATCH] refactor: pass functions into own file --- secret/pass.go | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ secret/secret.go | 37 ------------------------------------ 2 files changed, 49 insertions(+), 37 deletions(-) create mode 100644 secret/pass.go diff --git a/secret/pass.go b/secret/pass.go new file mode 100644 index 00000000..3f058aa3 --- /dev/null +++ b/secret/pass.go @@ -0,0 +1,49 @@ +package secret + +import ( + "errors" + "fmt" + "os/exec" + + "github.com/sirupsen/logrus" +) + +// PassInsertSecret inserts a secret into a pass store. +func PassInsertSecret(secretValue, secretName, appName, server string) error { + if _, err := exec.LookPath("pass"); err != nil { + return errors.New("pass command not found on $PATH, is it installed?") + } + + cmd := fmt.Sprintf( + "echo %s | pass insert hosts/%s/%s/%s -m", + secretValue, server, appName, secretName, + ) + + if err := exec.Command("bash", "-c", cmd).Run(); err != nil { + return err + } + + logrus.Infof("'%s' inserted into pass store", secretName) + + return nil +} + +// PassRmSecret deletes a secret from a pass store. +func PassRmSecret(secretName, appName, server string) error { + if _, err := exec.LookPath("pass"); err != nil { + return errors.New("pass command not found on $PATH, is it installed?") + } + + cmd := fmt.Sprintf( + "pass rm --force hosts/%s/%s/%s", + server, appName, secretName, + ) + + if err := exec.Command("bash", "-c", cmd).Run(); err != nil { + return err + } + + logrus.Infof("'%s' removed from pass store", secretName) + + return nil +} diff --git a/secret/secret.go b/secret/secret.go index 684939fb..c560fa48 100644 --- a/secret/secret.go +++ b/secret/secret.go @@ -1,9 +1,7 @@ package secret import ( - "errors" "fmt" - "os/exec" "regexp" "strconv" "strings" @@ -140,38 +138,3 @@ func GenerateSecrets(secretEnvVars map[string]string, appName, server string) (m return secrets, nil } - -func PassInsertSecret(secretValue, secretName, appName, server string) error { - _, err := exec.LookPath("pass") - if err != nil { - return errors.New("pass cannot be found on your $PATH, is it installed?") - } - - cmd := fmt.Sprintf( - "echo %s | pass insert hosts/%s/%s/%s -m", - secretValue, server, appName, secretName, - ) - if err := exec.Command("bash", "-c", cmd).Run(); err != nil { - return err - } - - return nil -} - -func PassRmSecret(secretName, appName, server string) error { - _, err := exec.LookPath("pass") - if err != nil { - return errors.New("pass cannot be found on your $PATH, is it installed?") - } - - cmd := fmt.Sprintf( - "pass rm --force hosts/%s/%s/%s", - server, appName, secretName, - ) - - if err := exec.Command("bash", "-c", cmd).Run(); err != nil { - return err - } - - return nil -}