Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image Manifest config must allow any mediaType? #1026

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 2 additions & 6 deletions manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,9 @@ Unlike the [image index](image-index.md), which contains information about a set
- **`mediaType`** *string*

This [descriptor property](descriptor.md#properties) has additional restrictions for `config`.
Implementations MUST support at least the following media types:

- [`application/vnd.oci.image.config.v1+json`](config.md)
Implementations MUST support any media type that complies with [RFC 6838][rfc6838], including the [naming requirements in its section 4.2][rfc6838-s4.2], and MAY be registered with [IANA][iana].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am a bit confused by this change - it now mandates implementations to support any media types, which isn't feasible.

Would it be clearer for you if we added a single line on line 40 like this:

 Implementations MUST support at least the following media types:
        - [`application/vnd.oci.image.config.v1+json`](config.md)
 
        Manifests concerned with portability SHOULD use one of the above media types.

        **Manifests MAY use, and implementations MAY support, other media types not defined here.**

        If the manifest uses a different media type than the above, it MUST comply with [RFC 6838][rfc6838], including the [naming requirements in its section 4.2][rfc6838-s4.2], and MAY be registered with [IANA][iana].

Copy link
Author

@brackendawson brackendawson Feb 16, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose it depends what kind of implementation you are, a registry can trivially support any media type, it just has to store the blob. And doing this makes artifacts the most portable.

A container runtime needs the information in there, so it can only support known media types, or maybe also their ducks.


Manifests concerned with portability SHOULD use one of the above media types.

If the manifest uses a different media type than the above, it MUST comply with [RFC 6838][rfc6838], including the [naming requirements in its section 4.2][rfc6838-s4.2], and MAY be registered with [IANA][iana].
Manifests for container images concerned with portability SHOULD use the [`application/vnd.oci.image.config.v1+json`](config.md) media type.

- **`layers`** *array of objects*

Expand Down