I've been running puppet for a couple of years without using environments. Now, I manage more servers and I think it's time to implement puppet environments. I have a couple of questions about design best practice.

Probably 80% of the modules in use across the various environments would be common to all environments. To avoid duplication of modules, I want to have a separate directory of common modules, and specify two modulepaths in the environment declaration, like this:

[resnet]
    modulepath = $confdir/environments/resnet/modules:$confdir/modules
    manifest = $confdir/environments/resnet/manifests/site.pp

My question is, can I put a module named "httpd" in my common module directory, and then in specific environments have subclasses like "httpd::vhost1", "httpd::vhost2", etc? How will the module fileserving work?

As I'm refactoring my whole puppet environment this is a good opportunity to "do things right" so any advice about managing multiple environments, sharing modules, extending classes, etc, will be gratefully received.

Cheers,
Jonathan

--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to