Files
zot/pkg/extensions/sync/referrers.go
T
peusebiu 0e2aa81439 feat(sync): use regclient for sync extension (#2903)
* feat(sync): use regclient for sync extension

replaced containers/image package with regclient/regclient package

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(sync): fixed converting innner docker list mediatype

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* feat(sync): added option to preserve digest

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(sync): added coverage and various fixes

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(metadb): fixed converting manifest list not setting platform and annotations

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(sync): remove read lock on storage, not used concurrently

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* feat(sync): added cache for repo tags

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(sync): fixed Makefile
removed opengpg tag

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

* fix(sync): add test for on demand referrer

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>

---------

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>
2025-04-15 16:58:15 -07:00

37 lines
661 B
Go

//go:build sync
// +build sync
package sync
import (
ispec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/regclient/regclient/types/referrer"
"zotregistry.dev/zot/pkg/common"
)
const (
cosignSignatureTagSuffix = "sig"
SBOMTagSuffix = "sbom"
)
func hasSignatureReferrers(refs referrer.ReferrerList) bool {
for _, desc := range refs.Descriptors {
tag := desc.Annotations[ispec.AnnotationRefName]
if common.IsCosignSignature(tag) {
return true
}
if desc.ArtifactType == common.ArtifactTypeNotation {
return true
}
if desc.ArtifactType == common.ArtifactTypeCosign {
return true
}
}
return false
}