Documentation ¶
Index ¶
- func Fetch(ctx context.Context, ingester content.Ingester, fetcher Fetcher, ...) error
- func FetchHandler(ingester content.Ingester, fetcher Fetcher) images.HandlerFunc
- func FilterManifestByPlatformHandler(f images.HandlerFunc, m platforms.Matcher) 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
- func SkipNonDistributableBlobs(f images.HandlerFunc) images.HandlerFunc
- func WithMediaTypeKeyPrefix(ctx context.Context, mediaType, prefix string) context.Context
- type Fetcher
- type FetcherByDigest
- type FetcherFunc
- type Pusher
- type PusherFunc
- type ReferrersFetcher
- type Resolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Fetch ¶
func Fetch(ctx context.Context, ingester content.Ingester, fetcher Fetcher, desc ocispec.Descriptor) error
Fetch fetches the given digest into the provided ingester
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 FilterManifestByPlatformHandler ¶
func FilterManifestByPlatformHandler(f images.HandlerFunc, m platforms.Matcher) images.HandlerFunc
FilterManifestByPlatformHandler allows Handler to handle non-target platform's manifest and configuration data.
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, store content.Provider, limiter *semaphore.Weighted, platform platforms.MatchComparer, wrapper func(h images.Handler) 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.
If the passed in content.Provider is also a content.Manager then this will also annotate the distribution sources in the manager.
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.
func SkipNonDistributableBlobs ¶
func SkipNonDistributableBlobs(f images.HandlerFunc) images.HandlerFunc
SkipNonDistributableBlobs returns a handler that skips blobs that have a media type that is "non-distributeable". An example of this kind of content would be a Windows base layer, which is not supposed to be redistributed.
This is based on the media type of the content:
- application/vnd.oci.image.layer.nondistributable
- application/vnd.docker.image.rootfs.foreign
func WithMediaTypeKeyPrefix ¶
WithMediaTypeKeyPrefix adds a custom key prefix for a media type which is used when storing data in the content store from the FetchHandler.
Used in `MakeRefKey` to determine what the key prefix should be.
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. A fetcher implementation may implement the FetcherByDigest interface too.
type FetcherByDigest ¶
type FetcherByDigest interface { // FetchByDigest fetches the resource identified by the digest. // // FetcherByDigest usually returns an incomplete descriptor. // Typically, the media type is always set to "application/octet-stream", // and the annotations are unset. FetchByDigest(ctx context.Context, dgst digest.Digest) (io.ReadCloser, ocispec.Descriptor, error) }
FetcherByDigest fetches content by the digest.
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 ReferrersFetcher ¶
type ReferrersFetcher interface {
FetchReferrers(ctx context.Context, dgst digest.Digest, artifactTypes ...string) (io.ReadCloser, ocispec.Descriptor, error)
}
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. // Depending 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 // The returned Pusher should satisfy content.Ingester and concurrent attempts // to push the same blob using the Ingester API should result in ErrUnavailable. Pusher(ctx context.Context, ref string) (Pusher, error) }
Resolver provides remotes based on a locator.
Directories ¶
Path | Synopsis |
---|---|
config
Package config contains utilities for helping configure the Docker resolver
|
Package config contains utilities for helping configure the Docker resolver |
schema1
Package schema1 provides a converter to fetch an image formatted in Docker Image Manifest v2, Schema 1.
|
Package schema1 provides a converter to fetch an image formatted in Docker Image Manifest v2, Schema 1. |