package registry import ( "github.com/docker/docker/api/types" log "github.com/sirupsen/logrus" ) // GetPullOptions creates a struct with all options needed for pulling images from a registry func GetPullOptions(imageName string) (types.ImagePullOptions, error) { auth, err := EncodedAuth(imageName) log.Debugf("Got image name: %s", imageName) if err != nil { return types.ImagePullOptions{}, err } log.Debugf("Got auth value: %s", auth) if auth == "" { return types.ImagePullOptions{}, nil } return types.ImagePullOptions{ RegistryAuth: auth, PrivilegeFunc: DefaultAuthHandler, }, nil } // DefaultAuthHandler will be invoked if an AuthConfig is rejected // It could be used to return a new value for the "X-Registry-Auth" authentication header, // but there's no point trying again with the same value as used in AuthConfig func DefaultAuthHandler() (string, error) { log.Debug("Authentication request was rejected. Trying again without authentication") return "", nil }