{"id":2846,"date":"2012-12-13T01:37:49","date_gmt":"2012-12-13T00:37:49","guid":{"rendered":"http:\/\/www.devco.net\/?p=2846"},"modified":"2012-12-13T19:05:38","modified_gmt":"2012-12-13T18:05:38","slug":"simple-puppet-module-structure-redux","status":"publish","type":"post","link":"https:\/\/www.devco.net\/archives\/2012\/12\/13\/simple-puppet-module-structure-redux.php","title":{"rendered":"Simple Puppet Module Structure Redux"},"content":{"rendered":"

Back in September 2009 I wrote a blog post titled “Simple Puppet Module Structure”<\/a> which introduced a simple approach to writing Puppet Modules. This post has been hugely popular in the community – but much has changed in Puppet since then so it is time for an updated version of that post.<\/p>\n

As before I will show a simple module for a common scenario. Rather than considering this module a blueprint for every module out there you should instead study its design and use it as a starting point when writing your own modules. You can build on it and adapt it but the basic approach should translate well to more complex modules.<\/p>\n

I should note that while I work for Puppet Labs I do not know if this reflect any kind of standard suggested approach by Puppet Labs – this is what I do when managing my own machines and no more.<\/p>\n

The most important deliverables<\/H2>
\nWhen writing a module I have a few things I keep in mind – these are all centered around down stream users of my module and future-me trying to figure out what is going on:<\/p>\n