[chef] Re: Re: Re: Managing user dotfiles under chef -- as files?


Chronological Thread 
  • From: Bryan McLellan < >
  • To:
  • Subject: [chef] Re: Re: Re: Managing user dotfiles under chef -- as files?
  • Date: Fri, 20 Jul 2012 15:16:05 -0400

On Fri, Jul 13, 2012 at 1:51 PM, Edward Morbius 
< >
 wrote:
> Separate, per-user config files.  We may seed them from a skeleton
> template initially, but they'll be allowed to differ from one another
> over time.

There are a number of people out there storing their dotfiles in git
repositories. Check out the Git dot-files page:
http://dotfiles.github.com/

There is a chef-dotfiles cookbook on github:
https://github.com/lebedevdsl/chef-dotfiles

This cookbook will check out a repo and do the symlinks for you. It
allows you to have two repositories, one for defaults and a custom
repository too. I would enhance it to use only one repository but have
a tree of users inside the repository, one directory for each user and
a typical 'skel' directory as the default. Have the recipe checkout
the repository to a read shared location like /home/skel.

Then walk through the list of users and provide links to custom
dotfiles if they exist in the corresponding users directory in the
skel repository

/home/skel # git repository checkout
/home/skel/bob # bob's custom dot-files
/home/skel/frank # frank's custom dot-files
/home/skel/skel # default dot-files
/home/bob # bob's home directory
/home/bob/.bashrc -> /home/skel/bob/bashrc # bob has a custom bashrc
/home/frank # frank's home directory
/home/frank/.bashrc -> /home/skel/skel/bashrc # frank does not so the
default is used.

Whenever Chef is run, the skel git repository will update and changes
to dot files will be pulled down. You could let everyone push to this
git repository, updating their own dot-files. A malicious user could
modify another users dot-files, so if you're worried about that you
could have a human go-between here if you wanted, using an internal
process or Github pull requests.

Bryan



Archive powered by MHonArc 2.6.16.

§