Merge pull request #2252 from Infisical/maidul-dhusduqwdhj

Patch CLI auto select file vault
This commit is contained in:
Maidul Islam
2024-08-07 19:03:38 -04:00
committed by GitHub
+4 -17
View File
@@ -1,7 +1,6 @@
package util package util
import ( import (
"encoding/base64"
"fmt" "fmt"
"github.com/manifoldco/promptui" "github.com/manifoldco/promptui"
@@ -32,18 +31,16 @@ func SetValueInKeyring(key, value string) error {
configFile, _ := GetConfigFile() configFile, _ := GetConfigFile()
if configFile.VaultBackendPassphrase == "" { if configFile.VaultBackendPassphrase == "" {
PrintWarning("System keyring could not be used, falling back to `file` vault for sensitive data storage.")
passphrasePrompt := promptui.Prompt{ passphrasePrompt := promptui.Prompt{
Label: "Enter the passphrase to use for keyring encryption", Label: "Enter a passphrase to encrypt sensitive CLI data at rest",
} }
passphrase, err := passphrasePrompt.Run() passphrase, err := passphrasePrompt.Run()
if err != nil { if err != nil {
return err return err
} }
encodedPassphrase := base64.StdEncoding.EncodeToString([]byte(passphrase)) encodedPassphrase := base64.StdEncoding.EncodeToString([]byte(passphrase))
configFile.VaultBackendPassphrase = encodedPassphrase configFile.VaultBackendPassphrase = encodedPassphrase
err = WriteConfigFile(&configFile) configFile.VaultBackendType = VAULT_BACKEND_FILE_MODE
if err != nil { if err != nil {
return err return err
} }
@@ -65,12 +62,7 @@ func GetValueInKeyring(key string) (string, error) {
PrintErrorAndExit(1, err, "Unable to get current vault. Tip: run [infisical reset] then try again") PrintErrorAndExit(1, err, "Unable to get current vault. Tip: run [infisical reset] then try again")
} }
value, err := keyring.Get(currentVaultBackend, MAIN_KEYRING_SERVICE, key) return keyring.Get(currentVaultBackend, MAIN_KEYRING_SERVICE, key)
if err != nil {
value, err = keyring.Get(VAULT_BACKEND_FILE_MODE, MAIN_KEYRING_SERVICE, key)
}
return value, err
} }
@@ -80,11 +72,6 @@ func DeleteValueInKeyring(key string) error {
return err return err
} }
err = keyring.Delete(currentVaultBackend, MAIN_KEYRING_SERVICE, key) return keyring.Delete(currentVaultBackend, MAIN_KEYRING_SERVICE, key)
if err != nil {
err = keyring.Delete(VAULT_BACKEND_FILE_MODE, MAIN_KEYRING_SERVICE, key)
}
return err
} }