Preprocessor for Simple-CDD using YAML input files (so-called recipes), as inspired by debos.
Simple-CDD is a tool for creating customized debian-installer CDs.
Simple-CDD-YAML uses YAML recipes to generate the profile files required by
Simple-CDD. A recipe consists of actions, that generate or append files in the
Simple-CDD profile. Simple-CDD-YAML features the following actions (for an
exemplary profile called <profile>
):
recipe
action: embed another recipeconf
action: compose a<profile>.conf
file by supplying (environment) variablespreseed
action: define a preseed fileapt
action: add packagesrun
action: add a command or script (to<profile>.postinst
)overlay
action: add an overlay (an overlay is a file structure that is compressed into one single file and automatically added to the file<profile>.extra
. A corresponding command to decompress the overlay is added to<profile>.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 scripts are executed and overlays are deployed as root, but you can also specify to have this done by a given user.
Please refer to the documentation on actions for detailed documentation for each action.
Simple-CDD-YAML can be directly installed from PyPi using
pip
:
pip install simple-cdd-yaml
Detailed instructions are found in the documentation's installation section.
After installation use the command simple-cdd-yaml
to create Simple-CDD
profiles from YAML files. Issue simple-cdd-yaml --help
to get help.
Detailed usage instructions are found in the getting started guide.
Refer to the documentation's examples page for a detailed recipe explanation. The repository simple-cdd-yaml-recipes contains more example recipes.
Check out the documentation to get started, find more background information and query the code reference.
This repository comes with pre-commit hooks, which are stored in
.hooks
. To enable the hooks issue:
git config --local core.hooksPath .hooks/
An MIT style license applies for Simple-CDD-YAML, see the LICENSE file for more details.