@@ -33,11 +33,12 @@ func (c *Credentials) isValid() (bool, error) {
3333 return true , nil
3434}
3535
36- // Docker credentials should be labeled as such in credentials stores that allow labelling.
36+ // CredsLabel holds the way Docker credentials should be labeled as such in credentials stores that allow labelling.
3737// That label allows to filter out non-Docker credentials too at lookup/search in macOS keychain,
3838// Windows credentials manager and Linux libsecret. Default value is "Docker Credentials"
3939var CredsLabel = "Docker Credentials"
4040
41+ // SetCredsLabel is a simple setter for CredsLabel
4142func SetCredsLabel (label string ) {
4243 CredsLabel = label
4344}
@@ -50,7 +51,7 @@ func SetCredsLabel(label string) {
5051func Serve (helper Helper ) {
5152 var err error
5253 if len (os .Args ) != 2 {
53- err = fmt .Errorf ("Usage: %s <store|get|erase|list>" , os .Args [0 ])
54+ err = fmt .Errorf ("Usage: %s <store|get|erase|list|version >" , os .Args [0 ])
5455 }
5556
5657 if err == nil {
@@ -74,6 +75,8 @@ func HandleCommand(helper Helper, key string, in io.Reader, out io.Writer) error
7475 return Erase (helper , in )
7576 case "list" :
7677 return List (helper , out )
78+ case "version" :
79+ return PrintVersion (out )
7780 }
7881 return fmt .Errorf ("Unknown credential action `%s`" , key )
7982}
@@ -131,8 +134,8 @@ func Get(helper Helper, reader io.Reader, writer io.Writer) error {
131134
132135 resp := Credentials {
133136 ServerURL : serverURL ,
134- Username : username ,
135- Secret : secret ,
137+ Username : username ,
138+ Secret : secret ,
136139 }
137140
138141 buffer .Reset ()
@@ -175,3 +178,9 @@ func List(helper Helper, writer io.Writer) error {
175178 }
176179 return json .NewEncoder (writer ).Encode (accts )
177180}
181+
182+ //PrintVersion outputs the current version.
183+ func PrintVersion (writer io.Writer ) error {
184+ fmt .Fprintln (writer , Version )
185+ return nil
186+ }
0 commit comments