-
Notifications
You must be signed in to change notification settings - Fork 691
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error pulling and saving library/busybox: 'signatures' when using digest #320
Comments
an older version of rules_docker gave a more elaborate stacktrace:
not sure if that is relevant or helpful at all. |
I'm guessing this bug should really apply to google/containerregistry. |
@mattmoor guessed this was relating to manifest lists. I think he's right. I checked out github.com/google/containerregistry and added a debugging line: diff --git a/client/v2/util_.py b/client/v2/util_.py
index e8ada13..794517f 100755
--- a/client/v2/util_.py
+++ b/client/v2/util_.py
@@ -92,6 +92,8 @@ def DetachSignatures(
# First, decode the manifest to extract the list of signatures.
json_manifest = json.loads(manifest)
+ print json.dumps(json_manifest, sort_keys=True, indent=4)
+
# Next, extract the signatures that have signed a portion of the manifest.
signatures = json_manifest['signatures']
I then ran {
"manifests": [
{
"digest": "sha256:4cee1979ba0bf7db9fc5d28fb7b798ca69ae95a47c5fecf46327720df4ff352d",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "amd64",
"os": "linux"
},
"size": 527
},
{
"digest": "sha256:69d47339ca07d1153927214ad124597cab7f2a41b0ae13fd39acbfa2773df86b",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "arm",
"os": "linux",
"variant": "v5"
},
"size": 527
},
{
"digest": "sha256:1583672a4c321cc8492d32247ef014a1030c5da49e3645d787bc791968fd6ce2",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "arm",
"os": "linux",
"variant": "v6"
},
"size": 527
},
{
"digest": "sha256:f7ef7c0fffd7af2954ccdeefb85ddff7fe31b4bd4b38a8424ccf484b173595aa",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "arm",
"os": "linux",
"variant": "v7"
},
"size": 527
},
{
"digest": "sha256:1a167b143c86c57fc2892eefe5d6f3fbc143a0a65ebc940f584b21c631b88927",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
},
"size": 527
},
{
"digest": "sha256:e781fae1693341a7948267b6c242f81512d27943074d987a49ca85eca75ccbdc",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "386",
"os": "linux"
},
"size": 527
},
{
"digest": "sha256:3c5b08ce23cf8610f44b841e34254ee0922295222180c79637230be5717efb80",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "ppc64le",
"os": "linux"
},
"size": 528
},
{
"digest": "sha256:6ba746ef4d4e309daaf44780a368f82121d63b7d5640829916d9417c6c97b37b",
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"platform": {
"architecture": "s390x",
"os": "linux"
},
"size": 528
}
],
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"schemaVersion": 2
} |
Almost certainly related to manifests lists, we have an internal change in the works to deal with it Edit: beat me to it... |
and if I use I'll use that for now... I need to figure out how to get |
Ack - working on a change that will accept the manifest lists's digest and just resolve it to amd64/linux, which should let you keep using the digest that docker spits out. |
@jonjohnsonjr perfect! will the platform be overridable? it's not something we need right now, but we will likely need it in the future. |
I now see this issue is basically a duplicate of #308. Closing in favor of that one. |
@ixdy it's hardcoded for now (to fix this), but will be trivial to expose a flag to change it. |
I'm attempting to update our busybox dependency.
so I update our
WORKSPACE
to the following:This then fails:
Interestingly, if I use
tag = "latest"
instead ofdigest = "sha256:..."
it seems to work.The text was updated successfully, but these errors were encountered: