I'm starting to use puppet and in configuring the puppet master I feel I'd like puppet to maintain that host as well. What's curious is that I see no recommendation or even much discussion for or against, which has me wondering if there's a reason.

I imagine something like this to bootstrap on host creation (pseudo-shell-script):

git clone git://github.com/me/puppit.git /etc/puppet/
puppet apply puppetmaster.pp

and then running puppetd on that host as well so that it pulls the catalog from puppetmasterd (same host) and so stays appropriately configured.

3 Answers 3


That's pretty much how I do it. Depending on the exact situation, there will likely be some other commands to run (installing Ruby, Puppet itself), but in general I just have a deploy shell script in the root of the repo which does the necessary, including an initial Puppet run to get the machine bootstrapped.


I also manage my company's Puppet server with Puppet.

I used to work like this:

I've configured a hiera role (using a custom fact) which is called Puppet and then I'd configure everything related to the puppet server in the role.yaml file.

But since then, I've changed it to having a puppet.fqdn.yaml in the hieradata/fqdn folder and now when I want to change Puppet's configuration I edit that file.

  • Hiera is so often recommended in the sense of "eventually you'll realize you need it", why'd you switch away?
    – jma
    Sep 4, 2015 at 12:58
  • Because Puppet server is exceptional and I think it's safer that way.
    – Itai Ganot
    Sep 4, 2015 at 15:12

What is your question exactly? I always use Puppet to manage the master itself. -- Even though the initial puppetmasterd installation may be manual or only shell-scripted.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .