Skip to content

Commit b6ab437

Browse files
authored
Merge pull request #11537 from k8s-infra-cherrypick-robot/cherry-pick-11327-to-release/2.0
[release/2.0] Update image type checks to avoid unnecessary logs for attestations
2 parents 76db058 + 916d487 commit b6ab437

3 files changed

Lines changed: 17 additions & 2 deletions

File tree

core/images/image.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,8 @@ func Children(ctx context.Context, provider content.Provider, desc ocispec.Descr
369369
}
370370

371371
return append([]ocispec.Descriptor{}, index.Manifests...), nil
372-
} else if !IsLayerType(desc.MediaType) && !IsKnownConfig(desc.MediaType) {
373-
// Layers and configs are childless data types and should not be logged.
372+
} else if !IsLayerType(desc.MediaType) && !IsKnownConfig(desc.MediaType) && !IsAttestationType(desc.MediaType) {
373+
// Layers, configs, and attestations are childless data types and should not be logged.
374374
log.G(ctx).Debugf("encountered unknown type %v; children may not be fetched", desc.MediaType)
375375
}
376376
return nil, nil

core/images/mediatypes.go

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

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

6366
// DiffCompression returns the compression as defined by the layer diff media
@@ -193,6 +196,16 @@ func IsKnownConfig(mt string) bool {
193196
return false
194197
}
195198

199+
// IsAttestationType returns true if the media type is an attestation type
200+
func IsAttestationType(mt string) bool {
201+
switch mt {
202+
case MediaTypeInToto:
203+
return true
204+
default:
205+
return false
206+
}
207+
}
208+
196209
// ChildGCLabels returns the label for a given descriptor to reference it
197210
func ChildGCLabels(desc ocispec.Descriptor) []string {
198211
mt := desc.MediaType

core/remotes/handlers.go

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

0 commit comments

Comments
 (0)