diff --git a/pkg/keychain/helper_darwin.go b/pkg/keychain/helper_darwin.go index eed1e928..c82a4aed 100644 --- a/pkg/keychain/helper_darwin.go +++ b/pkg/keychain/helper_darwin.go @@ -31,7 +31,7 @@ const ( ) func init() { // nolint[noinit] - Helpers = make(map[string]helper) + Helpers = make(map[string]helperConstructor) // MacOS always provides a keychain. Helpers[MacOSKeychain] = newMacOSHelper diff --git a/pkg/keychain/helper_linux.go b/pkg/keychain/helper_linux.go index f099a555..d8d1cf1f 100644 --- a/pkg/keychain/helper_linux.go +++ b/pkg/keychain/helper_linux.go @@ -31,7 +31,7 @@ const ( ) func init() { // nolint[noinit] - Helpers = make(map[string]helper) + Helpers = make(map[string]helperConstructor) if _, err := exec.LookPath("pass"); err == nil { Helpers[Pass] = newPassHelper diff --git a/pkg/keychain/helper_windows.go b/pkg/keychain/helper_windows.go index b45677d6..96b3d038 100644 --- a/pkg/keychain/helper_windows.go +++ b/pkg/keychain/helper_windows.go @@ -25,7 +25,7 @@ import ( const WindowsCredentials = "windows-credentials" func init() { // nolint[noinit] - Helpers = make(map[string]helper) + Helpers = make(map[string]helperConstructor) // Windows always provides a keychain. Helpers[WindowsCredentials] = newWinCredHelper diff --git a/pkg/keychain/keychain.go b/pkg/keychain/keychain.go index 3eb8e0a4..6729977a 100644 --- a/pkg/keychain/keychain.go +++ b/pkg/keychain/keychain.go @@ -28,8 +28,8 @@ import ( "github.com/docker/docker-credential-helpers/credentials" ) -// helper constructs a keychain helper. -type helper func(string) (credentials.Helper, error) +// helperConstructor constructs a keychain helperConstructor. +type helperConstructor func(string) (credentials.Helper, error) // Version is the keychain data version. const Version = "k11" @@ -39,7 +39,7 @@ var ( ErrNoKeychain = errors.New("no keychain") // nolint[noglobals] // Helpers holds all discovered keychain helpers. It is populated in init(). - Helpers map[string]helper // nolint[noglobals] + Helpers map[string]helperConstructor // nolint[noglobals] ) // NewKeychain creates a new native keychain. @@ -109,6 +109,7 @@ func (kc *Keychain) Delete(userID string) (err error) { return kc.helper.Delete(kc.secretURL(userID)) } +// Get returns the username and secret for the given userID. func (kc *Keychain) Get(userID string) (string, string, error) { kc.locker.Lock() defer kc.locker.Unlock()