package contentutil

import "github.com/moby/buildkit/util/contentutil"

Index

Functions

func Copy

func Copy(ctx context.Context, ingester content.Ingester, provider content.Provider, desc ocispecs.Descriptor, ref string, logger func([]byte)) error

func CopyChain

func CopyChain(ctx context.Context, ingester content.Ingester, provider content.Provider, desc ocispecs.Descriptor, opts ...CopyOption) error

func FromPusher

func FromPusher(p remotes.Pusher) content.Ingester

func HasSource

func HasSource(info content.Info, refspec reference.Spec) (bool, error)

func IngesterFromRef

func IngesterFromRef(ref string) (content.Ingester, error)

func NewStoreWithProvider

func NewStoreWithProvider(cs content.Store, p content.Provider) content.Store

func ProviderFromRef

func ProviderFromRef(ref string, opts ...ResolveOptFunc) (ocispecs.Descriptor, content.Provider, error)

func RegisterContentPayloadTypes

func RegisterContentPayloadTypes(ctx context.Context) context.Context

RegisterContentPayloadTypes registers content types that are not defined by default but that we expect to find in registry images.

Types

type Buffer

Buffer is a content provider and ingester that keeps data in memory

func NewBuffer

func NewBuffer() Buffer

NewBuffer returns a new buffer

type CopyInfo

type CopyInfo struct {
	Referrers content.ReferrersProvider
}

type CopyOption

type CopyOption func(*CopyInfo) error

func WithReferrers

func WithReferrers(referrers content.ReferrersProvider) CopyOption

type MultiProvider

type MultiProvider struct {
	// contains filtered or unexported fields
}

MultiProvider is a provider backed by a mutable map of providers

func NewMultiProvider

func NewMultiProvider(base content.InfoReaderProvider) *MultiProvider

NewMultiProvider creates a new mutable provider with a base provider

func (*MultiProvider) Add

Add adds a new child provider for a specific digest

func (*MultiProvider) Info

func (mp *MultiProvider) Info(ctx context.Context, dgst digest.Digest) (content.Info, error)

Info returns a content.Info

func (*MultiProvider) ReaderAt

ReaderAt returns a content.ReaderAt

func (*MultiProvider) SnapshotLabels

func (mp *MultiProvider) SnapshotLabels(descs []ocispecs.Descriptor, index int) map[string]string

func (*MultiProvider) UnlazySession

func (mp *MultiProvider) UnlazySession(desc ocispecs.Descriptor) session.Group

type ReferrersProvider

type ReferrersProvider interface {
	content.Provider
	remotes.ReferrersFetcher
}

func FromFetcher

func FromFetcher(f remotes.Fetcher) ReferrersProvider

type ReferrersProviderBuffer

type ReferrersProviderBuffer struct {
	// contains filtered or unexported fields
}

func ReferrersProviderWithBuffer

func ReferrersProviderWithBuffer(p ReferrersProvider, buffer Buffer, name string) *ReferrersProviderBuffer

func (*ReferrersProviderBuffer) FetchReferrers

func (*ReferrersProviderBuffer) ReaderAt

func (*ReferrersProviderBuffer) SetGCLabels

func (p *ReferrersProviderBuffer) SetGCLabels(ctx context.Context, root ocispecs.Descriptor) error

type ResolveOpt

type ResolveOpt struct {
	Credentials func(string) (string, string, error)
}

type ResolveOptFunc

type ResolveOptFunc func(*ResolveOpt)

func WithCredentials

func WithCredentials(c func(string) (string, string, error)) ResolveOptFunc

Source Files

buffer.go cache.go copy.go fetcher.go multiprovider.go pusher.go refs.go source.go storewithprovider.go types.go

Version
v0.28.1
Published
Mar 25, 2026
Platform
darwin/amd64
Imports
26 packages
Last checked
15 seconds ago

Tools for package owners.