-
Notifications
You must be signed in to change notification settings - Fork 104
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
[RFC #0102] Image history metadata #411
Comments
Was looking a bit at this out of curiosity and found the the field used in the config is under I wondered if there was any real considerations that would need to be taken into account like something trying to use this to recreate said image and there by needing to be executable. The nebulous description led me to explore certain usages and my ultimate finding was that there really isn't a definitive outcome. I'm only sharing this here in case it may help someone else. Docker, using /bin/sh -c mkdir -p /run/systemd && echo 'docker' > /run/systemd/container as well as proper comments such as: /bin/sh -c #(nop) ARG cnb_gid=1000 but then this when using |2 cnb_gid=1000 cnb_uid=1000 /bin/sh -c groupadd cnb --gid ${cnb_gid} && useradd --uid ${cnb_uid} --gid ${cnb_gid} -m -s /bin/bash cnb |
This is a question which is being asked by virtually every client of my company after demos. |
Hence something like:
Or even, alternatively:
|
The idea of making it parsable is interesting. I'm not particularly keen on it being JSON because it's not the most human-readable (as presented via For example, comma-separated values:
or the distribution(?) spec can define a specific format that is both human readable and parsable based on a format contract.
|
Does anyone here want to create a draft RFC for discussion? I like the ideas presented here. |
CSVs are a famous disaster zone and I'm fairly militantly against inventing minilanguages. I see tool robustness as outweighing curiousity in this case. Especially since it's easier to submit PRs for |
Related - buildpacks/rfcs#194 |
Blocking this on buildpacks/rfcs#194 Edit: actually, since the linked RFC is in FCP, let's just call it "ready" |
I can take this on :) |
Thanks @samj1912 !!! |
I have slowly been making progress on this (when I get time). I have started with some basic changes to imgutil (to allow setting and getting createdBy arrays through the image interface) and prepopulating this data from base image. Will update with a draft PR once it looks okay on the imgutil side. |
Will this issue cover adding metadata for builders generated by eg: Currently our builder images show
|
@edmorley I think we'll want a separate issue for that on the pack side. This should be relatively easy to implement in pack once buildpacks/imgutil#202 lands. |
I've filed: |
Currently, when a layer is created from a
Dockerfile
, some additional metadata is added to the created image containing the directives that were run to create a particular layer:Since buildpacks don't have "directives", this metadata is blank creating what I call a "black hole" for metadata:
The
lifecycle
should populate whatever metadata is necessary in order to fill in this black hole. As a straw man, I'd suggest each layer getting something like<buildpack name> <buildpack version> – <layer name>
(e.g.Paketo BellSoft Liberica Buildpack 3.2.0 – jre
) but I'm not really fussed with the actual content of this metadata.The text was updated successfully, but these errors were encountered: