mirror of
https://github.com/project-zot/zot.git
synced 2026-06-16 04:17:55 +08:00
feat(retention): added image retention policies (#1866)
feat(metaDB): add more image statistics info Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
This commit is contained in:
@@ -81,17 +81,24 @@ func TestUploadImage(t *testing.T) {
|
||||
conf.HTTP.Port = port
|
||||
conf.Storage.RootDirectory = tempDir
|
||||
|
||||
err := os.Chmod(tempDir, 0o400)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
ctlr := api.NewController(conf)
|
||||
|
||||
ctlrManager := tcommon.NewControllerManager(ctlr)
|
||||
ctlrManager.StartAndWait(port)
|
||||
defer ctlrManager.StopServer()
|
||||
|
||||
err := os.Chmod(tempDir, 0o400)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
err := os.Chmod(tempDir, 0o700)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}()
|
||||
|
||||
img := Image{
|
||||
Layers: make([][]byte, 10),
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ type MetaDBMock struct {
|
||||
|
||||
SetImageTrustStoreFn func(mTypes.ImageTrustStore)
|
||||
|
||||
SetRepoReferenceFn func(repo string, reference string, imageMeta mTypes.ImageMeta) error
|
||||
SetRepoReferenceFn func(ctx context.Context, repo string, reference string, imageMeta mTypes.ImageMeta) error
|
||||
|
||||
SearchReposFn func(ctx context.Context, searchText string,
|
||||
) ([]mTypes.RepoMeta, error)
|
||||
@@ -74,7 +74,7 @@ type MetaDBMock struct {
|
||||
GetReferrersInfoFn func(repo string, referredDigest godigest.Digest, artifactTypes []string,
|
||||
) ([]mTypes.ReferrerInfo, error)
|
||||
|
||||
IncrementImageDownloadsFn func(repo string, reference string) error
|
||||
UpdateStatsOnDownloadFn func(repo string, reference string) error
|
||||
|
||||
UpdateSignaturesValidityFn func(repo string, manifestDigest godigest.Digest) error
|
||||
|
||||
@@ -259,9 +259,11 @@ func (sdm MetaDBMock) SetImageMeta(digest godigest.Digest, imageMeta mTypes.Imag
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sdm MetaDBMock) SetRepoReference(repo string, reference string, imageMeta mTypes.ImageMeta) error {
|
||||
func (sdm MetaDBMock) SetRepoReference(ctx context.Context, repo string, reference string,
|
||||
imageMeta mTypes.ImageMeta,
|
||||
) error {
|
||||
if sdm.SetRepoReferenceFn != nil {
|
||||
return sdm.SetRepoReferenceFn(repo, reference, imageMeta)
|
||||
return sdm.SetRepoReferenceFn(ctx, repo, reference, imageMeta)
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -362,9 +364,9 @@ func (sdm MetaDBMock) GetReferrersInfo(repo string, referredDigest godigest.Dige
|
||||
return []mTypes.ReferrerInfo{}, nil
|
||||
}
|
||||
|
||||
func (sdm MetaDBMock) IncrementImageDownloads(repo string, reference string) error {
|
||||
if sdm.IncrementImageDownloadsFn != nil {
|
||||
return sdm.IncrementImageDownloadsFn(repo, reference)
|
||||
func (sdm MetaDBMock) UpdateStatsOnDownload(repo string, reference string) error {
|
||||
if sdm.UpdateStatsOnDownloadFn != nil {
|
||||
return sdm.UpdateStatsOnDownloadFn(repo, reference)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
@@ -46,7 +46,7 @@ func InitializeTestMetaDB(ctx context.Context, metaDB mTypes.MetaDB, repos ...Re
|
||||
statistics := map[string]mTypes.DescriptorStatistics{"": {}}
|
||||
|
||||
for _, image := range repo.Images {
|
||||
err := metaDB.SetRepoReference(repo.Name, image.Reference, image.AsImageMeta())
|
||||
err := metaDB.SetRepoReference(ctx, repo.Name, image.Reference, image.AsImageMeta())
|
||||
if err != nil {
|
||||
return uacContext, err
|
||||
}
|
||||
@@ -56,7 +56,7 @@ func InitializeTestMetaDB(ctx context.Context, metaDB mTypes.MetaDB, repos ...Re
|
||||
|
||||
for _, multiArch := range repo.MultiArchImages {
|
||||
for _, image := range multiArch.Images {
|
||||
err := metaDB.SetRepoReference(repo.Name, image.DigestStr(), image.AsImageMeta())
|
||||
err := metaDB.SetRepoReference(ctx, repo.Name, image.DigestStr(), image.AsImageMeta())
|
||||
if err != nil {
|
||||
return uacContext, err
|
||||
}
|
||||
@@ -64,7 +64,7 @@ func InitializeTestMetaDB(ctx context.Context, metaDB mTypes.MetaDB, repos ...Re
|
||||
statistics[image.DigestStr()] = multiArch.ImageStatistics[image.DigestStr()]
|
||||
}
|
||||
|
||||
err := metaDB.SetRepoReference(repo.Name, multiArch.Reference, multiArch.AsImageMeta())
|
||||
err := metaDB.SetRepoReference(ctx, repo.Name, multiArch.Reference, multiArch.AsImageMeta())
|
||||
if err != nil {
|
||||
return uacContext, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user