(ctx context.Context, dgst digest.Digest)
| 551 | } |
| 552 | |
| 553 | func (r *Resolver) localCanonicalRootDescriptor(ctx context.Context, dgst digest.Digest) (ocispecs.Descriptor, bool, error) { |
| 554 | if dgst == "" { |
| 555 | return ocispecs.Descriptor{}, false, nil |
| 556 | } |
| 557 | ra, err := r.contentStore.ReaderAt(ctx, ocispecs.Descriptor{Digest: dgst}) |
| 558 | if err != nil { |
| 559 | if cerrdefs.IsNotFound(err) { |
| 560 | return ocispecs.Descriptor{}, false, nil |
| 561 | } |
| 562 | return ocispecs.Descriptor{}, false, err |
| 563 | } |
| 564 | defer ra.Close() |
| 565 | |
| 566 | mediaType, err := imageutil.DetectManifestMediaType(ra) |
| 567 | if err != nil { |
| 568 | return ocispecs.Descriptor{}, false, err |
| 569 | } |
| 570 | return ocispecs.Descriptor{ |
| 571 | Digest: dgst, |
| 572 | Size: ra.Size(), |
| 573 | MediaType: mediaType, |
| 574 | }, true, nil |
| 575 | } |
| 576 | |
| 577 | func (r *Resolver) PushImage(ctx context.Context, img *PushedImage, ref string, opts PushOpts) (rerr error) { |
| 578 | span, ctx := tracing.StartSpan(ctx, "pushing "+ref, telemetry.Encapsulated()) |
no test coverage detected