MCPcopy Create free account
hub / github.com/buildpacks/pack / fetchLayoutImage

Method fetchLayoutImage

pkg/image/fetcher.go:217–244  ·  view source on GitHub ↗
(name string, options LayoutOption)

Source from the content-addressed store, hash-verified

215}
216
217func (f *Fetcher) fetchLayoutImage(name string, options LayoutOption) (imgutil.Image, error) {
218 var (
219 image imgutil.Image
220 err error
221 )
222
223 v1Image, err := remote.NewV1Image(name, f.keychain)
224 if err != nil {
225 return nil, err
226 }
227
228 if options.Sparse {
229 image, err = sparse.NewImage(options.Path, v1Image)
230 } else {
231 image, err = layout.NewImage(options.Path, layout.FromBaseImageInstance(v1Image))
232 }
233
234 if err != nil {
235 return nil, err
236 }
237
238 err = image.Save()
239 if err != nil {
240 return nil, err
241 }
242
243 return image, nil
244}
245
246// FetchForPlatform fetches an image and resolves it to a platform-specific digest before fetching.
247// This ensures that multi-platform images are always resolved to the correct platform-specific manifest.

Callers 1

FetchMethod · 0.95

Calls 2

SaveMethod · 0.80
NewImageMethod · 0.65

Tested by

no test coverage detected