MCPcopy Create free account
hub / github.com/dagger/dagger / localCanonicalRootDescriptor

Method localCanonicalRootDescriptor

engine/server/resolver/resolver.go:553–575  ·  view source on GitHub ↗
(ctx context.Context, dgst digest.Digest)

Source from the content-addressed store, hash-verified

551}
552
553func (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
577func (r *Resolver) PushImage(ctx context.Context, img *PushedImage, ref string, opts PushOpts) (rerr error) {
578 span, ctx := tracing.StartSpan(ctx, "pushing "+ref, telemetry.Encapsulated())

Callers 3

PullMethod · 0.95

Calls 4

DetectManifestMediaTypeFunction · 0.92
CloseMethod · 0.65
SizeMethod · 0.65
ReaderAtMethod · 0.45

Tested by

no test coverage detected