diff --git a/pkg/config/config.go b/pkg/config/config.go index 56645935..bf9a4f34 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -94,6 +94,7 @@ type KeyringConfig struct { KeychainName *string `toml:",omitempty"` FileDir *string `toml:",omitempty"` LibSecretCollectionName *string `toml:",omitempty"` + PassDir *string `toml:",omitempty"` // PassDir is the pass password-store directory, ~/ is resolved to the users' home dir } type Registry struct { diff --git a/pkg/granted/settings/set.go b/pkg/granted/settings/set.go index 528641d7..7ea8844c 100644 --- a/pkg/granted/settings/set.go +++ b/pkg/granted/settings/set.go @@ -36,6 +36,7 @@ var SetConfigCommand = cli.Command{ fieldMap["Keyring.KeychainName"] = keyringFields{&cfg.Keyring.KeychainName} fieldMap["Keyring.FileDir"] = keyringFields{&cfg.Keyring.FileDir} fieldMap["Keyring.LibSecretCollectionName"] = keyringFields{&cfg.Keyring.LibSecretCollectionName} + fieldMap["Keyring.PassDir"] = keyringFields{&cfg.Keyring.PassDir} fields := make([]string, 0, len(fieldMap)) for k := range fieldMap { diff --git a/pkg/securestorage/securestorage.go b/pkg/securestorage/securestorage.go index 678e8711..fb7f583e 100644 --- a/pkg/securestorage/securestorage.go +++ b/pkg/securestorage/securestorage.go @@ -153,6 +153,9 @@ func (s *SecureStorage) openKeyring() (keyring.Keyring, error) { if cfg.Keyring.LibSecretCollectionName != nil { c.LibSecretCollectionName = *cfg.Keyring.LibSecretCollectionName } + if cfg.Keyring.PassDir != nil { + c.PassDir = *cfg.Keyring.PassDir + } } k, err := keyring.Open(c)