Architect the life-cycle of Clear Linux* OS

This guide describes the basic, recommended infrastructure and workflow for maintaining a Clear Linux* OS derivative.

Prerequisites

  • A repository with software RPM artifacts and a CI/CD system with a Clear Linux OS machine for building mixes

  • Experience using mixer to create a Clear Linux OS-based distro

  • Experience using swupd for maintaining the Clear Linux OS build environment

  • Familiarity with Clear Linux OS architecture and reuse of its content in releases

Description

Maintaining a Clear Linux OS derivative requires:

  • Monitoring upstream Clear Linux OS for new releases

  • Building software packages and staging

  • Employing CI/CD automation for building releases

  • Integrating Quality Assurance for testing and validation

Coordinated infrastructure is deployed to automate the life-cycle of your Clear Linux OS derivative. We divide deployment of this infrastructure in two parts: Content Workflow; and Release Workflow, shown in Figure 1.

Architect the life-cycle

Figure 1: Architect the life-cycle

Content Workflow

The Content Workflow (Figure 1) orchestrates the processes used to manage the creation of content for the distribution. This includes everything from detecting a new release in a custom software repository to generating RPM package files. The RPM files serve as intermediary artifacts that track software dependencies and provide file-level data consumed in a Release Workflow. The Watcher Pipeline checks Clear Linux OS and a content provider, such as Koji, to determine if a new release is necessary.

Release Workflow

The Release Workflow (Figure 1) gathers the content of the RPMs and ensures it can be consumed by mixer. A content web server hosts the Clear Linux OS derivative, to which targets connect for updating their OSes. As an integral part of this toolchain, the Release Pipeline enables these derivatives to incorporate Clear Linux OS content into their own custom content. The Watcher Pipeline triggers the Release Pipeline to create new releases.

Implementation

The Clear Linux OS Distro Factory manages the Release Workflow. For detailed information about Distro Factory deployment, refer to the clr-distro-factory GitHub* repo.