containerd integration: Persist Docker-specific ImageConfig fields#46313
containerd integration: Persist Docker-specific ImageConfig fields#46313vvoland merged 2 commits intomoby:masterfrom
Conversation
pkg/dockerspec/image.go
Outdated
| @@ -0,0 +1,50 @@ | |||
| package dockerspec | |||
There was a problem hiding this comment.
I wasn't sure what's the best place to put these. As they're more an implementation detail than a part of the API.
The reason I thought creating a separate pkg for these is that this could be used by others interacting with these (like buildkit: https://github.com/moby/buildkit/blob/4376f3861b05e0b4a27c2259ee1fa499ac117a41/exporter/containerimage/image/docker_image.go).
Thoughts?
There was a problem hiding this comment.
Alternatively, we could only have them in the daemon/containerd for now.
There was a problem hiding this comment.
Would these be related to any of these?
- https://github.com/moby/moby/tree/master/image/v1
- https://github.com/moby/moby/tree/master/image/spec
ISTR we had that discussion, where BuildKit now had a definition, but the actual spec is in this repository
There was a problem hiding this comment.
The discussion in question (I think) rumpl#121 (comment)
There was a problem hiding this comment.
Yes, it's a https://github.com/moby/moby/blob/master/image/spec/v1.2.md (application/vnd.docker.container.image.v1+json).
84efaf6 to
f43ea4d
Compare
We discussed this in the maintainers call Yesterday;
All of the above combined, here's what we came to as direction forward;
As to the "shape" of that package (module), and "what to include";
As to the "how"";
Once we have the package in a proper shape (which may be after follow-ups);
I'll also create a separate ticket for the proposal to move the spec to a separate module. |
f43ea4d to
db9ecdd
Compare
db9ecdd to
fe71b71
Compare
Parent is a graph-driver only field which is stored in the ImageStore. It's not available when using containerd snapshotters. Signed-off-by: Paweł Gronowski <[email protected]>
fe71b71 to
1b58e47
Compare
This makes the c8d code which creates/reads OCI types not lose Docker-specific features like ONBUILD or Healthcheck. Signed-off-by: Paweł Gronowski <[email protected]>
1b58e47 to
0ffa3dd
Compare
This fixes
ONBUILD,MAINTAINERand Healthcheck in containerd integration.- What I did
Fixed
ONBUILD,MAINTAINERand healthchecks in containerd integration.- How I did it
Use wrappers for OCI Image and ImageConfig which preserve Docker specific config fields when serializing/deserializing images.
- How to verify it
Also, test case (for healthcheck) reported by user:
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)