From 912854f29be94e79484cd6582feda1b09a5a805a Mon Sep 17 00:00:00 2001 From: LaurentiuNiculae Date: Mon, 15 May 2023 20:43:41 +0300 Subject: [PATCH] fix(sync): fix digest set into repodb (#1446) Signed-off-by: Laurentiu Niculae --- pkg/extensions/sync/signatures.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkg/extensions/sync/signatures.go b/pkg/extensions/sync/signatures.go index 73b5f709..f6e22c7b 100644 --- a/pkg/extensions/sync/signatures.go +++ b/pkg/extensions/sync/signatures.go @@ -292,15 +292,15 @@ func (sig *signaturesCopier) syncORASRefs(localRepo, remoteRepo, digestStr strin return nil } -func (sig *signaturesCopier) syncOCIRefs(localRepo, remoteRepo, digestStr string, index ispec.Index, +func (sig *signaturesCopier) syncOCIRefs(localRepo, remoteRepo, subjectStr string, index ispec.Index, ) error { if len(index.Manifests) == 0 { return nil } - skipOCIRefs, err := sig.canSkipOCIRefs(localRepo, digestStr, index) + skipOCIRefs, err := sig.canSkipOCIRefs(localRepo, subjectStr, index) if err != nil { - sig.log.Error().Err(err).Str("repository", remoteRepo).Str("reference", digestStr). + sig.log.Error().Err(err).Str("repository", remoteRepo).Str("reference", subjectStr). Msg("couldn't check if the upstream image oci references can be skipped") } @@ -362,7 +362,7 @@ func (sig *signaturesCopier) syncOCIRefs(localRepo, remoteRepo, digestStr string continue } - digest, _, err := imageStore.PutImageManifest(localRepo, ref.Digest.String(), + refDigest, _, err := imageStore.PutImageManifest(localRepo, ref.Digest.String(), ref.MediaType, OCIRefBody) if err != nil { sig.log.Error().Str("errorType", common.TypeOf(err)). @@ -372,34 +372,34 @@ func (sig *signaturesCopier) syncOCIRefs(localRepo, remoteRepo, digestStr string } if sig.repoDB != nil { - sig.log.Debug().Str("repository", localRepo).Str("digest", digestStr).Msg("trying to add OCI refs for repo digest") + sig.log.Debug().Str("repository", localRepo).Str("digest", subjectStr).Msg("trying to add OCI refs for repo digest") - isSig, _, signedManifestDig, err := storage.CheckIsImageSignature(localRepo, OCIRefBody, ref.Digest.String()) + isSig, sigType, signedManifestDig, err := storage.CheckIsImageSignature(localRepo, OCIRefBody, ref.Digest.String()) if err != nil { - return fmt.Errorf("failed to set metadata for OCI ref in '%s@%s': %w", localRepo, digestStr, err) + return fmt.Errorf("failed to set metadata for OCI ref in '%s@%s': %w", localRepo, subjectStr, err) } if isSig { err = sig.repoDB.AddManifestSignature(localRepo, signedManifestDig, repodb.SignatureMetadata{ - SignatureType: repodb.NotationType, - SignatureDigest: digestStr, + SignatureType: sigType, + SignatureDigest: refDigest.String(), }) } else { - err = repodb.SetImageMetaFromInput(localRepo, digestStr, ref.MediaType, - digest, OCIRefBody, sig.storeController.GetImageStore(localRepo), + err = repodb.SetImageMetaFromInput(localRepo, refDigest.String(), ref.MediaType, + refDigest, OCIRefBody, sig.storeController.GetImageStore(localRepo), sig.repoDB, sig.log) } if err != nil { - return fmt.Errorf("failed to set metadata for OCI ref in '%s@%s': %w", localRepo, digestStr, err) + return fmt.Errorf("failed to set metadata for OCI ref in '%s@%s': %w", localRepo, subjectStr, err) } - sig.log.Info().Str("repository", localRepo).Str("digest", digestStr). + sig.log.Info().Str("repository", localRepo).Str("digest", subjectStr). Msg("successfully added OCI refs to RepoDB for digest") } } - sig.log.Info().Str("repository", localRepo).Str("digest", digestStr). + sig.log.Info().Str("repository", localRepo).Str("digest", subjectStr). Msg("successfully synced OCI refs for digest") return nil