> module_dir { "/etc/puppet/env/global_puppetmaster":} > > ##### Stable service modules ##### > modules { "PP-host-base": module => "host-base", site => > "global_puppetmaster", type => "services", version => "0.12"} > modules { "PP-sudo": module => "sudo", site => > "global_puppetmaster", type => "services", version => "0.1" } > modules { "PP-ssh": module => "ssh", site => > "global_puppetmaster", type => "services", version => "0.1" } > modules { "PP-sendmail": module => "sendmail", site => > "global_puppetmaster", type => "services", version => "0.14"} > modules { "PP-ldap": module => "ldap", site => > "global_puppetmaster", type => "services", version => "0.11"} > modules { "PP-redhat": module => "redhat", site => > "global_puppetmaster", type => "services", version => "0.12"} > modules { "PP-autofs": module => "autofs", site => > "global_puppetmaster", type => "services", version => "0.1" } > modules { "PP-apache2": module => "apache2", site => > "global_puppetmaster", type => "services", version => "0.1" } > modules { "PP-subversion":module => "subversion",site => > "global_puppetmaster", type => "services", version => "0.11"} > modules { "PP-syslog-ng": module => "syslog-ng", site => > "global_puppetmaster", type => "services", version => "0.11"} > modules { "PP-monit": module => "monit", site => > "global_puppetmaster", type => "services", version => "0.1" } > modules { "PP-munin": module => "munin", site => > "global_puppetmaster", type => "services", version => "0.1" } > #### stable host types modules ##### > modules { "PP-puppetmaster": site => "global_puppetmaster", module > => "host-puppetmaster", version => "0.21" } > > } > > using this syntax it creates all the necessary environment modules which > are basically links to the version of the "stable/testing" module.
Hmm some comments to this... This sounds like a bear to maintain, while I think it's important to do in a complex environment like you have. I'm wishing the info you are doing is more included in the module syntax of Puppet's language itself. It's interesting to see you don't use Puppet's built in tagging (ie development, staging, production). Just curious why? What would you consider needed in Puppet to make your development easier? I'm thinking: - module version - dependencies needed to get the module working (with version info) - some sort of naming convention to allow modules to be shareable, and cannot overlap (ie one person has a openssh-server module that does one thing, yet another person uses the same name but does something different) This is needed so modules can be shared in some sort of public repository. -L --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---