Affects Version/s: None
Fix Version/s: None
- Problem description: Artifacgtory does not treat fat manifest ( list.manifest.json ) as a real tag. Although we support pulling multi-arch images. A multi-arch tag is not listed as docker image in UI and the REST API does not return that tag version.
It's a different behavior than docker hub
- What is the expected behavior?
docker tag list API should return the multi-arch tag versions
- Steps to reproduce:
- create new tags
docker tag s390x/busybox:1.33 artifactory.jfrog.io/multiarchexample:1.33-s390x
docker tag busybox:1.33 artifactory.jfrog.io/multiarchexample:1.33-amd64
- push images
docker push artifactory.jfrog.io/multiarchexample:1.33-s390x
docker push artifactory.jfrog.io/multiarchexample:1.33-amd64
- create multi-arch list manifest.yml file that looks like this:
- image: artifactory.jfrog.io/multiarchexample:1.33-amd64
- image: artifactory.jfrog.io/multiarchexample:1.33-s390x
- now execute the manifest tool (1.3)to push it to artifactory
manifest-tool push from-spec manifest.yml
Run API to get list of tags:
curl -X GET \
http:// artifactory.jfrog.io artifactory/api/docker/new-docker-local/v2/multiarchexample/tags/list \
-H 'Authorization: Basic ...' \
-H 'Cache-Control: no-cache' \
-H 'Postman-Token: ...'
you will see
The expectation is that 1.33 should also be in the list.
In UI, you can see there's only list.manifest.json under version 1.33 as it's a multi-arch version
- pulling the version is fine
docker pull gpgtest.jfrog.io/paul-docker/multiarchexample:1.33
- tag API against docker hub shows the following versions: