Planet Puppet

Your source of Puppet technical information

The UX-ening of role-based access control for Puppet Tasks

Melinda Campbell, 3 days, 1 hour | Source: Puppet Labs

Take a look behind the scenes at the UX work that went into the new role-based access control (RBAC) for Puppet Tasks feature in Puppet Enterprise 2018.1.

[ Read More ]

Tip of the Week 73 - Migrate from Hiera v3 to Hiera v5

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

Hiera is the Puppet implementation of separating code from data. This concept allows you to describe your infrastructure in code and to let you put differences among your platform into the data source: e.g. different NTP servers or different password for databases. With Puppet 4.9 Hiera config version 5 was introduced. The new Hiera version allows you to place data globally, in environments and modules. As of Puppet 4.9.2 Hiera has the following data backends included: yaml json eyaml (hiera-eyaml gem still required) This posting describes how to migrate from Hiera config version 3 to the ...

[ Read More ]

Congratulations to CRN's 2018 Women of the Channel

John Schwan, 1 week | Source: Puppet Labs

CRN honors Meghan Marks and Kristina Onyon as 2018 Women of the Channel!

[ Read More ]

Meet Puppet Strings 2.0.0

Eric Putnam, 1 week, 4 days | Source: Puppet Labs

Puppet Strings has been revived and has some new features we think you’ll enjoy!

[ Read More ]

Tip of the Week 72 - Puppet [custom] data types

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

One of the most powerful features introduced with Puppet 4 is the new type system. For every variable or parameter in Puppet can be defined the type of data we can expect for it. We typically use the type system to validate the kind of data expected for classes or defines parameters. For example, Puppetlabs’ ntp module has the ntp class which has parameters like these: class ntp ( Boolean $broadcastclient, Stdlib::Absolutepath $config, Optional[Stdlib::Absolutepath] $config_dir, String $config_file_mode, Optional[String] $config_epp, Enum['running', 'stopped'] $service_ensure, Variant[Boolean, Integer[0,1]] $tos_cohort, ... These few lines give us a good idea ...

[ Read More ]

Troubleshooting potential issues in Puppet Enterprise: How to learn more

Paul Schaffer, 2 weeks, 1 day | Source: Puppet Labs

Peek behind the curtain as one of Puppet’s support engineers walks you through the basics of troubleshooting in Puppet Enterprise.

[ Read More ]

Tip of the Week 71 - Testing Puppet Enterprise 2018.1

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

A few days ago a new release of Puppet Enterprise (PE), the first of 2018, has been published. This is a LTS release which is going to be supported until 2020. The major improvements, compared to the previous release, are in the Tasks and Plans integrations, with improved Role Based Access Control to manage with more granularity what tasks can be run by each user. One of the most valuable selling points of Puppet Enterprise have been the visualisation options that really give a meaning to the term “infrastructure awareness” (facts, reports, events, catalog graphs… there’s really a lot ...

[ Read More ]

Tip of the Week 70 - example42 Puppet Tutorial - Part 4

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

example42 Puppet Tutorial - Part 4 This is the last post of a series of articles covering an introduction to Puppet. In the first post I started with Puppet agent installation and how to use Puppet and Facter to analyse your system. Next topics have been the introduction to the Puppet programming language (DSL), how to setup the central Puppet master and how to connect Puppet agents to the Puppet master. The second posting covered cover Puppet modules, code logic and variables and how to add external facts to your systems. Besides this I introduced parameters and the concept of separating ...

[ Read More ]

Choria Progress Update

R.I. Pienaar, 1 month | Source: R.I.Pienaar -

It’s been a while since my previous update and quite a bit have happened since.

Choria Server

As previously mentioned the Choria Server will aim to replace mcollectived eventually. Thus far I was focussed on it’s registration subsystem, Golang based MCollective RPC compatible agents and being able to embed it into other software for IoT and management backplanes.

Over the last few weeks I learned that MCollective will no longer be shipped in Puppet Agent version 6 which is currently due around Fall 2018. This means we have to accelerate making Choria standalone in it’s own right ...

[ Read More ]

Adding rich object data types to Puppet

R.I. Pienaar, 1 month, 3 weeks | Source: R.I.Pienaar -

Extending Puppet using types, providers, facts and functions are well known and widely done. Something new is how to add entire new data types to the Puppet DSL to create entirely new language behaviours.

I’ve done a bunch of this recently with the Choria Playbooks and some other fun experiments, today I’ll walk through building a small network wide spec system using the Puppet DSL.


A quick look at what we want to achieve here, I want to be able to do Choria RPC requests and assert their outcomes, I want to write tests using the Puppet ...

[ Read More ]

10 years of Puppet… and counting

Raphaël Pinson, 3 months | Source: Camptocamp Blog

In 2015, Puppet celebrated its 10th anniversary. At Camptocamp, Puppet has totally revolutionized our way of doing systems administration!

Cet article 10 years of Puppet… and counting est apparu en premier sur Camptocamp.

[ Read More ]

Free Puppet Webinar on March 13, 2018

camptocamp, 3 months | Source: Camptocamp Blog

Join our Puppet webinar and delve into fully tested dockerized Puppet Infrastructure.

Cet article Free Puppet Webinar on March 13, 2018 est apparu en premier sur Camptocamp.

[ Read More ]

Self-documenting Puppet modules with puppet-strings

rnelson0, 5 months, 2 weeks | 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 ]

Automatic renewal of Puppet Certificates

Raphaël Pinson, 6 months | Source: Camptocamp Blog

Everyone who has been using Puppet with a self-signed CA for more than 5 years knows that dreaded time: the time when the CA must be renewed.

Cet article Automatic renewal of Puppet Certificates est apparu en premier sur Camptocamp.

[ Read More ]

Open Source Summit, Paris

camptocamp, 6 months | Source: Camptocamp Blog

A major event of the Free and Open Source industry in Europe, the Paris Open Source Summit is the international echo chamber for the multiple contributions of Free and Open Source to current and future digital revolutions.

Cet article Open Source Summit, Paris est apparu en premier sur Camptocamp.

[ Read More ]

Managing multiple puppet modules with modulesync

Dean Wilson (, 6 months, 1 week | 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, 6 months, 2 weeks | 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, 7 months, 1 week | 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, 7 months, 2 weeks | 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, 7 months, 2 weeks | 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 ]