diff --git a/clair/layering.go b/clair/layering.go index 358df0e..3000414 100644 --- a/clair/layering.go +++ b/clair/layering.go @@ -59,9 +59,10 @@ func (layers *layering) pushAll() error { Format: "Docker", }} - //FIXME Update to TLS if config.IsLocal { - local := layers.hURL + "/" + layers.image.Hostname() + // Fixed local path issue that arose when docker image provided was tagged + // Deleted portion of local URL that was adding '/docker.io/'to the path + local := layers.hURL payload.Layer.Path = strings.Replace(payload.Layer.Path, u.String(), local, 1) payload.Layer.Path += "/layer.tar" } diff --git a/clair/push.go b/clair/push.go index 537c495..6db1807 100644 --- a/clair/push.go +++ b/clair/push.go @@ -124,7 +124,6 @@ func blobsURI(registry string, name string, digest string) string { } func insertRegistryMapping(layerDigest string, registryURI string) { - hostURL, _ := dockerdist.GetPushURL(registryURI) log.Debugf("Saving %s[%s]", layerDigest, hostURL.String()) registryMapping[layerDigest] = hostURL.String() diff --git a/docker/dockercli/dockercli.go b/docker/dockercli/dockercli.go index d8d5f98..c496e95 100644 --- a/docker/dockercli/dockercli.go +++ b/docker/dockercli/dockercli.go @@ -10,7 +10,7 @@ import ( "os" "strings" "syscall" - + "github.com/artyom/untar" "github.com/coreos/pkg/capnslog" "github.com/docker/distribution" @@ -27,7 +27,7 @@ var log = capnslog.NewPackageLogger("github.com/jgsqware/clairctl", "dockercli") //GetLocalManifest retrieve manifest for local image func GetLocalManifest(imageName string, withExport bool) (reference.NamedTagged, distribution.Manifest, error) { - + n, err := reference.ParseNamed(imageName) if err != nil { return nil, nil, err @@ -36,7 +36,7 @@ func GetLocalManifest(imageName string, withExport bool) (reference.NamedTagged, if reference.IsNameOnly(n) { image = reference.WithDefaultTag(n).(reference.NamedTagged) } else { - image = n.(reference.NamedTagged) + image = n.(reference.NamedTagged) } if err != nil { return nil, nil, err @@ -73,7 +73,7 @@ func saveImage(imageName string, fo *os.File) error { func save(imageName string) (distribution.Manifest, error) { path := config.TmpLocal() + "/" + strings.Split(imageName, ":")[0] + "/blobs" - + if _, err := os.Stat(path); os.IsExist(err) { err := os.RemoveAll(path) if err != nil { @@ -125,7 +125,7 @@ func save(imageName string) (distribution.Manifest, error) { if n == 0 { break } - + // write a chunk if _, err := fo.Write(buf[:n]); err != nil { log.Error(err) diff --git a/server/server.go b/server/server.go index c4346f1..f2b8815 100644 --- a/server/server.go +++ b/server/server.go @@ -58,7 +58,6 @@ func restrictedFileServer(path string) http.Handler { if _, err := os.Stat(path); os.IsNotExist(err) { os.Mkdir(path, 0777) } - fc := func(w http.ResponseWriter, r *http.Request) { http.FileServer(http.Dir(path)).ServeHTTP(w, r) }