Merge pull request #3165 from hashicorp/b-docker-auth

Fix repo name passed to docker credential helpers
This commit is contained in:
Alex Dadgar
2017-09-05 16:56:51 -07:00
committed by GitHub
2 changed files with 10 additions and 2 deletions

View File

@@ -22,6 +22,8 @@ BUG FIXES:
* driver/docker: Fix issue in which mounts could parse incorrectly [GH-3163]
* driver/docker: Fix issue where potentially incorrect syslog server address is
used [GH-3135]
* driver/docker: Fix server url passed to credential helpers and properly
capture error output [GH-3165]
* jobspec: Allow distinct_host constraint to have L/RTarget set [GH-3136]
## 0.6.2 (August 28, 2017)

View File

@@ -1795,15 +1795,21 @@ func authFromHelper(helperName string) authBackend {
}
helper := dockerAuthHelperPrefix + helperName
cmd := exec.Command(helper, "get")
// Ensure that the HTTPs prefix exists
if !strings.HasPrefix(repo, "https://") {
repo = fmt.Sprintf("https://%s", repo)
}
cmd.Stdin = strings.NewReader(repo)
output, err := cmd.Output()
if err != nil {
switch e := err.(type) {
switch err.(type) {
default:
return nil, err
case *exec.ExitError:
return nil, fmt.Errorf("%s failed with stderr: %s", helper, string(e.Stderr))
return nil, fmt.Errorf("%s with input %q failed with stderr: %s", helper, repo, output)
}
}