Using Http Files

Overview In the introductory post about the new support for source => "http://..." parameters in Puppet’s file resource type, I promised a follow-up that would explain the technical details of the implementation. This is not that post. Instead, seeing as Puppet 4.4 will hopefully be released soon and make this feature available to you, I will explain the caveats in greater detail first and add some perspective on how to best circumvent them. [Read More]

Master Load Balancing

Background At his amazing presentation of the new features in Puppet 4 at Puppet Camp Berlin 2015, Martin explained how masters can be configured to perform only a subset of the available master services. This way you can have, say, a single CA server, some file servers and a swarm of manifest compilers. Someone in the audience asked how to use this, since typically you address the master through just the one domain name (e. [Read More]

Turning Puppet's HTTP Support Up A Notch

Making HTTP requests from within Puppet Puppet without HTTP support is unthinkable. Most if not all communications between the different parts of a Puppet setup use REST APIs. Puppet modules from the Forge are retrieved through HTTPS exclusively. There are convenient methods available in the existing code base, which can be used by new features that need to perform HTTP requests. There are some details and limitations to keep in mind, though. [Read More]

Adding Http Sources

Many users (myself included) would like to specify source => http://... for file resources in Puppet manifests. It turns out that the existing infrastructure in the Puppet core makes this quite easy to implement. File serving in Puppet Among the most basic functions of any configuration management system is the central maintenance and programmatic distribution of various configuration files. Data files such as binary applications or tarballs are frequently managed as well. [Read More]