This post is just a collection of thoughts; my ideas are not vetted, which is why I’m posting here: to process my ideas with the collective mindshare. This concept simply provides automation for something that is currently available as a manual solution via “pins”. If it’s an interesting idea, I’ll just create a feature request for OSTREE.
OSTREE currently allows users to pin an image to ensure it is not rotated out of history. However, the current implementation is a static pin. The following concept would define dynamic pinning based off of a tag that is applied to an ostree image.
My idea for “feed pinning” would mean that the user can tag an image with a feed name. If an image is tagged and then updated: the updated image gets pinned automatically, and the previous image is automatically unpinned.
For example, on my system I may have two images: Silverblue and Kinoite. Feed tagging would allow the system to automatically maintain these two images without having to manually pin the latest image each time. With this example, I would tag the latest Silverblue image as a feed called “silverblue”, as well as latest Kinoite image with “kinoite” feed name. After applying an update to image in “kinoite” feed, new image automatically gets pinned, and older image is automatically unpinned. This functionality would provide effortless maintenance to ensure my kinoite image has the latest KDE updates.
This functionality would not have any impact on existing static pins, so any image statically pinned would remain pinned.
This idea may be useful for other enterprise use cases too. For example, let’s say I was to set up the workstation as a thin client or a kiosk: I could create a minimal ostree image that includes openbox and Firefox flatpak, but I still may want to maintain another image on the same host with the upstream Silverblue image to get access to toolbox and basic admin tools.