[NZLUG] Managing multiple-machine application configs with DVCS

Daniel Lawson daniel at meta.net.nz
Thu Jun 6 08:46:37 NZST 2013

On 5/06/2013, at 9:00 PM, Félix Saparelli <me at passcod.name> wrote:

> Have a look at http://dotfiles.github.io/ - What you're describing is obviously not a new problem and has been addressed in various different ways by a number of people. Ben Alman's looks close to what you want: https://github.com/cowboy/dotfiles, but I'm sure you can find your own perfect setup mixing and matching these.

This still doesn't easily address the issue of per-machine configuration. Most people want their dotfiles to be the same across multiple machines, after all. Even where there are differences, they are usually addressable with a shell builtin like $HOSTNAME or part of the script itself (particularly if you're copying .bashrc / .profile etc around).

This is not the case for most of the configuration files in /etc.  You'd still need to build a template engine into your config files and have a script which fills in the right values on the right hosts, and that's well beyond the scope of the dotfiles programs I've seen. (Although I'm happy to be wrong here, but the one you linked to doesn't offer that kind of feature. It supports being used on different OSes, but it puts the same files in place everywhere it's run)

For the OP: I think your best answer is a configuration management tool like puppet, chef, cfengine, etc.  Time spent working on an alternative is time you're not spending working on the better solution, and probably reinventing features that are already in the better solution (caching, idempotency, status monitoring).  I know you don't want to use puppet or tools like it, but I really think you should reconsider. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nzoss.org.nz/pipermail/nzlug/attachments/20130606/51a7a6f3/attachment.html>

More information about the NZLUG mailing list