kairos
kairos copied to clipboard
[factory web ui] artifact branding
Allow the user to choose the name, version and tag of the output artifacts
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
version is already implemented in UI.
For the rest we need to clarify how "deep" the branding should be. It's relatively easy to just name the artifact files with some provided values but should we also change the values inside /etc/kairos-release for consistency? I have a feeling that the values in the kairos-release should be set by kairos-init by providing the right build-args and not changed post-mortem by Auroraboot.
In my opinion, there should be a single point of truth on what the artifact is (name, version, build tag etc) and since we have kairos-release, it's best if that's the single point of truth. Auroraboot should just read values from there and come up with artifacts names (like it does now I think).
In my opinion this is important to implement, here's my use case, I'm building different kairos images within the same pipeline. They are all the same flavor, model, etc. except that I'm adding different cloud-configs in them, or basing them from different base images. This distinction is not understood by the factory, therefore all of them end up named like so:
kairos-ubuntu-24.04-standard-amd64-generic-v0.2.0-k0sv1.33.3+k0s.0.iso
which means that when I release, I only see one final artifact because they all save on the same file. Ideally, I'd like to be able to say, name this OS MaurOS with version x.y.z and save it that way. All the other values are irrelevant because they are always the same, kairos based, ubuntu 24.04 standard amd64 generic k0s and 1.33.3 so there's no value for me in seeing them. If the user still wants to have them fantastic, but there should be at least a way to extend the name (though the problem with this is that the names are already so long that GH cuts them). I think the solution I use on the Factory Action for the tags is quite good, I can customize and reuse variables so I could say something like MaurOS-$variant and it would produce MaurOS-standard for this case.
Auroraboot web UI currently allows you to download the artifact. When downloading any file, you get to choose the name to use when saving it. Currently Auroraboot doesn't act like a long-term storage where you may find artifacts later and will need to be able to tell which one is which.
But even so, it sounds more like a good use case for this flag which already exists: --override-name value, -n value Overrride default ISO file name . Why we would let the user "inject" some info in the name we auto-generate instead of just letting the user decide the full name?
@jimmykarily i guess i can add a section in the factory to do a mv kairos-*.iso custom_name.iso about the internals, I agree that we want to keep the /etc/kairos-release. I think it would be helpful to also have a /etc/your-custom-os-release