Update vacuum.go

remove repository, redirect delete the repository directory, thus, repository such as dir0/dir1:tag1, dir0/dir1/dir2:tag2, when we delete repository dir0/dir1, the dir0/dir1/dir2 also deleted .

Signed-off-by: Xiaolei.Liang <xiaolei.liang@qq.com>
Signed-off-by: liangxiaolei5 <liangxiaolei@jd.com>
This commit is contained in:
Xiaolei.Liang
2025-03-26 18:59:53 +08:00
committed by liangxiaolei5
parent ef21149b49
commit 54c589101f

View File

@@ -91,9 +91,22 @@ func (v Vacuum) RemoveRepository(repoName string) error {
if err != nil {
return err
}
repoDir := path.Join(rootForRepository, repoName)
dcontext.GetLogger(v.ctx).Infof("Deleting repo: %s", repoDir)
err = v.driver.Delete(v.ctx, repoDir)
repoManifestDir := path.Join(rootForRepository, repoName, "_manifests")
dcontext.GetLogger(v.ctx).Infof("Deleting repo: %s", repoManifestDir)
err = v.driver.Delete(v.ctx, repoManifestDir)
if err != nil {
return err
}
repoLayerDir := path.Join(rootForRepository, repoName, "_layers")
dcontext.GetLogger(v.ctx).Infof("Deleting repo: %s", repoLayerDir)
err = v.driver.Delete(v.ctx, repoLayerDir)
if err != nil {
return err
}
repoUploadDir := path.Join(rootForRepository, repoName, "_uploads")
dcontext.GetLogger(v.ctx).Infof("Deleting repo: %s", repoUploadDir)
err = v.driver.Delete(v.ctx, repoUploadDir)
if err != nil {
return err
}