Introduction
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.
What is this "Simple-CDD" you speak of?
Simple-CDD is a limited, though relatively easy to use tool to create a customized DebianInstaller CD.
It's a wrapper around debian-cd and mirroring tools used to create a customized DebianInstaller CD image. It takes a list of packages to install, and debconf pre-seeding files to pre-configure the installation. It has some support for multiple profiles and custom post-install scripts for things that can't be configured by debconf preseeding.
Actions
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.
Visit the Actions section to learn how to write actions and see what they are capable of.
Next steps
Refer to getting started to install Simple-CDD-YAML, create a profile from a YAML recipe and build an image using Simple-CDD.
Vist code reference to learn more about the implementation and underlying code of Simple-CDD-YAML.