fix copy artifact issue (#18460)

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 10:58:17 +08:00 committed by GitHub
parent cb0749c7ab
commit fddfaa7ba5
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