Planet Puppet

Your source of Puppet technical information

Practicing DevOps at Puppet

Omri Gazitt, 1 day, 2 hours | Source: Puppet Labs

When it comes to DevOps, we practice what we preach: shipping every sprint, continuous improvement, and budgeting time for engineering systems.

[ Read More ]

Tip of the Week 50 - Scheduling Puppet resources application

Anonymous, 1 day, 18 hours | Source: Example 42

In our Puppet operations we may need to apply some resources only in given periods of time, such as maintenance windows, os specific days of the week of hour. Puppet has a quite useful, and not too much known, resource for that: schedule. The schedule resource type can be used to define a time period. Once defined, by using the schedule metaparamter we can tell to Puppet to apply a given resource only when Puppet is running within the specified schedule. For example, we can define a daily schedule from 2 AM to 4 AM, and also specify how many ...

[ Read More ]

Self-documenting Puppet modules with puppet-strings

rnelson0, 4 days, 22 hours | Source: RNELSON0

Documentation is hard. Anyone who has been in IT long enough will have tales of chasing their tails because of incorrect or outdated docs, or even missing docs. Documentation really benefits from automation and ease of creation. For Puppet modules, there exists a tool called puppet-strings that can help with this. There are probably other […]

[ Read More ]

CloudPassage module achieves Partner Supported status

Matt Girdharry, 5 days, 2 hours | Source: Puppet Labs

CloudPassage achieves Partner Supported status for their Puppet module making it easy to integrate CloudPassage into existing security processes.

[ Read More ]

Check out the latest in Puppet Bolt

Yasmin Rajabi, 5 days, 21 hours | Source: Puppet Labs

Bolt has been releasing every week since PuppetConf. Check out the latest features added to the open source task runner.

[ Read More ]

November 2017 Windows modules update

Craig Gomes, 1 week, 1 day | Source: Puppet Labs

Newest updates on our Puppet Enterprise Windows Modules for the month of November 2017.

[ Read More ]

Tip of the Week 49 - LibRAL and a proposal for the new Puppet Resource API

Anonymous, 1 week, 1 day | Source: Example 42

Puppet has always run on fast development cycles. Even though only a very few releases required people to refactor their existing Puppet code (e.g. the migration from Puppet 3 to Puppet 4). Puppet still has lots of upcoming changes and still follows the Open Source idea. All discussion on upcoming development or new features take place in the Puppet Specification repository. At the moment there is at least one PR which deals with idea of a new Puppet Resource API, extending the way how we usually deal with and develop custom types and providers. Besides this we see more ...

[ Read More ]

Tip of the Week 48 - Puppet modules documentation

Anonymous, 2 weeks, 1 day | Source: Example 42

Modules’ documentation is useful to understand what a module does and how it does it and how to make use of it. Usually we can access these information by reading the README, directly on the Forge or GitHub page, and eventually looking directly at the inline documentation in manifests. Puppet Strings As you are probably aware there is a tool, Puppet strings which is able to automatically generate documentation for a module based on in code documentation. It’s based on the Yard tool and can generate docs in various formats. To install Puppet strings: puppet resource package rgen provider ...

[ Read More ]

Tip of the Week 47 - HowTo DevOps

Anonymous, 3 weeks, 1 day | Source: Example 42

How DevOps started In the past times system administrators mostly managed their infrastructure in a manual pattern: provisioning systems using CDROMs or USB sticks or - if you were already lucky to have larger infrastructure - you might have used a provisioning system like FAI or Cobbler. Afterwards people logged into the system using SSH and configured them according to some documentation or tickets or they had some shell or perl scripts which did the initial configuration. When developers changed from waterfall to agile methods, system administrators were facing new issues: they needed to build systems faster as developers were pushing out ...

[ Read More ]

Managing multiple puppet modules with modulesync

Dean Wilson (, 4 weeks | Source: Dean Wilson@UnixDaemon

With the exception of children, puppies and medical compliance frameworks managing one of something is normally much easier than managing a lot of them. If you have a lot of puppet modules, and you’ll eventually always have a lot of puppet modules, you’ll get bitten by this and find yourself spending as much time managing supporting functionality as the puppet code itself.

Luckily you’re not the first person to have a horde of puppet modules that share a lot of common scaffolding. The fine people at Vox Pupuli had the same issue and maintain an excellent tool ...

[ Read More ]

Upgrading Puppet Enterprise from 2016.4 to 2017.3

rnelson0, 1 month | Source: RNELSON0

Over the past year, there have been some pretty big improvements to Puppet. I am still running PE 2016.4.2 and the current version is 2017.3.2, so there’s lot of changes in there. Most of the changes are backwards-compatible, so an upgrade from last November’s version is not quite as bad as it sounds, and I […]

[ Read More ]

Copyleft is Dead. Long live Copyleft!

purpleidea, 1 month, 3 weeks | Source: The Technical Blog of James

As you may have noticed, we recently re-licensed mgmt from the AGPL (Affero General Public License) to the regular GPL. This is a post explaining the decision and which hopefully includes some insights at the intersection of technology and legal issues.


I am not a lawyer, and these are not necessarily the opinions of my employer. I think I’m knowledgeable in this area, but I’m happy to be corrected in the comments. I’m friends with a number of lawyers, and they like to include disclaimer sections, so I’ll include this so that I blend in ...

[ Read More ]

Retrospec - the Task Generator

Anonymous, 2 months | Source: Logical thoughts exposed

Puppet introduced Bolt at Puppetconf 2017 this year and so far I like what I see. Simple, easy to use remote task execution without a huge requirement of any one language. Best of all puppet modules can start adding one off bolt tasks to help with the administrative duties of various applications. Bolt makes it really easy to get started but adds some required scaffolding to create a properly defined task, namely the metadata file.

One of the use cases of retrospec puppet is to build out this scaffolding for you with the many generators it has. So starting with ...

[ Read More ]

The Choria Emulator

R.I. Pienaar, 2 months | Source: R.I.Pienaar -

In my previous posts I discussed what goes into load testing a Choria network, what connections are made, subscriptions are made etc.

From this it’s obvious the things we should be able to emulate are:

  • Connections to NATS
  • Subscriptions – which implies number of agents and sub collectives
  • Message payload sizes

To make it realistically affordable to emulate many more machines that I have I made an emulator that can start numbers of Choria daemons on a single node.

I’ve been slowly rewriting MCollective daemon side in Go which means I already had all the networking and connectors available ...

[ Read More ]

Puppet 5 Beginner's Guide (third edition)

John Arundel, 2 months, 1 week | Source: Bitfield Consulting

Order your copy now on (

A new book on Puppet for the cloud-native era

A new edition of the bestselling Puppet Beginner’s Guide is now available, covering all the latest features of Puppet 5. Learn Puppet from scratch, from installation to managing complex infrastructures, including chapters on managing Amazon AWS cloud resources and Docker containers with Puppet. Every code example is available right now online in a special GitHub repo just for this book. There is also a complete, working Puppet infrastructure for you to download, adapt, and use on your own servers.

Praise ...

[ Read More ]

Load testing Choria

R.I. Pienaar, 2 months, 3 weeks | Source: R.I.Pienaar -


Many of you probably know I am working on a project called Choria that modernize MCollective which will eventually supersede MCollective (more on this later).

Given that Choria is heading down a path of being a rewrite in Go I am also taking the opportunity to look into much larger scale problems to meet some client needs.

In this and the following posts I’ll write about work I am doing to load test and validate Choria to 100s of thousands of nodes and what tooling I created to do that.


Choria builds around the NATS middleware which ...

[ Read More ]

puppet network module 3.10.0

Michael Arnold, 4 months, 1 week | Source: The Razor's Edge

Today, I have released a large update to my Red Hat network Puppet module to the Puppet Forge.  Numerous pull requests were merged including: Added support for promiscuous interfaces. (Elyse Salberg) Added a parameter to disable restart of network service on change. (Evgeni Golov) Added support for netmask and broadcast parameters in alias range. (Nick […]

[ Read More ]

strict_variables and the RazorsEdge Puppet Modules

Michael Arnold, 4 months, 2 weeks | Source: The Razor's Edge

Over the past month I have been adding much needed support for running Puppet with strict_variables = true to all of the RazorsEdge Puppet modules. Thanks to coreone, I finally had a solution that did not require tearing out the legacy global variable support. As much as I think that continued inclusion of global variable […]

[ Read More ]

Converting and Formatting Data Like a Pro With Puppet 4.5.0

Henrik Lindberg (, 5 months, 1 week | Source: Puppet on the Edge

Before Puppet 4

Before Puppet 4.0.0 there was basically only the data types; String, Boolean, Array, Hash, and Undef. Most notably missing were numeric types (Numeric, Integer, and Float). In Puppet 4.0.0 those and many other types were defined and implemented in a proper type system. This was all good, but a few practical problems were not solved; namely data conversion. In Puppet 4.5.0 there is a new feature that will greatly help with this task. But first lets look at the state of what is available in prior versions.

Converting String to Number ...

[ Read More ]

Managing SSH server security with Puppet

rnelson0, 5 months, 1 week | Source: RNELSON0

Edit: In an earlier edition, I credited the wrong newsletter as the source. My apologies to R.I.Pienaar! In this past week’s DevCo Newsletter, I saw the Rebex SSH Check, which reminded me that I’ve locked down the SSH server security configuration at work, but not at home. Sounds like a good opportunity to blog about […]

[ Read More ]