A name can provide enough information for Moncic CI to identify a basic OS image without customization.
For anything more than a standard basic OS image, one can define images by
placing a .yaml
configuration files in the image directory.
For example:
distro: fedora34
maintscript: |
dnf install git
Keywords currently supported are:
distro
: what distribution should be bootstrapped to create the imageextends
: instead of bootstrapping, snapshot an existing OS imagepackages: List[str]
: list of extra packages to install during maintenancemaintscript
: script run after bootstrap and during regular maintenance, to customize the OS image. If it does not start with a shebang (#!
),#!/bin/sh
is automatically prepended.forward_user
: username, or list of usernames, to propagate from the host system to the image. Users will be propagated with their primary groups, but not with their additional groups.backup
: if false (the default), a CACHEDIR.TAG file is created inside the image, to hint backup software that it does not need to be backed up. Set it totrue
and Moncic-CI will make sure there is noCACHEDIR.TAG
file at the top of the OS image.compression
: btrfs compression attribute to set on the OS image subvolume when they are created. The value is the same as can be set bybtrfs property set compression
. Default: the global 'compression' setting. You can use 'no' or 'none' to ask for no compression when one is globally set.tmpfs
: Use a tmpfs overlay for ephemeral containers instead of btrfs snapshots. Default: as set in the global configuration, overridden totrue
if the OS image is not on btrfs
One, and only one, of distro
or extends
must be present.
Note that .yaml
files in image directories have precedence over plain
distribution names: one can for example define a centos8.yaml
image that
contains distro: rocky8
.