From ad3b8b9e4914b232883fceb0c21ebc33f5b63075 Mon Sep 17 00:00:00 2001 From: mrjoelkamp Date: Thu, 1 Aug 2024 13:41:49 -0500 Subject: [PATCH] fix: let OCI layouts use referrers attestations --- pkg/policy/policy.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/policy/policy.go b/pkg/policy/policy.go index dde953c..2f3650e 100644 --- a/pkg/policy/policy.go +++ b/pkg/policy/policy.go @@ -226,12 +226,18 @@ func CreateAttestationResolver(resolver oci.ImageDetailsResolver, mapping *confi } else { if mapping.Attestations != nil && mapping.Attestations.Repo != "" { return oci.NewReferrersAttestationResolver(resolver, oci.WithReferrersRepo(mapping.Attestations.Repo)) - } else { - return oci.NewReferrersAttestationResolver(resolver) } + return oci.NewReferrersAttestationResolver(resolver) } case *oci.OCILayoutResolver: - return resolver, nil + if mapping.Attestations != nil && mapping.Attestations.Style == config.AttestationStyleAttached { + return resolver, nil + } else { + if mapping.Attestations != nil && mapping.Attestations.Repo != "" { + return oci.NewReferrersAttestationResolver(resolver, oci.WithReferrersRepo(mapping.Attestations.Repo)) + } + return oci.NewReferrersAttestationResolver(resolver) + } default: return nil, fmt.Errorf("unsupported image details resolver type: %T", resolver) }