Config Generation

I'm looking for good ways to handle config generation. I have been rolling my own for a few years now, but I'm wondering if there is a better way and would like to get some advice from anyone who has any ideas or experience in doing this. Here are some things I want to achieve in generating separate config files per host/service: 1. Common options shared across all configs and changed from a single place 2. Host/service specific options 3. Replace generic options with host/service specific ones 4. Some generic options may be set as non override-able Daemon features are welcome although I'm primarily looking at a daemon independent way of creating unix config files...

I'm most familiar with rdist and rsync. rdist has been around for a long time, and while I like it, I thought creating the "makefiles" were kind of a pain and tedious. rsync is really good, but you need an exception list for files that shouldn't be distributed (like local key files, caches, etc). Such file lists can be long and take time to build. (But what doesn't??)

Since I was looking into this a few weeks ago, I happen to have some browser tabs open at Freshmeat that are related to this:

Report back to us what you find! Thanks!