Preprocesser for Simple-CDD using YAML input files (so-called recipes), as inspired by debos.
Simple-CDD-YAML uses so-called recipes in YAML format with which the profile files required Simple-CDD are generated. A recipe consists of actions, that generate or append files in the Simple-CDD profile. Simple-CDD-YAML features the following actions:
recipe
action: embed another recipeconf
action: compose a*.conf
file by supplying (environment) variablespreseed
action: define a preseed fileapt
action: add packagesrun
action: add a command or script (to*.postinst
)overlay
action: add an overlay. An overlay is a file structure that is compressed into one single file and automatically added to*.extra
.
A corresponding command to decompress the overly is added*.postinst
extra
action: add extra filedownloads
action: add extra packagesdebos
action: [only in debos mode] add pre- and post-action to debos recipe output
Some of the actions support substitutions using jinja notation, making it easier to reuse scripts, preseeds and recipes. By defining variables with default values at the top of a recipe it becomes easy to reuse and nest recipes.
A few actions also support different roles: by default a script is run or an overlay is deployed as root, but you can also specify to have this done by a certain user.
Please refer to the documentation for more information.
Simple-CDD-YAML can be installed using pip
:
pip install git+https://github.com/swvanbuuren/simple-cdd-yaml.git
After installation use the command simple-cdd-yaml
to create Simple-CDD
profiles from YAML files. Issue simple-cdd-yaml --help
to get help.
Refer to simple-cdd-yaml-recipes for example recipes.
No documentation yet, sorry!
An MIT style license applies for Simple-CDD-YAML, see the LICENSE file for more details.