fix: force config media type when setting platform #1519
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
When selecting a platform, oras-go only allows config type to be
application/vnd.oci.image.config.v1+json
. See https://github.com/oras-project/oras-go/blob/v2.5.0/internal/platform/platform.go#L110.This PR enforces above design with 2 changes:
config.mediaType
is set toapplication/vnd.oci.image.config.v1+json
when baking platform into the config blob;oras push --artifact-type xxx -artifact-platform xxx --image-spec v1.0 ...
is banned.Without this PR,
oras push
might generate artifacts that cannot be consumed byoras pull --platform
, see #1517 (comment)Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #1517
Please check the following list: