grim/tagpull

1662950b867d
Create the registry once since it is using anonymous authentication.
package main
import (
"strings"
"github.com/heroku/docker-registry-client/registry"
)
var (
reg *registry.Registry
)
func init() {
r, err := registry.New("https://index.docker.io", "", "")
if err != nil {
panic(err)
}
// disable the logger on the registry
r.Logf = func(format string, args ...interface{}) {}
reg = r
}
func registryGetDigest(repository, tag string) (string, error) {
// make sure the repository doesn't have a tag
repository = strings.SplitN(repository, ":", 2)[0]
manifest, err := reg.ManifestV2(repository, tag)
if err != nil {
return "", err
}
return manifest.Config.Digest.String(), nil
}