mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-20 01:29:07 +00:00
add docs to the cache spec
Signed-off-by: Avi Deitcher <avi@deitcher.net>
This commit is contained in:
parent
7778f34c0c
commit
9c95286a35
@ -4,16 +4,30 @@ import (
|
||||
"io"
|
||||
|
||||
"github.com/containerd/containerd/reference"
|
||||
"github.com/google/go-containerregistry/pkg/v1"
|
||||
v1 "github.com/google/go-containerregistry/pkg/v1"
|
||||
)
|
||||
|
||||
// CacheProvider interface for a provide of a cache.
|
||||
type CacheProvider interface {
|
||||
// FindDescriptor get the first descriptor pointed to by the image name
|
||||
FindDescriptor(name string) (*v1.Descriptor, error)
|
||||
// ImagePull takes an image name and pulls it from a registry to the cache. It should be
|
||||
// efficient and only write missing blobs, based on their content hash. If the ref already
|
||||
// exists in the cache, it should not pull anything, unless alwaysPull is set to true.
|
||||
ImagePull(ref *reference.Spec, trustedRef, architecture string, alwaysPull bool) (ImageSource, error)
|
||||
// IndexWrite takes an image name and creates an index for the descriptors to which it points.
|
||||
// Cache implementation determines whether it should pull missing blobs from a remote registry.
|
||||
// If the provided reference already exists and it is an index, updates the manifests in the
|
||||
// existing index.
|
||||
IndexWrite(ref *reference.Spec, descriptors ...v1.Descriptor) (ImageSource, error)
|
||||
// ImageLoad takes an OCI format image tar stream in the io.Reader and writes it to the cache. It should be
|
||||
// efficient and only write missing blobs, based on their content hash.
|
||||
ImageLoad(ref *reference.Spec, architecture string, r io.Reader) (ImageSource, error)
|
||||
// DescriptorWrite writes a descriptor to the cache index; it validates that it has a name
|
||||
// and replaces any existing one
|
||||
DescriptorWrite(ref *reference.Spec, descriptors v1.Descriptor) (ImageSource, error)
|
||||
// Push push an image along with a multi-arch index from local cache to remote registry.
|
||||
Push(name string) error
|
||||
// NewSource return an ImageSource for a specific ref and architecture in the cache.
|
||||
NewSource(ref *reference.Spec, architecture string, descriptor *v1.Descriptor) ImageSource
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user