-
Notifications
You must be signed in to change notification settings - Fork 201
Description
What happened in your environment?
The PR #1500 introduced a new --artifact-platform
option to the oras push
command, which adds platform information to the artifact configuration using the media type "application/vnd.unknown.config.v1+json"
by default.
However, this implementation of oras push --artifact-platform
is incompatible with other commands that provide the --platform
option, such as oras pull --platform
, oras manifest fetch-config --platform
, and oras copy --platform
.
Symptom
For example, if one pushes an artifact with platform metadata like this:
oras push localhost:5000/myartifact:v1 blob --artifact-platform linux/amd64
and then pulls it specifying the platform as well:
oras pull localhost:5000/myartifact:v1 --platform linux/amd64
They would get this error message:
Error: fail to recognize platform from unknown config application/vnd.unknown.config.v1+json: expect application/vnd.oci.image.config.v1+json
Root Cause
This is because the oras-go
backing library only extracts platform information from the image config media type "application/vnd.oci.image.config.v1+json"
and throws errors for any other config media type.
Workaround
To temporarily address this issue, we can use "application/vnd.oci.image.config.v1+json"
as the default config media type. While this solution is not ideal and introduces other problems, it serves as a workaround to enable the end-to-end workflow. Ultimately, we may need to reconsider the design for adding the platform information.
What did you expect to happen?
No response
How can we reproduce it?
-
Push an artifact with platform information:
oras push localhost:5000/myartifact:v1 blob --artifact-platform linux/amd64
-
Pull the same artifact specifying the platform:
oras pull localhost:5000/myartifact:v1 --platform linux/amd64
What is the version of your ORAS CLI?
Version: 1.2.0+unreleased
Go version: go1.23.0
Git commit: 97cb376
Git tree state: clean
What is your OS environment?
Ubuntu 22.04.1
Are you willing to submit PRs to fix it?
- Yes, I am willing to fix it.