github.com/anuvu/zot@v1.3.4/pkg/storage/storage.go (about) 1 package storage 2 3 import ( 4 "io" 5 6 "github.com/notaryproject/notation-go-lib" 7 "github.com/opencontainers/go-digest" 8 ) 9 10 const ( 11 S3StorageDriverName = "s3" 12 ) 13 14 type ImageStore interface { 15 DirExists(d string) bool 16 RootDir() string 17 RLock() 18 RUnlock() 19 Lock() 20 Unlock() 21 InitRepo(name string) error 22 ValidateRepo(name string) (bool, error) 23 GetRepositories() ([]string, error) 24 GetImageTags(repo string) ([]string, error) 25 GetImageManifest(repo string, reference string) ([]byte, string, string, error) 26 PutImageManifest(repo string, reference string, mediaType string, body []byte) (string, error) 27 DeleteImageManifest(repo string, reference string) error 28 BlobUploadPath(repo string, uuid string) string 29 NewBlobUpload(repo string) (string, error) 30 GetBlobUpload(repo string, uuid string) (int64, error) 31 PutBlobChunkStreamed(repo string, uuid string, body io.Reader) (int64, error) 32 PutBlobChunk(repo string, uuid string, from int64, to int64, body io.Reader) (int64, error) 33 BlobUploadInfo(repo string, uuid string) (int64, error) 34 FinishBlobUpload(repo string, uuid string, body io.Reader, digest string) error 35 FullBlobUpload(repo string, body io.Reader, digest string) (string, int64, error) 36 DedupeBlob(src string, dstDigest digest.Digest, dst string) error 37 DeleteBlobUpload(repo string, uuid string) error 38 BlobPath(repo string, digest digest.Digest) string 39 CheckBlob(repo string, digest string) (bool, int64, error) 40 GetBlob(repo string, digest string, mediaType string) (io.Reader, int64, error) 41 DeleteBlob(repo string, digest string) error 42 GetIndexContent(repo string) ([]byte, error) 43 GetBlobContent(repo, digest string) ([]byte, error) 44 GetReferrers(repo, digest string, mediaType string) ([]notation.Descriptor, error) 45 }