MCPcopy
hub / github.com/google/go-containerregistry / Layer

Method Layer

pkg/v1/remote/index.go:130–152  ·  view source on GitHub ↗

Workaround for #819.

(h v1.Hash)

Source from the content-addressed store, hash-verified

128
129// Workaround for #819.
130func (r *remoteIndex) Layer(h v1.Hash) (v1.Layer, error) {
131 index, err := r.IndexManifest()
132 if err != nil {
133 return nil, err
134 }
135 for _, childDesc := range index.Manifests {
136 if h == childDesc.Digest {
137 l, err := partial.CompressedToLayer(&remoteLayer{
138 fetcher: r.fetcher,
139 ctx: r.ctx,
140 digest: h,
141 })
142 if err != nil {
143 return nil, err
144 }
145 return &MountableLayer{
146 Layer: l,
147 Reference: r.ref.Context().Digest(h.String()),
148 }, nil
149 }
150 }
151 return nil, fmt.Errorf("layer not found: %s", h)
152}
153
154func (r *remoteIndex) imageByPlatform(platform v1.Platform) (v1.Image, error) {
155 desc, err := r.childByPlatform(platform)

Callers

nothing calls this directly

Calls 5

IndexManifestMethod · 0.95
CompressedToLayerFunction · 0.92
DigestMethod · 0.65
ContextMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected