Planet Puppet

Your source of Puppet technical information

How Puppet's automated configuration management keeps you secure

Verne Lindner, 12 hours, 44 minutes | Source: Puppet Labs

Secure your company’s assets with complete confidence, with Puppet Enterprise's automated configuration management and package inspection tools.

[ Read More ]

From CIO to CEO: a natural progression

Sanjay Mirchandani, 1 day, 11 hours | Source: Puppet Labs

Successful CIOs have a privileged view into every area of the business — especially now, when every company needs to behave like a software company.

[ Read More ]

Tip of the Week 29 - PSICK explained

Anonymous, 4 days, 2 hours | Source: Example 42

Using PSICK for the very first time confuses people as they are confronted with a highly flexible approach for managing and configuring their infrastructure. This posting will give you a guidance on how to read, understand and use PSICK. Normally system administrators strictly follow the approach of writing roles and profiles which consist of lots of Puppet code, describing the infrastructure. With PSICK one has the possibility of using or adopt a predefined role/profile pattern. Let’s get to the content: why PSICK set up NTP configure SSH manage users Why PSICK? Where do you usually start when working ...

[ Read More ]

DevOps and moving to the cloud

Omri Gazitt, 1 week | Source: Puppet Labs

DevOps practices & automation, starting with modeling your workloads in Puppet, help you move to the cloud to achieve business agility at lower cost.

[ Read More ]

Top 5 reasons to get Puppet training at PuppetConf

Chris Harry, 1 week, 2 days | Source: Puppet Labs

Did you know Puppet training courses are available while you’re attending PuppetConf? It’s an efficient way to get the configuration management training you want and need.

[ Read More ]

Tip of the Week 28 - Puppet and Fabric

Anonymous, 1 week, 4 days | Source: Example 42

Fabric is a remote execution tool, written in Python, which ease parallel execution and orchestration of commands on different nodes. Why does it matter with Puppet? Because it’s a good candidate, and not a rare choice, to trigger Puppet runs (and more) from a central location. In PSICK, our Puppet control-repo [generator], we use it for several tasks tasks which are related to the whole Puppet code workflow, from development, to testing and deployment. We can install Fabric, as common with Python software, using pip: pip install fabric Once installed we have at disposal the fab executable, which reads ...

[ Read More ]

Converting and Formatting Data Like a Pro With Puppet 4.5.0

Henrik Lindberg (, 2 weeks | 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, 2 weeks, 2 days | 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 ]

Tip of the Week 27 - Puppet node classification options

Anonymous, 2 weeks, 4 days | Source: Example 42

When using a Puppet Agent - Puppet Master setup it is required that the Puppet Master has information about classes which a node should receive. This process is called Node Classification. There are several possible ways on how to do this. This posting will cover several different options Node Classification in Puppet environment manifests Node classification in Hiera Node classification on external sources Node Classification in Puppet environment manifests The most cenvenient way to classify nodes is using Puppet environment manifests data. This is the default behavior for any Puppet Open Source installation. It uses the manifests directory structure which is ...

[ Read More ]

Puppet 5 has arrived!

rnelson0, 2 weeks, 5 days | Source: RNELSON0

If you missed the news this past week, the Puppet 5 Platform was released! Read the announcement and the release notes for some great details. Congratulations to everyone at Puppet for getting this new release out the door. I’m looking forward to diving in with it as soon as a Puppet Enterprise release is out, […]

[ Read More ]

Tip of the Week 26 - The PSICK Developer Environment Setup

Anonymous, 3 weeks, 4 days | Source: Example 42

Working on Puppet code with least possible effort requires a properly setup of a suitable workstation environment. Usually everybody starts playing around with different sets of utilities and tools, learning the hard way about the best usable setup. This article will guide you to a setup, providing a proper basis for initially working with PSICK, Puppet or Ruby in general. Puppet Development is based on Ruby. The first thing we need is a Puppet recommended Ruby version. As version can change from release to release, therefor we need some flexibility on Ruby versions being available. Puppet provides a website with ...

[ Read More ]

Where to store Puppet files and templates

rnelson0, 4 weeks, 1 day | Source: RNELSON0

I haven’t written a blog post in a while because I’ve been bogged down in work and life and not had much time in the lab. To make sure I don’t get too out of practice, I’m going to try writing some shorter tips and tricks articles. Let me know what you think. A few […]

[ Read More ]

puppet snmp module 3.8.1

Michael Arnold, 4 weeks, 1 day | Source: The Razor's Edge

Recently, I have delivered several long-awaited releases of my Net-SNMP to the Puppet Forge. Included are numerous fixes from community members: Change so that service_config_perms parameter, network, and community can be arrays. (Jordan Wesolowski) Add OpenBSD to the supported operating systems, similar to FreeBSD support. (Sebastian Reitenbach) Update README.markdown. (Rémy Garrigue) Create Parameters for template […]

[ Read More ]

Testing multiple Puppet versions with TravicCI (and allowing failures)

Dean Wilson (, 1 month, 2 weeks | Source: Dean Wilson@UnixDaemon

When it comes to running automated tests of my public Puppet code TravisCI has long been my favourite solution. It’s essentially a zero infrastructure, second pair of eyes, on all my changes. It also doesn’t have any of my local environment oddities and so provides a more realistic view of how my changes will impact users. I’ve had two Puppet testing scenarios pop up recently that were actually the same technical issue once you start exploring them, running tests against the Puppet version I use and support, and others I’m not so worried about.

This use ...

[ Read More ]

Announcing multi_epp - Puppet function

Dean Wilson (, 1 month, 2 weeks | Source: Dean Wilson@UnixDaemon

As part of refreshing my old puppet modules I’ve started to convert some of my Puppet templates from the older ERB format to the newer, and hopefully safer, Embedded Puppet (EPP).

While it’s been a simple conversion in most cases, I did quickly find myself lacking the ability to select a template based on a hierarchy of facts, which I’ve previously used multitemplate to address. So I wrote a Puppet 4 version of multitemplate that wraps the native EPP function, adds matching lookup logic and then imaginatively called it multi_epp. You can see an example of it ...

[ Read More ]

Declarative vs. Imperative paradigms

purpleidea, 2 months, 2 weeks | Source: The Technical Blog of James

Recently, while operating two different remote-controlled appliances, I realized that it was high time for a discussion about declarative and imperative paradigms. Let’s start by looking at the two remotes:


Two different “remotes”. The one on the left operates a television, and the one on the right controls a central heating and cooling system.

At first glance you will notice that one of these remotes is dark, and the other is light. You might also notice that my photography skills are terrible. Neither of these facts is very important to the discussion at hand. Is there anything interesting that ...

[ Read More ]

Talk about Choria and NATS

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

Recently I was given the opportunity by the folk to talk about Choria and NATS on one of their community events. The recording of the talk as well as the slide deck can be found below.

Thanks again for having me team!

[ Read More ]

vRealize Orchestrator Workflows for Puppet Enterprise

rnelson0, 3 months, 2 weeks | Source: RNELSON0

Over the past three years, my Puppet for vSphere Admins series has meandered through a number of topics, mostly involved on the Puppet side and somewhat light on the vSphere side. That changed a bit with my article Make the Puppet vRealize Automation plugin work with vRealize Orchestrator, describing how to use the plugin’s built-in […]

[ Read More ]

Metaparameters in mgmt

purpleidea, 4 months, 3 weeks | Source: The Technical Blog of James

In mgmt we have meta parameters. They are similar in concept to what you might be familiar with from other tools, except that they are more clearly defined (in a single struct) and vastly more powerful.

In mgmt, a meta parameter is a parameter which is codified entirely in the engine, and which can be used by any resource. In contrast with Puppet, require/before are considered meta parameters, whereas in mgmt, the equivalent is a graph edge, which is not a meta parameter. [1]


As of this writing we have seven different kinds of meta parameters:

[ Read More ]

Choria Update

R.I. Pienaar, 5 months, 1 week | Source: R.I.Pienaar -

Recently at Config Management Camp I’ve had many discussions about Orchestration, Playbooks and Choria, I thought it’s time for another update on it’s status.

I am nearing version 1.0.0, there are a few things to deal with but it’s getting close. Foremost I wanted to get the project it’s own space on all the various locations like GitHub, Forge, etc.

Inevitably this means getting a logo, it’s been a bit of a slog but after working through loads of feedback on Twitter and offers for assistance from various companies I decided to ...

[ Read More ]