Skip to content

cleanroom-team/cleanroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c2a9172 · Sep 15, 2024
Apr 16, 2020
Sep 15, 2024
Apr 14, 2018
Feb 4, 2022
Feb 17, 2018
Sep 15, 2024
Oct 1, 2018
Sep 12, 2023
Dec 3, 2020
Dec 29, 2021
Sep 11, 2020
Sep 13, 2019
Dec 3, 2020
Dec 3, 2020
Dec 3, 2020
Jan 29, 2019
Oct 8, 2020
Oct 10, 2020

Repository files navigation

Cleanroom

Cleanroom makes it easy and fast to do fresh installations of whole fleets of machines (bare metal, VMs or containers).

A set of system descriptions is used to describe the machines to be installed. Cleanroom will use this description and files downloaded from Linux Distributions to do the actual installations.

By enabling easy and fast installations, Cleanroom enables the use of immutable and stateless systems as it becomes feasible to keep such machines up-to-date by simply regenerating a fresh image and booting into it.

Up-to-date code can be found at:

https://github.com/cleanroom-team/cleanroom

Installation

Just use the code straight from the repository:-)

Optional Build Container

If you do not want your systems to be built in your normal OS setup, you can create an optional build container for Cleanroom.

pacstrap clrm-archlinux \
    arch-install-scripts \
    binutils borg btrfs-progs \
    cpio \
    devtools dosfstools \
    lsof \
    mtools \
    pacman python-pyparsing \
    qemu \
    sbsigntools \
    squashfs-tools \
    tar

should get you started.

Use

build_container \
    --build-container=clrm-archlinux \
    --systems-directory=/SYSTEMS/DIRECTORY \
    --work-directory=/WORK/DIR \
    --repository-base-directory=/REPOSITORY/BASE \
    clrm --verbose --verbose --verbose --verbose \
    --clear-scratch-directory \
    SYSTEM_NAME

to build inside this container.

Tests

Use pytest tests in the top level directory to run all tests.

Contributors

Code of Conduct

Everybody is expected to follow the Python Community Code of Conduct https://www.python.org/psf/codeofconduct/

License

All files in cleanroom are under GPL v3 (or later).

See LICENSE.md for the full license text.