Building Http Support

Overview One of the most requested capabilities for Puppet has been to support code such as the following: file { '/opt/jdk.tar.gz': source => 'http://filerepo.local/java/jdk.tar.gz', } Retrieving files (especially larger archives) via HTTP is a very convenient practice. People have been doing it through custom exec resources and defined types all over the place, for years. There are several sophisticated modules that bring this capability along. Still, all these approaches lack some of the convenience that Puppet’s file type brings to the table. [Read More]

Who Moved My Cheese

Finding out why Travis fails your latest PR - 2 minutes. Reproducing locally and figuring out how to fix the issue - 3 hours. Squashing and rebasing to master, then finding out that the issue reappeared due to the rebase - priceless. What is it now? The work on PUP-3341 had basically been finished weeks earlier. The mailing list had consented (or something like that) and implementation had gone rather swimmingly. [Read More]

Purging Unnamed Sshkeys

Puppet got in trouble when users manually created resources that had no description. Unnamed resources are difficult for Puppet to handle. To allow successful purging, it is necessary to generate internal names for such resources. Background In this post, I want to describe a problem that cropped up in a feature that I had implemented for one of the late 3.x releases. At the time, it was the most requested item, with dozens of votes on Redmine (of course it was old), and later on Jira. [Read More]
puppet  bugs  ssh  keys  purging