The Puppet OpenStack modules (search
puppet in the repository list of http://github.com/stackforge) are probably the largest and most remarkable example of how Puppet is used to manage a complex set of applications that have to be interconnected and configured accordingly.
There are different modules for each OpenStack component (Nova, Glance, Horizon, Cinder, Ceilometer, Keystone, Swift, Quantum/Neutron, and so on); they can be retrieved from
https://github.com/stackforge/puppet-<component>; so, for example, Nova's module is https://github.com/stackforge/puppet-nova.
These modules manage all the different configurations via a settings-based approach, with native types that set the single lines ...