This is the CoreOS Assembler (often abbreviated COSA) build environment. It is a collection of various tools used to build Fedora CoreOS style systems, including RHEL CoreOS. The goal is that everything needed to build and test the OS comes encapsulated in one (admittedly large) container.
A high level goal of this tool is to support two highly related use cases, and to keep them as similar as possible:
- Local development (“test a kernel change”)
- Be a production build system orchestrated by an external tool (e.g. Jenkins)
See fedora-coreos-pipeline as an example pipeline.
cosa: entrypoint for the COSA container and dispatcher to other commands:
kola: for launching instances and running tests on them
kolet: an agent for kola that runs on instances
ore: for interfacing with cloud providers
plume: for releasing Fedora CoreOS and Fedora Cloud
See the Building Fedora CoreOS guide to learn how to build Fedora CoreOS with COSA.
For more information about building a custom OS derived or based on Fedora CoreOS, see Custom OS.