OSTree components detail

OSTree is designed as a client-server system, where the server hosts the repositories containing the operating system images or deployments, and the clients interact with the server to fetch and manage these deployments.

OSTree server

The server side of OSTree is responsible for maintaining and serving the operating system images or deployments. Typically, the OSTree server is a repository hosting server.

The server-side tools used for maintaining the repositories and serving the deployments may vary depending on implementation. The list of commonly used tools include:

  • OSTree

    The core tool that manages the repository and handles the versioning and branching of the operating system deployments.

  • Repository hosting software

    Can be represented by the software such as ostree-repo or a dedicated repository management system such as Pulp or Artifactory.

  • Web server

    A web server such as Apache or NGINX, which handles the HTTP(S) communication, to access the repository server through it. Typically, the server locates on a centralized infrastructure or network accessible to the clients over the network. It can be hosted on-premises or in the cloud, depending on the deployment requirements.

OSTree client

The client side of OSTree is responsible for interacting with the server to fetch and manage the operating system deployments on individual systems.

System administrators and end-users use the client tools and utilities to perform package upgrade, rollback, installation, and other various operations on the deployments.

The primary client-side tool is typically the rpm-ostree command-line tool, which provides a set of commands for managing the deployments.

Alongside OSTree, depending on specific distribution or system requirements, additional tools or package managers can be used. For example, you can use DNF to manage traditional packages.