credentials.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package client
  2. import (
  3. "github.com/docker/docker/cliconfig/configfile"
  4. "github.com/docker/docker/cliconfig/credentials"
  5. "github.com/docker/engine-api/types"
  6. )
  7. // GetCredentials loads the user credentials from a credentials store.
  8. // The store is determined by the config file settings.
  9. func GetCredentials(c *configfile.ConfigFile, serverAddress string) (types.AuthConfig, error) {
  10. s := LoadCredentialsStore(c)
  11. return s.Get(serverAddress)
  12. }
  13. // GetAllCredentials loads all credentials from a credentials store.
  14. // The store is determined by the config file settings.
  15. func GetAllCredentials(c *configfile.ConfigFile) (map[string]types.AuthConfig, error) {
  16. s := LoadCredentialsStore(c)
  17. return s.GetAll()
  18. }
  19. // StoreCredentials saves the user credentials in a credentials store.
  20. // The store is determined by the config file settings.
  21. func StoreCredentials(c *configfile.ConfigFile, auth types.AuthConfig) error {
  22. s := LoadCredentialsStore(c)
  23. return s.Store(auth)
  24. }
  25. // EraseCredentials removes the user credentials from a credentials store.
  26. // The store is determined by the config file settings.
  27. func EraseCredentials(c *configfile.ConfigFile, serverAddress string) error {
  28. s := LoadCredentialsStore(c)
  29. return s.Erase(serverAddress)
  30. }
  31. // LoadCredentialsStore initializes a new credentials store based
  32. // in the settings provided in the configuration file.
  33. func LoadCredentialsStore(c *configfile.ConfigFile) credentials.Store {
  34. if c.CredentialsStore != "" {
  35. return credentials.NewNativeStore(c)
  36. }
  37. return credentials.NewFileStore(c)
  38. }