Skip to main content

YAML recipe interpreter for Simple-CDD

Project description

Simple-CDD-YAML

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.

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. Simple-CDD-YAML features the following actions (for an exemplary profile called <profile>):

  • recipe action: embed another recipe
  • conf action: compose a <profile>.conf file by supplying (environment) variables
  • preseed action: define a preseed file
  • apt action: add packages
  • run 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 file
  • downloads action: add extra packages
  • debos 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.

Installation

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.

Usage

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.

Examples

Refer to the documentation's examples page for a detailed recipe explanation. The repository simple-cdd-yaml-recipes contains more example recipes.

Documentation

Check out the documentation to get started, find more background information and query the code reference.

Pre-commit hooks

This repository comes with pre-commit hooks, which are stored in .hooks. To enable the hooks issue:

git config --local core.hooksPath .hooks/

License

An MIT style license applies for Simple-CDD-YAML, see the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple_cdd_yaml-0.1.1.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_cdd_yaml-0.1.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file simple_cdd_yaml-0.1.1.tar.gz.

File metadata

  • Download URL: simple_cdd_yaml-0.1.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for simple_cdd_yaml-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2296866114c17fc9b749d0e38fcf8ffa74f3f3ec0b3550287844883181579148
MD5 e0ab87c12ca65c1209a6cdec81f5da9e
BLAKE2b-256 a39524c2dd65db7f8b790c0baa4ac6cd166231566c616bd926a8ede641c134d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_cdd_yaml-0.1.1.tar.gz:

Publisher: release.yaml on swvanbuuren/simple-cdd-yaml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_cdd_yaml-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_cdd_yaml-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8f92c89bd466084a38be42d4a779a102ecad1489bf785d5dc6e2e4f39b253bbe
MD5 0768bc78dd58ba6d5c4207b5b197a162
BLAKE2b-256 ffa78387643b16773abca8b1f27baf754758e5282223cb9021112f68ea830237

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_cdd_yaml-0.1.1-py3-none-any.whl:

Publisher: release.yaml on swvanbuuren/simple-cdd-yaml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page