github.com/cvmfs/docker-graphdriver@v0.0.0-20181206110523-155ec6df0521/docker2cvmfs/lib/descriptor.go (about) 1 package lib 2 3 import ( 4 "strings" 5 6 cvmfsUtil "github.com/cvmfs/docker-graphdriver/plugins/util" 7 ) 8 9 // m is the manifest of the original image 10 // repoLocation is where inside the repo we saved the several layers 11 // origin is an ecoding fo the original referencese and original registry 12 // I believe origin is quite useless but maybe is better to preserv it for 13 // ergonomic reasons. 14 func MakeThinImage(m Manifest, repoLocation string, origin string) cvmfsUtil.ThinImage { 15 layers := make([]cvmfsUtil.ThinImageLayer, len(m.Layers)) 16 17 url_base := "cvmfs://" + repoLocation 18 for i, l := range m.Layers { 19 d := strings.Split(l.Digest, ":")[1] 20 url := url_base + "/" + d 21 layers[i] = cvmfsUtil.ThinImageLayer{Digest: d, Url: url} 22 } 23 24 return cvmfsUtil.ThinImage{Layers: layers, 25 Origin: origin, 26 Version: thinImageVersion} 27 }