ostree-sysext is currently alpha software, provided as-is with no guarantee.
Warning
Not everything is implemented! I encourage you to check out the wiki for the intended design.
ostree-sysext
is a frontend built on top of OSTree and systemd
's systemd-sysext
tool.
ostree-sysext
is designed around system extensions, as defined by the UAPI specification. Much like Flatpak, it allows system extensions to be retrieved using OSTree remotes.
Additionally, ostree-sysext
provides a plugin framework for vendors:
Builders intervene on an individual extension, and allow the extension to be created and updated locally, using sources from outside ostree-sysext
, like a traditional package manager.
Plugins intervene once the full set of plugins for a system is being merged. They can vote on whether the set is feasible, such as with package conflicts.
They can also generate files that depend on the full set of plugins, such as the initramfs or a package manager database. Those files are then available in /run/ostree/extensions/state
, which image vendors can point symbolic links to in their system image.