From 6342d4fedf30c63d8686f0c16df3b9378e331f2c Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Wed, 11 Jan 2017 13:11:14 -0800 Subject: [PATCH] WIP --- client/driver/docker.go | 13 +++++++++++-- demo/vagrant/client1.hcl | 1 + demo/vagrant/server.hcl | 10 +++++----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/client/driver/docker.go b/client/driver/docker.go index 90ca87b26..1334e90ef 100644 --- a/client/driver/docker.go +++ b/client/driver/docker.go @@ -986,8 +986,9 @@ func (d *DockerDriver) pullImage(driverConfig *DockerDriverConfig, client *docke ServerAddress: driverConfig.Auth[0].ServerAddress, } } - - if authConfigFile := d.config.Read("docker.auth.config"); authConfigFile != "" { + authConfigFile := d.config.Read("docker.auth.config") + d.logger.Printf("[DEBUG]: ALEX: auth config file %q", authConfigFile) + if authConfigFile != "" { if f, err := os.Open(authConfigFile); err == nil { defer f.Close() var authConfigurations *docker.AuthConfigurations @@ -995,6 +996,14 @@ func (d *DockerDriver) pullImage(driverConfig *DockerDriverConfig, client *docke return fmt.Errorf("Failed to create docker auth object: %v", err) } + // https://github.com/docker/docker/blob/109c26bd7482280946e356b33f17f4d82112dff3/cli/command/image/pull.go#L44 + // 1. convert the auth config to docker type + // 2. https://github.com/docker/docker/blob/109c26bd7482280946e356b33f17f4d82112dff3/cli/command/image/pull.go#L45 + // 3. https://github.com/docker/docker/blob/109c26bd7482280946e356b33f17f4d82112dff3/cli/command/image/pull.go#L69 + // 4. https://github.com/docker/docker/blob/master/registry/config.go#L324 + // 5. https://github.com/docker/docker/blob/master/registry/auth.go#L226 + // 6. Convert auth config back + authConfigurationKey := "" if driverConfig.SSL { authConfigurationKey += "https://" diff --git a/demo/vagrant/client1.hcl b/demo/vagrant/client1.hcl index 24083ee3f..270e1a374 100644 --- a/demo/vagrant/client1.hcl +++ b/demo/vagrant/client1.hcl @@ -19,6 +19,7 @@ client { node_class = "foo" options { "driver.raw_exec.enable" = "1" + "docker.auth.config" = "/root/dockercfg" } reserved { cpu = 500 diff --git a/demo/vagrant/server.hcl b/demo/vagrant/server.hcl index b745dbe2c..f5e050e5e 100644 --- a/demo/vagrant/server.hcl +++ b/demo/vagrant/server.hcl @@ -14,8 +14,8 @@ server { # Advertise must be set to a non-loopback address. # Defaults to the resolving the local hostname. -#advertise { -# http = "10.0.2.1" -# rpc = "10.0.2.1" -# serf = "10.0.2.1" -#} +advertise { + http = "localhost" + rpc = "localhost" + serf = "localhost" +}