Skip to content

Commit 574a304

Browse files
authored
Merge pull request #11538 from dmcgowan/backport-11327
[release/1.7] Update image type checks to avoid unnecessary logs for attestations
2 parents 576178b + 82b5c43 commit 574a304

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

images/image.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ func Children(ctx context.Context, provider content.Provider, desc ocispec.Descr
378378

379379
descs = append(descs, index.Manifests...)
380380
default:
381-
if IsLayerType(desc.MediaType) || IsKnownConfig(desc.MediaType) {
381+
if IsLayerType(desc.MediaType) || IsKnownConfig(desc.MediaType) || IsAttestationType(desc.MediaType) {
382382
// childless data types.
383383
return nil, nil
384384
}

images/mediatypes.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ const (
5757

5858
MediaTypeImageLayerEncrypted = ocispec.MediaTypeImageLayer + "+encrypted"
5959
MediaTypeImageLayerGzipEncrypted = ocispec.MediaTypeImageLayerGzip + "+encrypted"
60+
61+
// In-toto attestation
62+
MediaTypeInToto = "application/vnd.in-toto+json"
6063
)
6164

6265
// DiffCompression returns the compression as defined by the layer diff media
@@ -186,6 +189,16 @@ func IsKnownConfig(mt string) bool {
186189
return false
187190
}
188191

192+
// IsAttestationType returns true if the media type is an attestation type
193+
func IsAttestationType(mt string) bool {
194+
switch mt {
195+
case MediaTypeInToto:
196+
return true
197+
default:
198+
return false
199+
}
200+
}
201+
189202
// ChildGCLabels returns the label for a given descriptor to reference it
190203
func ChildGCLabels(desc ocispec.Descriptor) []string {
191204
mt := desc.MediaType

remotes/handlers.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string {
8181
return "layer-" + key
8282
case images.IsKnownConfig(mt):
8383
return "config-" + key
84+
case images.IsAttestationType(desc.MediaType):
85+
return "attestation-" + key
8486
default:
8587
log.G(ctx).Warnf("reference for unknown type: %s", mt)
8688
return "unknown-" + key

0 commit comments

Comments
 (0)