// ChainID returns the ChainID for the top layer in RootFS. func (r *RootFS) ChainID() layer.ChainID { if runtime.GOOS == "windows" && r.Type == typeLayersWithBase { logrus.Warnf("Layer type is unsupported on this platform. DiffIDs: '%v'", r.DiffIDs) return "" } return layer.CreateChainID(r.DiffIDs) }
// ChainID returns the ChainID for the top layer in RootFS. func (r *RootFS) ChainID() layer.ChainID { ids := r.DiffIDs if r.Type == TypeLayersWithBase { // Add an extra ID for the base. baseDiffID := layer.DiffID(digest.FromBytes([]byte(r.BaseLayerID()))) ids = append([]layer.DiffID{baseDiffID}, ids...) } return layer.CreateChainID(ids) }
func (p *pluginLayerProvider) Get(id layer.ChainID) (distribution.PushLayer, error) { rootFS := rootFSFromPlugin(p.plugin.PluginObj.Config.Rootfs) var i int for i = 1; i <= len(rootFS.DiffIDs); i++ { if layer.CreateChainID(rootFS.DiffIDs[:i]) == id { break } } if i > len(rootFS.DiffIDs) { return nil, errors.New("layer not found") } return &pluginLayer{ pm: p.pm, diffIDs: rootFS.DiffIDs[:i], blobs: p.plugin.Blobsums[:i], }, nil }
// ChainID returns the ChainID for the top layer in RootFS. func (r *RootFS) ChainID() layer.ChainID { baseDiffID := digest.FromBytes([]byte(r.BaseLayerID())) return layer.CreateChainID(append([]layer.DiffID{layer.DiffID(baseDiffID)}, r.DiffIDs...)) }
// ChainID returns the ChainID for the top layer in RootFS. func (r *RootFS) ChainID() layer.ChainID { return layer.CreateChainID(r.DiffIDs) }
func (l *mockLayer) ChainID() layer.ChainID { return layer.CreateChainID(l.diffIDs) }
func (l *pluginLayer) ChainID() layer.ChainID { return layer.CreateChainID(l.diffIDs) }