From b27b594d007a6426333df512ffc63afb0187f337 Mon Sep 17 00:00:00 2001 From: Andrii Soldatenko Date: Mon, 17 Jun 2019 23:02:20 +0300 Subject: [PATCH] return back Astro login --- docker/docker.go | 64 +++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/docker/docker.go b/docker/docker.go index 3f3e550d5..14be5a1d9 100644 --- a/docker/docker.go +++ b/docker/docker.go @@ -7,13 +7,15 @@ import ( "os" "os/exec" + "github.com/docker/docker/registry" + "github.com/docker/docker/pkg/jsonmessage" clicommand "github.com/docker/cli/cli/command" cliconfig "github.com/docker/cli/cli/config" "github.com/docker/docker/api/types" - //registrytypes "github.com/docker/docker/api/types/registry" + registrytypes "github.com/docker/docker/api/types/registry" "github.com/docker/docker/client" "github.com/pkg/errors" ) @@ -87,36 +89,36 @@ func ExecPush(serverAddress, token, image string) error { // ExecLogin executes a docker login similar to docker login command func ExecLogin(serverAddress, username, token string) error { - //var response registrytypes.AuthenticateOKBody - //ctx := context.Background() - // - //cli, err := client.NewClientWithOpts(client.FromEnv) - //if err != nil { - // panic(err) - //} - // - //// Remove http|https from serverAddress - //serverAddress = registry.ConvertToHostname(serverAddress) - // - //authConfig := &types.AuthConfig{ - // ServerAddress: serverAddress, - // Username: username, - // RegistryToken: token, - //} - - //response, _ = cli.RegistryLogin(ctx, types.AuthConfig(*authConfig)) - - //configFile := cliconfig.LoadDefaultConfigFile(os.Stderr) - - //creds := configFile.GetCredentialsStore(serverAddress) - - //if err := creds.Store(*authConfig); err != nil { - // return errors.Errorf("Error saving credentials: %v", err) - //} - - //if response.Status != "" { - // return errors.Errorf("Error saving credentials: %v", response.Status) - //} + var response registrytypes.AuthenticateOKBody + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + panic(err) + } + + // Remove http|https from serverAddress + serverAddress = registry.ConvertToHostname(serverAddress) + + authConfig := &types.AuthConfig{ + ServerAddress: serverAddress, + Username: username, + RegistryToken: token, + } + + response, _ = cli.RegistryLogin(ctx, types.AuthConfig(*authConfig)) + + configFile := cliconfig.LoadDefaultConfigFile(os.Stderr) + + creds := configFile.GetCredentialsStore(serverAddress) + + if err := creds.Store(*authConfig); err != nil { + return errors.Errorf("Error saving credentials: %v", err) + } + + if response.Status != "" { + return errors.Errorf("Error saving credentials: %v", response.Status) + } return nil }