If we only change the permissions on the directories then we won't balloon the size of the container so much. As an example after the changes in17b3f5204,f7ef7d325we ended up almost doubling the size of the container: ``` builder@coreos-ppc64le-builder:~$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/coreos-assembler/staging ppc64le-f7ef7d3 5ca4b8d1eae4 38 hours ago 9.18 GB quay.io/coreos-assembler/staging ppc64le-d34ab4a 659d6f7bbf7a 45 hours ago 5.11 GB quay.io/coreos-assembler/staging ppc64le-17b3f52 d2e55354e43f 2 days ago 5.11 GB ``` This should make it so the duplicated files in layers are only directories so they take up much less space.
The CoreOS Assembler
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.
The container itself is available on Quay.io at
quay.io/coreos-assembler/coreos-assembler. It includes the
following tools:
cosa: entrypoint for the COSA container and dispatcher to other commands:- To learn how to use COSA, see the Building Fedora CoreOS guide and the Working with CoreOS Assembler guide.
- To learn how to develop on COSA, see the CoreOS Assembler Design guide and the Working on CoreOS Assembler guide.
kola: for launching instances and running tests on themkolet: an agent for kola that runs on instancesore: for interfacing with cloud providersplume: for releasing Fedora CoreOS and Fedora Cloud
Building Fedora CoreOS
See the Building Fedora CoreOS guide to learn how to build Fedora CoreOS with COSA.
Building a custom OS with COSA
For more information about building a custom OS derived or based on Fedora CoreOS, see Custom OS.