mirror of
https://github.com/docker/docker-credential-helpers.git
synced 2026-06-13 16:01:28 +05:30
Publish helper structs and methods.
Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
@@ -6,5 +6,5 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
credentials.Serve(osxkeychain.New())
|
||||
credentials.Serve(osxkeychain.Osxkeychain{})
|
||||
}
|
||||
|
||||
@@ -22,15 +22,11 @@ import (
|
||||
// when the credentials are not in the keychain.
|
||||
const errCredentialsNotFound = "The specified item could not be found in the keychain."
|
||||
|
||||
type osxkeychain struct{}
|
||||
|
||||
// New creates a new osxkeychain.
|
||||
func New() credentials.Helper {
|
||||
return osxkeychain{}
|
||||
}
|
||||
// Osxkeychain handles secrets using the OS X Keychain as store.
|
||||
type Osxkeychain struct{}
|
||||
|
||||
// Add adds new credentials to the keychain.
|
||||
func (h osxkeychain) Add(creds *credentials.Credentials) error {
|
||||
func (h Osxkeychain) Add(creds *credentials.Credentials) error {
|
||||
s, err := splitServer(creds.ServerURL)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -52,7 +48,7 @@ func (h osxkeychain) Add(creds *credentials.Credentials) error {
|
||||
}
|
||||
|
||||
// Delete removes credentials from the keychain.
|
||||
func (h osxkeychain) Delete(serverURL string) error {
|
||||
func (h Osxkeychain) Delete(serverURL string) error {
|
||||
s, err := splitServer(serverURL)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -69,7 +65,7 @@ func (h osxkeychain) Delete(serverURL string) error {
|
||||
}
|
||||
|
||||
// Get returns the username and secret to use for a given registry server URL.
|
||||
func (h osxkeychain) Get(serverURL string) (string, string, error) {
|
||||
func (h Osxkeychain) Get(serverURL string) (string, string, error) {
|
||||
s, err := splitServer(serverURL)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
|
||||
@@ -13,7 +13,7 @@ func TestOSXKeychainHelper(t *testing.T) {
|
||||
Secret: "foobarbaz",
|
||||
}
|
||||
|
||||
helper := New()
|
||||
helper := Osxkeychain{}
|
||||
if err := helper.Add(creds); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -37,7 +37,7 @@ func TestOSXKeychainHelper(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestMissingCredentials(t *testing.T) {
|
||||
helper := New()
|
||||
helper := Osxkeychain{}
|
||||
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
|
||||
if err != credentials.ErrCredentialsNotFound {
|
||||
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)
|
||||
|
||||
@@ -6,5 +6,5 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
credentials.Serve(secretservice.New())
|
||||
credentials.Serve(secretservice.Secretservice{})
|
||||
}
|
||||
|
||||
@@ -14,15 +14,11 @@ import (
|
||||
"github.com/docker/docker-credential-helpers/credentials"
|
||||
)
|
||||
|
||||
type secretservice struct{}
|
||||
|
||||
// New creates a new secretservice.
|
||||
func New() credentials.Helper {
|
||||
return secretservice{}
|
||||
}
|
||||
// Secretservice handles secrets using Linux secret-service as a store.
|
||||
type Secretservice struct{}
|
||||
|
||||
// Add adds new credentials to the keychain.
|
||||
func (h secretservice) Add(creds *credentials.Credentials) error {
|
||||
func (h Secretservice) Add(creds *credentials.Credentials) error {
|
||||
if creds == nil {
|
||||
return errors.New("missing credentials")
|
||||
}
|
||||
@@ -41,8 +37,8 @@ func (h secretservice) Add(creds *credentials.Credentials) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Delete removes credentials from the keychain.
|
||||
func (h secretservice) Delete(serverURL string) error {
|
||||
// Delete removes credentials from the store.
|
||||
func (h Secretservice) Delete(serverURL string) error {
|
||||
if serverURL == "" {
|
||||
return errors.New("missing server url")
|
||||
}
|
||||
@@ -58,7 +54,7 @@ func (h secretservice) Delete(serverURL string) error {
|
||||
}
|
||||
|
||||
// Get returns the username and secret to use for a given registry server URL.
|
||||
func (h secretservice) Get(serverURL string) (string, string, error) {
|
||||
func (h Secretservice) Get(serverURL string) (string, string, error) {
|
||||
if serverURL == "" {
|
||||
return "", "", errors.New("missing server url")
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ func TestSecretServiceHelper(t *testing.T) {
|
||||
Secret: "foobarbaz",
|
||||
}
|
||||
|
||||
helper := New()
|
||||
helper := Secretservice{}
|
||||
if err := helper.Add(creds); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -41,7 +41,7 @@ func TestSecretServiceHelper(t *testing.T) {
|
||||
func TestMissingCredentials(t *testing.T) {
|
||||
t.Skip("test requires gnome-keyring but travis CI doesn't have it")
|
||||
|
||||
helper := New()
|
||||
helper := Secretservice{}
|
||||
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
|
||||
if err != credentials.ErrCredentialsNotFound {
|
||||
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)
|
||||
|
||||
@@ -6,5 +6,5 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
credentials.Serve(wincred.New())
|
||||
credentials.Serve(wincred.Wincred{})
|
||||
}
|
||||
|
||||
@@ -5,15 +5,11 @@ import (
|
||||
"github.com/docker/docker-credential-helpers/credentials"
|
||||
)
|
||||
|
||||
type wincred struct{}
|
||||
|
||||
// New creates a new wincred.
|
||||
func New() credentials.Helper {
|
||||
return wincred{}
|
||||
}
|
||||
// Wincred handles secrets using the Windows credential service.
|
||||
type Wincred struct{}
|
||||
|
||||
// Add adds new credentials to the windows credentials manager.
|
||||
func (h wincred) Add(creds *credentials.Credentials) error {
|
||||
func (h Wincred) Add(creds *credentials.Credentials) error {
|
||||
g := winc.NewGenericCredential(creds.ServerURL)
|
||||
g.UserName = creds.Username
|
||||
g.CredentialBlob = []byte(creds.Secret)
|
||||
@@ -22,7 +18,7 @@ func (h wincred) Add(creds *credentials.Credentials) error {
|
||||
}
|
||||
|
||||
// Delete removes credentials from the windows credentials manager.
|
||||
func (h wincred) Delete(serverURL string) error {
|
||||
func (h Wincred) Delete(serverURL string) error {
|
||||
g, err := winc.GetGenericCredential(serverURL)
|
||||
if g == nil {
|
||||
return nil
|
||||
@@ -34,7 +30,7 @@ func (h wincred) Delete(serverURL string) error {
|
||||
}
|
||||
|
||||
// Get retrieves credentials from the windows credentials manager.
|
||||
func (h wincred) Get(serverURL string) (string, string, error) {
|
||||
func (h Wincred) Get(serverURL string) (string, string, error) {
|
||||
g, _ := winc.GetGenericCredential(serverURL)
|
||||
if g == nil {
|
||||
return "", "", credentials.ErrCredentialsNotFound
|
||||
|
||||
@@ -13,7 +13,7 @@ func TestWinCredHelper(t *testing.T) {
|
||||
Secret: "foobarbaz",
|
||||
}
|
||||
|
||||
helper := New()
|
||||
helper := Wincred{}
|
||||
if err := helper.Add(creds); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -37,7 +37,7 @@ func TestWinCredHelper(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestMissingCredentials(t *testing.T) {
|
||||
helper := New()
|
||||
helper := Wincred{}
|
||||
_, _, err := helper.Get("https://adsfasdf.wrewerwer.com/asdfsdddd")
|
||||
if err != credentials.ErrCredentialsNotFound {
|
||||
t.Fatalf("exptected ErrCredentialsNotFound, got %v", err)
|
||||
|
||||
Reference in New Issue
Block a user