Planet Puppet

Your source of Puppet technical information

Tip of the Week 17 - Technical Puppet Workshop, May 17th, Frankfurt

Anonymous, 13 hours, 6 minutes | Source: Example 42

This week the tip is for a real world event about Puppet. Could be our best tip so far :-) example42 announces the first german speaking Technical Puppet Workshop. The event takes place at Sheraton Frankfurt Airport Hotel & Conference Center, located directly at Frankfurt International airport, on Wednesday, May 17th. This workshop is aimed at systems administrators who use Puppet to manage their infrastructure and want to learn more about Puppet. The whole event is free for registered attendees. You will receive an email from Puppet shortly with further details. example42 customers have already been informed about this event. The ...

[ Read More ]

Private Puppet training delivers ROI

Stephanie Stouck, 3 days, 1 hour | Source: Puppet Labs

Private Puppet training offers a cost-effective option to get your entire team up to speed on Puppet, with examples and discussion specific to for your organization.

[ Read More ]

What's new in modules: March/April 2017 edition

Eric Putnam, 5 days, 2 hours | Source: Puppet Labs

Find out what's new on the Puppet Forge — new module releases, the first internationalized Puppet module, and loads of ways to automate your IT tasks.

[ Read More ]

Upgrading to Puppet 4 at GitHub

Kevin Paulisse, 1 week | Source: Puppet Labs

How GitHub used catalog difference analysis with octocatalog-diff to complete its zero-downtime Puppet 4 upgrade and migration to Puppet Server.

[ Read More ]

Tip of the Week 16 - Hiera 5

Anonymous, 1 week | Source: Example 42

With the release of Puppet 4.9, version 5 of Hiera has landed on our Puppet servers, introducing some very interesting evolutions. Hiera is Puppet’s builtin key/value data lookup system, which has some peculiar characteristics: It’s hierarchical: We can configure different hierarchies of data sources and these are traversed in order to find the value of the desired key, from the layer at the top, to the one at the bottom It has a modular backend system: data can be stored on different places, according to the used plugins, from simple Yaml or Json files, to MongoDb ...

[ Read More ]

Up your game at PuppetConf 2017

Stephanie Stouck, 1 week, 4 days | Source: Puppet Labs

Puppet training courses available at PuppetConf 2017: Intro to Puppet; Puppetizing Infrastructure; and Puppet Fundamentals, Practitioner & Architect.

[ Read More ]

Tip of the Week 15 - Environment enforcement

Anonymous, 2 weeks | Source: Example 42

Think about the following situation: You have a node running in development environment. A user logs in and runs puppet agent --test --environment production. What will happen: the node will receive production ready code. This is OK… but… what if you use the environment to also pass data like passwords, users, accounts to your nodes? In this case the development system will have all production data and users are happy that they now can connect to your production database. If you would not like to allow this, you have to make use of an external nodes classifier (ENC). An ENC ...

[ Read More ]

vRealize Orchestrator Workflows for Puppet Enterprise

rnelson0, 2 weeks, 3 days | 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 ]

Tip of the Week 14 - Puppet Continuous Integration with GitLab

Anonymous, 3 weeks | Source: Example 42

GitLab is a versatile Open Source tool to manage your code repositories. It’s often used on premise to host private code projects, something like a private GitHub. We often use it to host our Puppet code and we have started to appreciate its multiple features, one of them is the integrated CI engine. It’s incredibly easy to use and powerful, you can design your CI pipeline in a file called .gitlab-ci.yml at the root directory of your control repo. GitLab will automatically interpret it whenever there are changes in your repo code, and try to use GitLab ...

[ Read More ]

Connecting Puppetboard to Puppet Enterprise

rnelson0, 1 month, 1 week | Source: RNELSON0

Last week, I moved the home lab to Puppet Enterprise. One of the things I love about PE is the Console. However, I am a member of Vox Pupuli and we develop Puppetboard (the app AND the module) so it is convenient for me to use it and tie it into PE as well. Though […]

[ Read More ]

What goes in a Puppet Role or Profile?

rnelson0, 1 month, 2 weeks | Source: RNELSON0

The Roles and Profiles pattern by Craig Dunn is a very common pattern used by Puppet practitioners. I’ve written about it before. One of the most common questions I see is, what goes into a Role or Profile class? Craig’s article provides some guidelines, specifically these two:   A role includes one or more profiles […]

[ Read More ]

Migrating my home lab from Puppet OpenSource to Puppet Enterprise

rnelson0, 1 month, 2 weeks | Source: RNELSON0

I have been using Puppet Enterprise at work and Puppet OpenSource at home for a few years now. There’s a lot to love about both products, but since work uses PE and new features tend to land there first, I have been thinking about trying PE at home as well. I don’t have a large […]

[ Read More ]

Metaparameters in mgmt

purpleidea, 1 month, 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, 2 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 ]

Red Hat Summit 2017 S102320: Button Push Deployments With Integrated Red Hat Open Management

laurent, 2 months, 3 weeks | Source: Laurent Domb Blog

My 2017 redhat summit talk Button Push Deployments With Integrated Red Hat Open Management got accepted. I have the big honor of sharing the talk not just with my last years co presenter Michael Dahlgren but also with Red Hat EMEA’S configuration management extraordinaire Maxim Burgerhout.

As we combine our talks you can expect an awesome mixture of different demos and showcases around Red Hat Open Management.

[ Read More ]

Choria Playbooks – Data Sources

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

About a month ago I blogged about Choria Playbooks – a way to write series of actions like MCollective, Shell, Slack, Web Hooks and others – contained within a YAML script with inputs, node sets and more.

Since then I added quite a few tweaks, features and docs, it’s well worth a visit to to check it out.

Today I want to blog about a major new integration I did into them and a major step towards version 1 for Choria.


In the context of a playbook or even a script calling out to other system there’s ...

[ Read More ]

Ten minute hacks: Process pause & resume

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

I’m old school and still rocking an old X220 laptop because I didn’t like the new ones. My battery life isn’t as great as I’d like it to be, but it gets worse when some “webapp” (which I’d much rather have as a native GTK+ app) causes Firefox to rev my CPU with their websocket (hi gmail!) poller.

This seems to happen most often on planes or when I’m disconnected from the internet. Since it’s difficult to know which tab is the offending one, and since I might want to keep that tabs ...

[ Read More ]

Choria Playbooks

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

Today I am very pleased to release something I’ve been thinking about for years and actively working on since August.

After many POCs and thrown away attempts at this over the years I am finally releasing a Playbook system that lets you run work flows on your MCollective network – it can integrate with a near endless set of remote services in addition to your MCollective to create a multi service playbook system.

This is a early release with only a few integrations but I think it’s already useful and I’m looking for feedback and integrations to build ...

[ Read More ]

An update on my Choria project

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

Some time ago I mentioned that I am working on improving the MCollective Deployment story.

I started a project called Choria that aimed to massively improve the deployment UX and yield a secure and stable MCollective setup for those using Puppet 4.

The aim is to make installation quick and secure, towards that it seems a common end to end install from scratch by someone new to project using a clustered NATS setup can take less than a hour, this is a huge improvement.

Further I’ve had really good user feedback, especially around NATS. One user reports 2000 nodes ...

[ Read More ]

Send/Recv in mgmt

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

I previously published “A revisionist history of configuration management“. I meant for that to be the intro to this article, but it ended up being long enough that it deserved a separate post. I will explain Send/Recv in this article, but first a few clarifications to the aforementioned article.


I mentioned that my “revisionist history” was inaccurate, but I failed to mention that it was also not exhaustive! Many things were left out either because they were proprietary, niche, not well-known, of obscure design or simply for brevity. My apologies if you were involved with Bcfg2, Bosh, Heat ...

[ Read More ]