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  }