github.com/sijibomii/docker@v0.0.0-20231230191044-5cf6ca554647/api/server/router/image/backend.go (about) 1 package image 2 3 import ( 4 "io" 5 6 "github.com/docker/docker/api/types/backend" 7 "github.com/docker/engine-api/types" 8 "github.com/docker/engine-api/types/registry" 9 "golang.org/x/net/context" 10 ) 11 12 // Backend is all the methods that need to be implemented 13 // to provide image specific functionality. 14 type Backend interface { 15 containerBackend 16 imageBackend 17 importExportBackend 18 registryBackend 19 } 20 21 type containerBackend interface { 22 Commit(name string, config *backend.ContainerCommitConfig) (imageID string, err error) 23 } 24 25 type imageBackend interface { 26 ImageDelete(imageRef string, force, prune bool) ([]types.ImageDelete, error) 27 ImageHistory(imageName string) ([]*types.ImageHistory, error) 28 Images(filterArgs string, filter string, all bool) ([]*types.Image, error) 29 LookupImage(name string) (*types.ImageInspect, error) 30 TagImage(imageName, repository, tag string) error 31 } 32 33 type importExportBackend interface { 34 LoadImage(inTar io.ReadCloser, outStream io.Writer, quiet bool) error 35 ImportImage(src string, repository, tag string, msg string, inConfig io.ReadCloser, outStream io.Writer, changes []string) error 36 ExportImage(names []string, outStream io.Writer) error 37 } 38 39 type registryBackend interface { 40 PullImage(ctx context.Context, image, tag string, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error 41 PushImage(ctx context.Context, image, tag string, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error 42 SearchRegistryForImages(ctx context.Context, term string, authConfig *types.AuthConfig, metaHeaders map[string][]string) (*registry.SearchResults, error) 43 }