Documentation ¶
Index ¶
- func FetchHandler(ingester content.Ingester, fetcher Fetcher) images.HandlerFunc
- func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string
- func PushContent(ctx context.Context, pusher Pusher, desc ocispec.Descriptor, ...) error
- func PushHandler(pusher Pusher, provider content.Provider) images.HandlerFunc
- type Fetcher
- type FetcherFunc
- type Pusher
- type PusherFunc
- type Resolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FetchHandler ¶
func FetchHandler(ingester content.Ingester, fetcher Fetcher) images.HandlerFunc
FetchHandler returns a handler that will fetch all content into the ingester discovered in a call to Dispatch. Use with ChildrenHandler to do a full recursive fetch.
func MakeRefKey ¶
func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string
MakeRefKey returns a unique reference for the descriptor. This reference can be used to lookup ongoing processes related to the descriptor. This function may look to the context to namespace the reference appropriately.
func PushContent ¶
func PushContent(ctx context.Context, pusher Pusher, desc ocispec.Descriptor, provider content.Provider, platform platforms.MatchComparer, baseHandlers ...images.Handler) error
PushContent pushes content specified by the descriptor from the provider.
Base handlers can be provided which will be called before any push specific handlers.
func PushHandler ¶
func PushHandler(pusher Pusher, provider content.Provider) images.HandlerFunc
PushHandler returns a handler that will push all content from the provider using a writer from the pusher.
Types ¶
type Fetcher ¶
type Fetcher interface { // Fetch the resource identified by the descriptor. Fetch(ctx context.Context, desc ocispec.Descriptor) (io.ReadCloser, error) }
Fetcher fetches content
type FetcherFunc ¶
type FetcherFunc func(ctx context.Context, desc ocispec.Descriptor) (io.ReadCloser, error)
FetcherFunc allows package users to implement a Fetcher with just a function.
func (FetcherFunc) Fetch ¶
func (fn FetcherFunc) Fetch(ctx context.Context, desc ocispec.Descriptor) (io.ReadCloser, error)
Fetch content
type Pusher ¶
type Pusher interface { // Push returns a content writer for the given resource identified // by the descriptor. Push(ctx context.Context, d ocispec.Descriptor) (content.Writer, error) }
Pusher pushes content
type PusherFunc ¶
PusherFunc allows package users to implement a Pusher with just a function.
func (PusherFunc) Push ¶
func (fn PusherFunc) Push(ctx context.Context, desc ocispec.Descriptor) (content.Writer, error)
Push content
type Resolver ¶
type Resolver interface { // Resolve attempts to resolve the reference into a name and descriptor. // // The argument `ref` should be a scheme-less URI representing the remote. // Structurally, it has a host and path. The "host" can be used to directly // reference a specific host or be matched against a specific handler. // // The returned name should be used to identify the referenced entity. // Dependending on the remote namespace, this may be immutable or mutable. // While the name may differ from ref, it should itself be a valid ref. // // If the resolution fails, an error will be returned. Resolve(ctx context.Context, ref string) (name string, desc ocispec.Descriptor, err error) // Fetcher returns a new fetcher for the provided reference. // All content fetched from the returned fetcher will be // from the namespace referred to by ref. Fetcher(ctx context.Context, ref string) (Fetcher, error) // Pusher returns a new pusher for the provided reference Pusher(ctx context.Context, ref string) (Pusher, error) }
Resolver provides remotes based on a locator.