containerdstore: Initial push support#2
Merged
Conversation
Note: With the current containerd's pull behaviour the object that get
tagged as the pulled tag is not an image manifest but manifest list.
This means that doing:
```
docker pull docker.io/library/ubuntu:latest
docker tag docker.io/library/ubuntu:latest newrepo/ubuntu:latest
docker push newrepo/ubuntu:latest
```
Will result in an error, because the pull downloads only the default
platform and the newrepo/ubuntu:latest is a manifest list that
references all original image's platforms - and those cannot be pushed
to a remote because the pusher doesn't have them.
This will will work in case of single-platform manifest lists or if you
pull the manifest list along with all the platforms via ctr:
```
ctr --address /run/docker/containerd/containerd.sock -n moby \
image pull --all-platforms docker.io/library/ubuntu:latest
docker push newrepo/ubuntu:latest
```
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
For now this deletes all images and doesn't respect any filters Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
56b4d1a to
7c1efda
Compare
Collaborator
|
When upstreaming:
combine with one or more of; |
rumpl
pushed a commit
that referenced
this pull request
Jun 25, 2024
…f v1.5.4 full diffs: - protocolbuffers/protobuf-go@v1.31.0...v1.33.0 - golang/protobuf@v1.5.3...v1.5.4 From the Go security announcement list; > Version v1.33.0 of the google.golang.org/protobuf module fixes a bug in > the google.golang.org/protobuf/encoding/protojson package which could cause > the Unmarshal function to enter an infinite loop when handling some invalid > inputs. > > This condition could only occur when unmarshaling into a message which contains > a google.protobuf.Any value, or when the UnmarshalOptions.UnmarshalUnknown > option is set. Unmarshal now correctly returns an error when handling these > inputs. > > This is CVE-2024-24786. In a follow-up post; > A small correction: This vulnerability applies when the UnmarshalOptions.DiscardUnknown > option is set (as well as when unmarshaling into any message which contains a > google.protobuf.Any). There is no UnmarshalUnknown option. > > In addition, version 1.33.0 of google.golang.org/protobuf inadvertently > introduced an incompatibility with the older github.com/golang/protobuf > module. (golang/protobuf#1596) Users of the older > module should update to github.com/golang/protobuf@v1.5.4. govulncheck results in our code: govulncheck ./... Scanning your code and 1221 packages across 204 dependent modules for known vulnerabilities... === Symbol Results === Vulnerability #1: GO-2024-2611 Infinite loop in JSON unmarshaling in google.golang.org/protobuf More info: https://pkg.go.dev/vuln/GO-2024-2611 Module: google.golang.org/protobuf Found in: google.golang.org/protobuf@v1.31.0 Fixed in: google.golang.org/protobuf@v1.33.0 Example traces found: #1: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls json.Decoder.Peek #2: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls json.Decoder.Read #3: daemon/logger/gcplogs/gcplogging.go:154:18: gcplogs.New calls logging.Client.Ping, which eventually calls protojson.Unmarshal Your code is affected by 1 vulnerability from 1 module. This scan found no other vulnerabilities in packages you import or modules you require. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
kNote: With the current containerd's pull behaviour the object that get
tagged as the pulled tag is not an image manifest but manifest list.
This means that doing:
Will result in an error, because the pull downloads only the default
platform and the newrepo/ubuntu:latest is a manifest list that
references all original image's platforms - and those cannot be pushed
to a remote because the pusher doesn't have them.
This will will work in case of single-platform manifest lists or if you
pull the manifest list along with all the platforms via ctr:
Signed-off-by: Paweł Gronowski pawel.gronowski@docker.com
- What I did
- How I did it
- How to verify it
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)