Each module is intended to be configurable to some extent by the user; although this is not a mandatory requirement, it is normally expected to be implemented.
The toolkit takes a very simplistic view on providing module configuration to the user. When use the toolkit make_template command to create a template, a single flat file is produced. This file concatenates the core base_config configuration file with the configuration files from each of the selected modules. By providing a configuration file named after the module itself and with a .conf suffix, the toolkit make_template command will do the rest of the work.
The configuration file is a simple Bourne Shell script. The configuration file should present configurable options in the form of variables to the user. Each variable should be prefixed with the module name and an underscore, to preserve the variable namespace of the module and prevent one module corrupting another.
For example, the module sds presents an option to the user to select the version of the software to be installed. The corresponding part of the configuration file is as follows:
############ # # Which version of the product is to be installed # sds_product_version="4.2.1"
In this example, a default value of 4.2.1 is already populated in the configuration file, as this was the most recent version of the product when the module was written.