Revert "refactor build job to know only configFile"

This reverts commit b9731bccf2.

Conflicts:
	server/server.go

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
This commit is contained in:
Victor Vieux
2014-05-07 22:59:13 +00:00
parent 331e77f9ed
commit 2aff119baa
4 changed files with 28 additions and 26 deletions
+15 -3
View File
@@ -50,6 +50,7 @@ type buildFile struct {
utilizeCache bool
rm bool
authConfig *registry.AuthConfig
configFile *registry.ConfigFile
tmpContainers map[string]struct{}
@@ -80,10 +81,20 @@ func (b *buildFile) CmdFrom(name string) error {
if err != nil {
if b.daemon.Graph().IsNotExist(err) {
remote, tag := utils.ParseRepositoryTag(name)
pullRegistryAuth := b.authConfig
if len(b.configFile.Configs) > 0 {
// The request came with a full auth config file, we prefer to use that
endpoint, _, err := registry.ResolveRepositoryName(remote)
if err != nil {
return err
}
resolvedAuth := b.configFile.ResolveAuthConfig(endpoint)
pullRegistryAuth = &resolvedAuth
}
job := b.srv.Eng.Job("pull", remote, tag)
job.SetenvBool("json", b.sf.Json())
job.SetenvBool("parallel", true)
job.SetenvJson("configFile", b.configFile)
job.SetenvJson("authConfig", pullRegistryAuth)
job.Stdout.Add(b.outOld)
if err := job.Run(); err != nil {
return err
@@ -821,7 +832,7 @@ func stripComments(raw []byte) string {
return strings.Join(out, "\n")
}
func NewBuildFile(srv *Server, outStream, errStream io.Writer, verbose, utilizeCache, rm bool, outOld io.Writer, sf *utils.StreamFormatter, configFile *registry.ConfigFile) BuildFile {
func NewBuildFile(srv *Server, outStream, errStream io.Writer, verbose, utilizeCache, rm bool, outOld io.Writer, sf *utils.StreamFormatter, auth *registry.AuthConfig, authConfigFile *registry.ConfigFile) BuildFile {
return &buildFile{
daemon: srv.daemon,
srv: srv,
@@ -834,7 +845,8 @@ func NewBuildFile(srv *Server, outStream, errStream io.Writer, verbose, utilizeC
utilizeCache: utilizeCache,
rm: rm,
sf: sf,
configFile: configFile,
authConfig: auth,
configFile: authConfigFile,
outOld: outOld,
}
}
+7 -12
View File
@@ -428,10 +428,12 @@ func (srv *Server) Build(job *engine.Job) engine.Status {
suppressOutput = job.GetenvBool("q")
noCache = job.GetenvBool("nocache")
rm = job.GetenvBool("rm")
authConfig = &registry.AuthConfig{}
configFile = &registry.ConfigFile{}
tag string
context io.ReadCloser
)
job.GetenvJson("authConfig", authConfig)
job.GetenvJson("configFile", configFile)
repoName, tag = utils.ParseRepositoryTag(repoName)
@@ -484,7 +486,7 @@ func (srv *Server) Build(job *engine.Job) engine.Status {
Writer: job.Stdout,
StreamFormatter: sf,
},
!suppressOutput, !noCache, rm, job.Stdout, sf, configFile)
!suppressOutput, !noCache, rm, job.Stdout, sf, authConfig, configFile)
id, err := b.Build(context)
if err != nil {
return job.Error(err)
@@ -1341,23 +1343,16 @@ func (srv *Server) ImagePull(job *engine.Job) engine.Status {
localName = job.Args[0]
tag string
sf = utils.NewStreamFormatter(job.GetenvBool("json"))
authConfig registry.AuthConfig
configFile = &registry.ConfigFile{}
authConfig = &registry.AuthConfig{}
metaHeaders map[string][]string
)
if len(job.Args) > 1 {
tag = job.Args[1]
}
job.GetenvJson("configFile", configFile)
job.GetenvJson("authConfig", authConfig)
job.GetenvJson("metaHeaders", metaHeaders)
endpoint, _, err := registry.ResolveRepositoryName(localName)
if err != nil {
return job.Error(err)
}
authConfig = configFile.ResolveAuthConfig(endpoint)
c, err := srv.poolAdd("pull", localName+":"+tag)
if err != nil {
if c != nil {
@@ -1376,12 +1371,12 @@ func (srv *Server) ImagePull(job *engine.Job) engine.Status {
return job.Error(err)
}
endpoint, err = registry.ExpandAndVerifyRegistryUrl(hostname)
endpoint, err := registry.ExpandAndVerifyRegistryUrl(hostname)
if err != nil {
return job.Error(err)
}
r, err := registry.NewRegistry(&authConfig, registry.HTTPRequestFactory(metaHeaders), endpoint)
r, err := registry.NewRegistry(authConfig, registry.HTTPRequestFactory(metaHeaders), endpoint)
if err != nil {
return job.Error(err)
}