The Runtime Configuration File

KIWI NG supports an additional configuration file for runtime-specific settings that do not belong in the image description but which are persistent and are unsuitable for command-line parameters.

The runtime configuration file must adhere to the YAML syntax, and the file can be pointed to via the global --config option at call time of KIWI NG. If no config file is provided, KIWI NG searches for the runtime configuration file in the following locations:

  1. ~/.config/kiwi/config.yml

  2. /etc/kiwi.yml

  3. /usr/share/kiwi/kiwi.yml

A default runtime config file in /usr/etc/kiwi.yml.example is provided with the python3-kiwi main package. The file contains all possible settings as comments, including a short description of each setting.

If the runtime configuration file is located at /etc/kiwi.yml, the system will also check for extra configuration files in /etc/kiwi.yml.d/. Similarly, if the main file is at /usr/share/kiwi/kiwi.yml, it will look for additional files in /usr/share/kiwi/kiwi.yml.d/. All yml files in these directories are loaded in alphabetical order and combined into the final configuration. This allows for modular configuration management, where different aspects of the configuration can be separated into different files.