Master site.pp best practices
I'm getting closer to fully deploying puppet and now that I'm rounding out all the modules my organization is going to be using I'm looking into best practices on using the puppet masters site.pp.
I wanted to originally build out separate modules for each server we have and name each module after the customer that owns the server, but now I'm seeing that best practices say not to include classes from modules in different modules.
Basically, I have a Base module and an application module. I have CustomerA and CustomerB, I wanted to create a CustomerA and CustomerB module and reference the base and application module from these, that way I can keep the site.pp cleaner and really differentiate between each customer.
I'm curious how large everyone's site.pp is (I'm deploying first to 20-30 nodes, but later to 300+ nodes). I'm also wondering if my above plan would work out or if I should just be declaring these all within the node declarations in the site.pp?