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.