Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thesola10/ostree-sysext
Handy system extension manager for OSTree systems
https://github.com/thesola10/ostree-sysext
Last synced: 11 days ago
JSON representation
Handy system extension manager for OSTree systems
- Host: GitHub
- URL: https://github.com/thesola10/ostree-sysext
- Owner: Thesola10
- Created: 2024-10-09T14:53:11.000Z (29 days ago)
- Default Branch: master
- Last Pushed: 2024-10-24T19:39:28.000Z (14 days ago)
- Last Synced: 2024-10-25T03:31:26.856Z (13 days ago)
- Language: Python
- Size: 76.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ostree-sysext
## DISCLAIMER
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](https://github.com/thesola10/ostree-sysext/wiki) for the intended design.---
`ostree-sysext` is a frontend built on top of [OSTree](https://github.com/ostreedev/ostree) and `systemd`'s [`systemd-sysext` tool](https://www.freedesktop.org/software/systemd/man/latest/systemd-sysext.html).
## Design
`ostree-sysext` is designed around system extensions, as defined by the [UAPI specification](https://uapi-group.org/specifications/specs/extension_image/). Much like Flatpak, it allows system extensions to be retrieved using OSTree remotes.
Additionally, `ostree-sysext` provides a plugin framework for vendors:
### Builders
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
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.