Documentation ¶
Index ¶
- func FetchHandler(ingester content.Ingester, fetcher Fetcher) images.HandlerFunc
- func HintExists(kind, value string, hints ...string) bool
- func HintValues(kind string, hints ...string) []string
- func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string
- func PushHandler(provider content.Provider, pusher Pusher) 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 HintExists ¶
HintExists returns true if a hint of the provided kind and values exists in the set of provided hints.
func HintValues ¶
HintValues returns a slice of the values of the hints that match kind.
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 PushHandler ¶
func PushHandler(provider content.Provider, pusher Pusher) 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, r io.Reader) 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.