[cherrt-pick]fix copy artifact issue (#18465)

fix copy artifact issue

To enable the middleware to save the project_blob data, make sure to set the accessories options to true when handling the artifact copy.

Signed-off-by: Wang Yan <wangyan@vmware.com>
This commit is contained in:
Wang Yan 2023-04-03 14:20:41 +08:00 committed by GitHub
parent 8dd73e3650
commit cdcf10ec7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -60,7 +60,7 @@ func CopyArtifactMiddleware() func(http.Handler) http.Handler {
from := query.Get("from")
repository, reference, _ := distribution.ParseRef(from)
art, err := artifactController.GetByReference(ctx, repository, reference, nil)
art, err := artifactController.GetByReference(ctx, repository, reference, &artifact.Option{WithAccessory: true})
if errors.IsNotFoundErr(err) {
// artifact not found, discontinue the API request
return errors.BadRequestError(nil).WithMessage("artifact %s not found", from)
@ -85,7 +85,7 @@ func CopyArtifactMiddleware() func(http.Handler) http.Handler {
err = artifactController.Walk(ctx, art, func(a *artifact.Artifact) error {
artifactDigests = append(artifactDigests, a.Digest)
return nil
}, nil)
}, &artifact.Option{WithAccessory: true})
if err != nil {
logger.Errorf("walk the artifact %s failed, error: %v", art.Digest, err)
return err