gabrieldemarmiesse / docker-charon

Transfer your docker images to an air-gapped system efficiently
MIT License
20 stars 4 forks source link

DXF 7.8.0 doesn't understand docker image manifest lists, needs a version bump #25

Open cydergoth opened 3 weeks ago

cydergoth commented 3 weeks ago

DXF 12.1.0 is the current version and understands manifest lists with multiple entries. Media type is "application/vnd.docker.distribution.manifest.list.v2+json"

Please update to consume the latest DXF 12.1.0

This change will also need changes in the manifest parser, and DXF get_manifest also now takes an optional platform argument.

Example manifest

{
  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
  "schemaVersion": 2,
  "manifests": [
    {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "digest": "sha256:a4b8cae8f973cd02daa7420310b03ddaf37d5c3840a4873b4db216e3e64cc275",
      "size": 952,
      "platform": {
        "architecture": "amd64",
        "os": "linux"
      }
    },
    {
      "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
      "digest": "sha256:8e07470086fb5a1939d6f769c3434c7fb584cb9c9858e38bb9982cb8db34e85a",
      "size": 952,
      "platform": {
        "architecture": "arm64",
        "os": "linux"
      }
    }
  ]
}
gabrieldemarmiesse commented 3 weeks ago

Thanks for opening this issue. Sadly this project is unmaintained, I won't maintain it going forward. I added a note to the readme to clarify the situation.

If you want to fix something, feel free to create a fork and use it! I hope it helps!