The main service configuration (/etc/$project/$project.conf) can still be used for configuration but the preferred way is to add config file snippets into /etc/$project/$project.conf.d/ instead. As part of the packaging, the package itself installs a config snippet at /etc/$project/$project.conf.d/010-$project.conf with basic configuration. This file should not be modified. In case there is a need to overwrite or add settings, a XXX-$project.conf (XXX being a 3 digit number) should be created instead. Config directory file snippet naming should follow these conventions: - snippets should start with "XXX-" where "X" is a number - snippets must end with ".conf" - config management systems (Crowbar, Salt, ...) should use numbers between 100 and 499 - users should use numbers starting from 500 Configuring just a single $program (eg for Nova, $project is "nova" and $program is "nova-api", "nova-compute", "nova-scheduler", ...) can be done in a similar way. The config snippets should be placed in /etc/$project/$program.conf.d/ . The same snippets rules apply here, too. $program reads the configuration files in the following order: - /etc/$project/$project.conf - /etc/$project/$project.conf.d/*.conf (lexically sorted) - /etc/$project/$program.conf.d/*.conf (lexically sorted) The last configured key overwrites all previous ones. In particular, settings in /etc/$project/$project.conf are overwritten by config values from any file in /etc/$project/$project.conf.d/XXX-$project.conf .