My employer has a multi-tenant puppet installation with a fairly odd 
layout. The files a laid out like this:

/manifests/group1/application1/server.pp
/manifests/group1/application1/node.pp
/manifests/group1/application2/server.pp
/manifests/group1/application2/node.pp
...
/manifests/groupX/applicationY/server.pp
/manifests/groupX/applicationY/node.pp

Where server.pp is always called server.pp, and always defines class 
"server" and three inherited classes dev_server, qa_server, and 
prod_server. These include all the puppet directives to install groupX's 
applicationY server in either the dev, qa, or prod environment.

The node.pp always has three node stanzas which include either dev_server, 
qa_server, or prod_server.

The guy who set it up never used puppet before and had a real knack for 
putting things in non-standard places, so I'd like to clean it up and do 
things "the puppet way". However I've not done a multi-tenant setup before 
so could use some advice, or some "this is how we do it and works for us" 
ideas.

My thoughts at the moment are to consolidate all of the node.pp files into 
a single file under manifests, then set up a second modules directory 
(maybe called nodeclasses?) and then groupX/applicationY will become the 
groupX::applicationY class which is included in the node definition in 
node.pp.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/b1550a9a-c056-4a0a-bb23-fb6b9a243f34%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to