Description
containerd fails to pull OCI image with non-http(s):// urls.
Steps to reproduce the issue
Containerd cannot pull the following image (but Docker can).
$ crane manifest ghcr.io/ktock/ubuntu:20.04-i | jq
{
"schemaVersion": 2,
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"digest": "sha256:78ef4cff96127a9c9302508ab8116d692e68f863f43598c00aa202ed216d961c",
"size": 692,
"urls": [
"ipfs://bafkreidy55gp7fqspkojgasqrk4bc3ljfzupqy7ugwmmacvcalwsc3mwdq"
],
"platform": {
"architecture": "amd64",
"os": "linux"
}
}
]
}
# ctr i pull ghcr.io/ktock/ubuntu:20.04-i
ctr: failed to copy: httpReadSeeker: failed open: failed to do request: Get "ipfs://bafkreidy55gp7fqspkojgasqrk4bc3ljfzupqy7ugwmmacvcalwsc3mwdq": unsupported protocol scheme "ipfs"
Describe the results you received and expected
OCI-compliant image should be pulled successfully.
According to OCI Image Spec, non-http(s):// scheme is not prohibited.
urls array of strings
This OPTIONAL property specifies a list of URIs from which this object MAY be downloaded. Each entry MUST conform to RFC 3986. Entries SHOULD use the http and https schemes, as defined in RFC 7230.
(https://github.com/opencontainers/image-spec/blob/v1.0/descriptor.md#properties)
What version of containerd are you using?
containerd github.com/containerd/containerd v1.6.0-beta.1-58-g432ddecaa 432ddec
Any other relevant information
# ctr version
Client:
Version: v1.6.0-beta.1-58-g432ddecaa
Revision: 432ddecaae3b5f20e26a79cb527aad5f99d970cb
Go version: go1.17.1
Server:
Version: v1.6.0-beta.1-58-g432ddecaa
Revision: 432ddecaae3b5f20e26a79cb527aad5f99d970cb
UUID: 31716fa7-f393-43a8-a57b-f49e677ce313
Show configuration if it is related to CRI plugin.
No response
Description
containerd fails to pull OCI image with non-
http(s)://urls.Steps to reproduce the issue
Containerd cannot pull the following image (but Docker can).
Describe the results you received and expected
OCI-compliant image should be pulled successfully.
According to OCI Image Spec, non-
http(s)://scheme is not prohibited.(https://github.com/opencontainers/image-spec/blob/v1.0/descriptor.md#properties)
What version of containerd are you using?
containerd github.com/containerd/containerd v1.6.0-beta.1-58-g432ddecaa 432ddec
Any other relevant information
Show configuration if it is related to CRI plugin.
No response