On 26.04.2013 12:19, Jonathan Gazeley wrote:
I use puppet forge to install various modules on my puppetmaster. I'm
thinking about the build process if I build a new puppetmaster. Manually
reinstalling the modules is prone to error if I forget which modules I
used to have.

I looked at this module[1] as a way of making puppet automatically
install its own modules. But then I realised - if I am building a
puppetmaster from scratch then it won't have the ability to use this
module to install itself... chicken and egg.

How have other people handled this?


I've put all puppet modules I'm deploying into a central git repo. This is my source of truth. It has branches for each environment (currently not used here). There is a script on the puppetmaster polling the repo (or reacting to triggers, depending on the client's setup) which updates all environments from the branches.

Setting up a new puppetmaster in an already running system is easy: there's a puppetmaster class that clones the required repos and deploys the scripts and keys.

Bootstrapping a new puppetmaster from scratch requires installing enough software and repos to run puppet apply on a puppetmaster.pp script.

The public working code can be found on github:
https://github.com/DavidS/dasz-configuration

The puppetmaster vagrant box is bootstrapped each time the box is rebuilt using the configuration in

https://github.com/DavidS/dasz-configuration/blob/master/manifests/puppetmaster.pp

The production puppetmaster is configured very similarly using this node definition:

https://github.com/DavidS/dasz-configuration/blob/master/manifests/nodes/puppetmaster.dasz.at.pp

Note the additional "secrets" repo. I've not yet added the pull scripts to this version.



Regards, David

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to