As we are starting to re-factor our puppet modules using Craig's roles/profile design we have found that this system works well for servers (or groups of servers) who have an entire stack of technology deployed to them or who all are part the same custom application. Clusters of servers typically have a unique set of configuration and fit well into this design. For example, a web-server in the "app1" cluster may look like: node webserver1 { include role::app1_webserver } class role::app1_webserver { include profiles::base include profiles::webserver:app1 } class profiles::webserver::app1 { class { '::apache': a => 'x', b => 'y', } file { "/etc/something": ensure => present, content => template("apache/blah.erb"), } } Along with standard apache, there are various other custom/non-standard things that need to be done. This works well in profiles because it provides a layer of abstraction between the component modules and this extra configuration is common for all servers in the "app1" cluster. I'm having trouble understanding how to treat those "one-off" servers who just need things like a standard apache, or a standard mysqld installation, but aren't part of any common application and don't need any custom stuff. I thought about defining profiles like so: class profiles::webserver::apache::generic { include ::apache } I feel like this design just over complicates the profiles logic, but I can't seem to figure out another way to handle this type of scenario. Furthermore, what if I need a generic webserver with PHP? Do I need another profile (ie, profiles::webserver::apache::generic::php). Can anyone give any input on to how I should be handling this? Thanks, Josh -- 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+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/8cac06f5-90fc-4cd3-b158-7cb20bb22fef%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.