Our site is using a collection of puppet modules to manage various Linux components using the roles and profiles model. While it works OK for the most part, I often find it necessary to update a module or profile for some reason or other. Modules obtained from puppet forge sometimes don't quite do what is needed, and writing good quality modules on your own can be a challenge. When using roles and profiles you end up declaring all the module parameters again to avoid losing functionality and flexibility. You also need to be familiar with all the classes, types, and parameters from all modules in order to use them effectively.
To avoid all of the above, I put together the 'basic' module and posted it on the forge: https://forge.puppet.com/southalc/basic This module uses the hiera_hash/create_resources model for all the native puppet (version 5.5) types, using module parameters that match the type (exceptions for metaparameters, per the README). The module also includes the 'file_line' type from puppetlabs/stdlib, the 'archive' type from puppet/archive, and the local defined type 'binary', which together provide a simple and powerful way to create complex configurations from hiera. All module parameters default to an empty hash and also have a merge strategy of 'hash' to enable a great deal of flexibility. With this approach I've found it possible to replace many single purpose modules it's much faster and easier to get the results I'm looking for. Yes, the hiera data can become quite large, but I find it much easier to manage data in hiera than coding modules with associated logic, parameters, templates, etc. Is this suitable for hyper-scale deployment? Maybe not, but for a few hundred servers with a few dozen configuration variants it seems to work nicely. Is everyone else using puppet actually happy with the roles/profiles method? -- 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/e7014908-5e5d-4525-af28-4936d75fb685%40googlegroups.com.