What is the recommended puppet server directory layout?

Yes, the standard directory layout looks like that - what kind of variations to this structure are you seeing?

Your different services (httpd, nginx) should each be handled by modules within the modules directory, while attaching these modules to nodes for inclusion in their configuration catalog will happen within manifests.

How are you looking to define your roles? Generally that should be done in your node definitions, whether that's a nodes.pp file in your manifests directory that gets loaded by site.pp, or instead using Hiera for your node definitions (which I'd definitely recommend if you're up for it).


I suggest using an IDE like Geppeto to manage your modules according to the Puppet Module Style Guide. Geppetto will create the needed files and directory structure.

  • Puppet Style Guide
  • Geppeto IDE