Conversation
|
Take my feedback with a bag of salt, since I'm not actively contributing to bootc-foundry and images. Personally, I would focus on aligning the structure of the For instance, we could treat images For the directories, this could result in something like Anyway, you catch my drift. |
|
This PR actually moves away from what you recommend. The main reason is the Azure implementation which shows that 99% of all files are common across distros and versions for the particular image type. This means that we would have to maintain copies of all files across many directories, or use symlinks, hardlinks or some kind of a script or This allows a simple hierarchy on multiple levels:
Going forward, I would like to take a look on building a CLI utility called There is no need to install this on the image, this could be a multi-stage build. But long-term, I think we should be thinking about moving all of this into the base images properly as RPM package. Pseudo-code: |
|
Please don't introduce another project; there's no reason this can't be a subcommand on |
Let's stick with UNIX philosophy please okay. |
While for a given config file, this may be true, it is not true for all config files for the same image type across different versions. |
|
I am not sure what we are discussing here, this is a trivial improvement. What we have in This patch structures files so there are no useless copies, while there are other ways of doing it (symlinks, templating) I think this is the most simple approach, at least for the initial version. I think that trying to mirror or map what we have in YAML definition is not the right direction we should be taking. If you have ideas, let's discuss them properly somewhere else. |
I do not propose to put everything into a single directory, I thought it is obvious from the diff but let me explain better. For Azure and this PR what I am doing is multi-tier directories:
Then in the Container file I do something like: The premise is that a file is exactly once in one of the tier. This means there are no extra copies. |
thozza
left a comment
There was a problem hiding this comment.
I think that it is pointless to try to optimize the structure at this point, but I'll approve to get this off my plate.
Instead of having unique directory for each verison-arch let's only have this for each individual arch until we need this. This is much more readable and this is what I do also in the other PR: #36
The idea is to have one common directory
qcow2for all files that are the same for all versions and arches, thenqcow2-ARCH(podman-style architecture naming) for each arch and then, only when we need it,qcow2-VERSIONfor specific versions. Note the same directory prefix to keep everything nicely sorted.I already added commented out containerfile instructions for the common directory because we will likely use it, but there is no such file right now but I hear voices that we should probably include
cloud-initand I would like to propose addingtunedas well. The other version-based directories can be added once we need them and only for those containerfiles which are relevant.