Skip to content

Glossary

Karim Vergnes edited this page Nov 3, 2024 · 2 revisions

ostree-sysext makes use of specific concepts, which are referred to using the terms listed below.

Extension

A system extension, as defined by the UAPI specification. In the context of ostree-sysext, this can also refer to an OSTree reference which describes such an image.

Plugin

An importable Python module, invoked by ostree-sysext before layering system extensions to ensure compatibility, and afterwards to generate files dependent on the full layered state, such as the initramfs or package manager database.

Plugins are searched for under /usr/lib/ostree-sysext/plugins.

State

An OSTree commit constructed to keep track of the following details:

  • Symbolic links to currently applied extensions, down to the individual commit.
  • A set of files generated by plugins, which depend on the merged stack of extensions.

State commits are deployed under /ostree/deploy/<os-name>/extensions/<commit-hash>.<0 or 1>, and bound to a base deployment using the symbolic link: /ostree/deploy/<os-name>/deploy/<base-hash>.<0 or 1>.extensions

Builder

An importable Python module, invoked by ostree-sysext when upgrading a locally-created extension.

Builders are searched for under /usr/lib/ostree-sysext/builders.

Clone this wiki locally