Hey folks, I''ve just uploaded an apache2 module[1] to our Google Code repository[2]. It''s based largely on the recipe available on the Puppet trac[3], but with a fair amount of modification and generalization... Basically, it provides abstractions for config file snippets, site definitions, and apxs modules -- and then "basic" and "debian" subclasses which use them. See the README[4] for more details. Please take a look: I''d be curious to hear what folks think. This code has been managing our web servers for a while now, and has proved to be both stable and flexible -- but of course, there''s plenty of ways to improve it... (Patches are welcome!) -sq [1] http://wesabe.googlecode.com/svn/trunk/puppet/modules/apache2/trunk/ [2] http://code.google.com/p/wesabe/ [3] http://reductivelabs.com/trac/puppet/wiki/Recipes/DebianApache2Recipe [4] http://wesabe.googlecode.com/svn/trunk/puppet/modules/apache2/trunk/README
--On December 20, 2007 3:49:09 PM -0800 Sam Quigley <quigley@emerose.com> wrote:> Hey folks, > > I''ve just uploaded an apache2 module[1] to our Google Code > repository[2]. It''s based largely on the recipe available on the > Puppet trac[3], but with a fair amount of modification and > generalization... Basically, it provides abstractions for config file > snippets, site definitions, and apxs modules -- and then "basic" and > "debian" subclasses which use them. See the README[4] for more details. > > Please take a look: I''d be curious to hear what folks think. This > code has been managing our web servers for a while now, and has proved > to be both stable and flexible -- but of course, there''s plenty of > ways to improve it... (Patches are welcome!) > > -sqI''m not sure where the idea of the classes subdir under manifests got popular but it really isn''t a great idea since you lose the auto find magic with namespaces. From the wiki: "Let''s say you autofs has a class defined in init.pp but you want an additional class called craziness. If you define that class as autofs::craziness and store it in file craziness.pp under the manifests directory, then simply using something like include autofs::craziness will trigger puppet to search for a class called craziness in a file named craziness.pp in a module named autofs in the specified module paths. Hooray!"[1] Anyway, I''ll pass around the URL to some coworkers and see what they think. [1] <http://www.reductivelabs.com/trac/puppet/wiki/ModuleOrganisation> -- Digant C Kasundra, Linux Tech Lead Information Technology Services, Stanford University
On Dec 20, 2007, at 9:21 PM, Digant C Kasundra wrote:> I''m not sure where the idea of the classes subdir under manifests got > popular but it really isn''t a great idea since you lose the auto > find magic > with namespaces. From the wiki: > > "Let''s say you autofs has a class defined in init.pp but you want an > additional class called craziness. If you define that class as > autofs::craziness and store it in file craziness.pp under the > manifests > directory, then simply using something like include > autofs::craziness will > trigger puppet to search for a class called craziness in a file named > craziness.pp in a module named autofs in the specified module paths. > Hooray!"[1] > > Anyway, I''ll pass around the URL to some coworkers and see what they > think. > > [1] <http://www.reductivelabs.com/trac/puppet/wiki/ModuleOrganisation> >Good point; I''ve fixed that and updated the code. (And no, I''m not sure where I picked up that habit either...) Thanks! -sq
On Dec 20, 2007, at 11:21 PM, Digant C Kasundra wrote:> I''m not sure where the idea of the classes subdir under manifests got > popular but it really isn''t a great idea since you lose the auto > find magic > with namespaces. From the wiki:It''s my fault; I started out using that organization, long before namespaces or modules existed (actually, long before Puppet even existed). -- Risk! Risk anything! Care no more for the opinions of others, for those voices. Do the hardest thing on earth for you. Act for yourself. Face the truth. -- Katherine Mansfield --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com
On Dec 20, 2007 10:21 PM, Digant C Kasundra <digant@stanford.edu> wrote:> I''m not sure where the idea of the classes subdir under manifests got > popular but it really isn''t a great idea since you lose the auto find magic > with namespaces. From the wiki: > > [1] <http://www.reductivelabs.com/trac/puppet/wiki/ModuleOrganisation>I believe it came from this version: <http://reductivelabs.com/trac/puppet/wiki/ModuleOrganisation?action=diff&version=26> Lines 53, 54 and 62-66, where it describes the classes and definitions subdirectories. This was current when we started writing our module manifests, so I''m still cleaning up a few of our older modules that used that structure.
On Thu, 20 Dec 2007 15:49:09 -0800, Sam Quigley wrote:> Hey folks, > > I''ve just uploaded an apache2 module[1] to our Google Code > repository[2]. It''s based largely on the recipe available on the Puppet > trac[3], but with a fair amount of modification and generalization... > Basically, it provides abstractions for config file snippets, site > definitions, and apxs modules -- and then "basic" and "debian" > subclasses which use them. See the README[4] for more details. > > Please take a look: I''d be curious to hear what folks think. This code > has been managing our web servers for a while now, and has proved to be > both stable and flexible -- but of course, there''s plenty of ways to > improve it... (Patches are welcome!)Have you looked at David S'' apache2 module? It would be good to merge these two to have the benefits of each in one place. Micah