Skip to content

Show artifact type when pushing files #1061

@qweeah

Description

@qweeah

What is the version of your ORAS CLI

1.0.1

What would you like to be added?

When #1009 completes, by default oras push will build an image manifest with artifactType set to --artifact-type. If the flag is not provided, the artifact type will be default application/vnd.unknown.artifact.v1.

When using --image-spec v1.0, the artifact type will be shown in the status of config blob 44136fa355b3

$ oras push localhost:5000/test:push foo -v --disable-path-validation --image-spec v1.0
Preparing foo
Uploading fcde2b2edba5 foo
Uploading 44136fa355b3 application/vnd.unknown.artifact.v1
Uploaded  fcde2b2edba5 foo
Uploaded  44136fa355b3 application/vnd.unknown.artifact.v1
Uploading 89773cad25ff application/vnd.oci.image.manifest.v1+json
Uploaded  89773cad25ff application/vnd.oci.image.manifest.v1+json
Pushed [registry] localhost:5000/test:push
Digest: sha256:89773cad25ffb86bf3c5a535e772ca2bd6a9f81389f598666ca70caceac5a790

When --image-spec is not provided or set to v1.1, the output of oras push doesn't mentioned the used artifact type.

$ oras push localhost:5000/test:push foo -v --disable-path-validation --image-spec v1.1
Preparing foo
Uploading fcde2b2edba5 foo
Uploading 44136fa355b3 application/vnd.oci.empty.v1+json
Uploaded  fcde2b2edba5 foo
Uploaded  44136fa355b3 application/vnd.oci.empty.v1+json
Uploading d7216194f529 application/vnd.oci.image.manifest.v1+json
Uploaded  d7216194f529 application/vnd.oci.image.manifest.v1+json
Pushed [registry] localhost:5000/test:push
Digest: sha256:d7216194f52907f710f123086ea4b1bc91e0664146ac64b205560680ba4cc6bd

When --image-spec is not provided or set to v1.1, the output of oras push should contain which artifact type is used to pack the manifest, below are some suggested changes.

$ # side by side with manifest media type
$ oras push localhost:5000/test:push foo -v --disable-path-validation
Preparing foo
Uploading fcde2b2edba5 foo
Uploading 44136fa355b3 application/vnd.oci.empty.v1+json
Uploaded  fcde2b2edba5 foo
Uploaded  44136fa355b3 application/vnd.oci.empty.v1+json
Uploading d7216194f529 application/vnd.oci.image.manifest.v1+json(application/vnd.unknown.artifact.v1)
Uploaded  d7216194f529 application/vnd.oci.image.manifest.v1+json(application/vnd.unknown.artifact.v1)
Pushed [registry] localhost:5000/test:push
Digest: sha256:d7216194f52907f710f123086ea4b1bc91e0664146ac64b205560680ba4cc6bd

Or

$ # in the pushing summary below digest of manifest
$ oras push localhost:5000/test:push foo -v --disable-path-validation
Preparing foo
Uploading fcde2b2edba5 foo
Uploading 44136fa355b3 application/vnd.oci.empty.v1+json
Uploaded  fcde2b2edba5 foo
Uploaded  44136fa355b3 application/vnd.oci.empty.v1+json
Uploading d7216194f529 application/vnd.oci.image.manifest.v1+json
Uploaded  d7216194f529 application/vnd.oci.image.manifest.v1+json
Pushed [registry] localhost:5000/test:push
Digest: sha256:d7216194f52907f710f123086ea4b1bc91e0664146ac64b205560680ba4cc6bd
Artifact Type: application/vnd.unknown.artifact.v1

Or

$ # print when packing the manifest
$ oras push localhost:5000/test:push foo -v --disable-path-validation
Preparing foo
Preparing d7216194f529(application/vnd.unknown.artifact.v1)
Uploading fcde2b2edba5 foo
Uploading 44136fa355b3 application/vnd.oci.empty.v1+json
Uploaded  fcde2b2edba5 foo
Uploaded  44136fa355b3 application/vnd.oci.empty.v1+json
Uploading d7216194f529 application/vnd.oci.image.manifest.v1+json
Uploaded  d7216194f529 application/vnd.oci.image.manifest.v1+json
Pushed [registry] localhost:5000/test:push
Digest: sha256:d7216194f52907f710f123086ea4b1bc91e0664146ac64b205560680ba4cc6bd

Are you willing to submit PRs to contribute to this feature?

  • Yes, I am willing to implement it.

Metadata

Metadata

Labels

enhancementNew feature or requestquestionFurther information is requestedspec requiredIssues that require specifications

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions