-
Notifications
You must be signed in to change notification settings - Fork 739
Description
I think config.rootfs effectively[*] duplicates the manifest.layers information available elsewhere, and thus config.rootfs can/should be removed from the image spec. This makes image generation slightly simpler, removes an extra checksum calculation step during unpacking, and makes the image config object portable across minor image versions (one more cacheable thing).
[*] The values are not strictly identical, but the DiffIDs can be easily calculated from the manifest layer tar.gz.
Specifically, I propose just demoting rootfs
from application/vnd.oci.image.config.v1+json
from "required" to "ignored", which will be backwards compatible. history
can remain as an optional annotation, although I note it appears highly out of place without rootfs
, and probably belongs in some layer or manifest metadata instead.
If a runtime or other tool requires a value similar to the rootfs DiffID, this can be calculated during rendering from the image layers.
Note also that with this change, the sections discussing DiffID and ChainID calculation can be removed from the image config spec, since DiffID+ChainID are no longer relevant terms anywhere in the oci image spec (these concepts may be useful to runtimes, so perhaps might be moved there).