Description
CentOS Atomic Host is a lean operating system designed to run Docker containers, built from standard CentOS 7 RPMs, and tracking the component versions included in Red Hat Enterprise Linux Atomic Host.
Action
Packages
When Red Hat releases a new version of RHEL Atomic Host (typically every six weeks), they upload the source for any updated packages to git.centos.org.
A CentOS project member builds the packages and puts out a call for some basic testing. If there's any package "de-branding" required (for instance: https://git.centos.org/patch/rpms!!docker/refs!heads!c7-extras), that happens at this stage. Once tested, some of the updated packages go to the centos extras repository, and others go the "rhel-atomic-rebuild" repository. The latter location contains, more or less, packages judged to be of interest only for atomic hosts.
Metadata
An atomic host is defined by a JSON-formatted specification, called a treefile, that's used as input to rpm-ostree compose tree to bind "set of RPMs with configuration" to an OSTree commit.
The treefile for CentOS Atomic Host lives at https://github.com/CentOS/sig-atomic-buildscripts/blob/downstream/centos-atomic-host.json. An Atomic SIG member checks for added or removed packages in the upstream treefile, and sends a pull request to make these changes to the CentOS treefile. (https://github.com/CentOS/sig-atomic-buildscripts/pull/107)
The host is delivered in various image formats, which are built with rpm-ostree-toolbox and imagefactory according to a handful of config files (cloud and vagrant kickstarts, a TDL file, and config.ini file). These files live alongside the treefile in https://github.com/CentOS/sig-atomic-buildscripts/tree/downstream. If any changes to these files are required, an Atomic SIG member will do so by pull request.
Composing
With the metadata in place, an Atomic SIG member kicks off a test build in the CentOS CI, which runs a build script that composes an updated tree and builds a set of images.
An Atomic SIG member tests the images, and if all is well, the process runs again by a core CentOS Project member, who signs the ostree commit and pushes the produced images out to official download locations, including Amazon and Hashicorp Atlas.
Announce
An Atomic SIG member posts a release announcement to the centos-devel and atomic-announce mailing lists, and to the seven.centos.org and projectatomic.io blogs. The project member updates the CentOS wiki at https://wiki.centos.org/SpecialInterestGroup/Atomic/Download, which serves as the download page for CentOS Atomic Host.