Planet Puppet

Your source of Puppet technical information

Hybrid management of FreeIPA types with Puppet

jamesjustjames, 14 hours, 25 minutes | Source: The Technical Blog of James

(Note: this hybrid management technique is being demonstrated in the puppet-ipa module for FreeIPA, but the idea could be used for other modules and scenarios too. See below for some use cases…)

The error message that puppet hackers are probably most familiar is:

Error: Duplicate declaration: Thing[/foo/bar] is already declared in file /tmp/baz.pp:2; 
cannot redeclare at /tmp/baz.pp:4 on node

Typically this means that there is either a bug in your code, or someone has defined something more than once. As annoying as this might be, a compile error happens ...

[ Read More ]

F5 and Puppet Supported

Lori MacVittie, 21 hours, 30 minutes | Source: Puppet Labs

This post was originally written and published on F5 Networks DevCentral by Lori MacVittie, Principal Technical Evangelist at F5 Networks.

[ Read More ]

Starting with Puppet: Basics from a Puppet Labs Employee

Elizabeth Wittig, 1 day, 3 hours | Source: Puppet Labs

Learning Puppet can be like drinking from a fire hose. Here is a guide to basic terms and resources to help you learn.

[ Read More ]

F5 and Puppet Enterprise for Application Service Management

Matt Quill, 2 days, 3 hours | Source: Puppet Labs

DevOps is becoming increasingly important to F5 customers, so the company provides configuration management for its application delivery devices with Puppet Enterprise.

[ Read More ]

Happy SysAdmin Appreciation Day! It’s Another GIF Showdown.

molly, 3 days, 3 hours | Source: Puppet Labs

The 3rd annual SysAdmin Appreciation Animated GIF Contest is here. Submit your sysadmin-themed GIFs to win prizes & vote for your favorites.

[ Read More ]

Extending Puppet

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

Last November I was contacted by Llewellyn Rozario, Acquisition Editor from Packt Publishing, asking me to write a book about Puppet.

That has been an unexpected and welcomed surprise, I’ve never written a book and hardly considered the opportunity to write one, but the idea seemed too much appealing to be dismissed.

The editor requested a book about how to extend Puppet functionalities with Ruby code, but in my own opinion there where some more interesting topics to talk about.

I proposed a completely revised table of contents and a different title.

I wanted to write about all the ...

[ Read More ]

Learning Puppet at the Puppet Pizza Place

Anonymous, 4 weeks | Source: People & Software

#Learning Puppet at the Puppet Pizza Place In this set of blog posts, I will teach you the base concepts of the [puppet DSL]( Most of the time Puppet is taught within the context of IT configuration management. I've chosen not to do so. I've chosen baking pizza's as the learning environment. It helps less technical people, like IT managers, for example, to get the concepts of Puppet. ## Pietro's Puppet Pizza Place Pietro was worn out. He'd had a very busy day at his pizza place. Business was going well. Too ...

[ Read More ]

Rethinking modules - Part 2

Anonymous, 1 month | Source: Example 42

In the first part of this blog series I expressed my opinions about these points:

  • The general reusability features a component module should have
  • The difference between component and higher abstraction modules
  • What are the challenges we have to face when we want to make reusable higher abstraction modules

I also underlined two fundamental issues that I think are still open in the Puppet modules ecosystem:

  • Patterns to extend reusability of higher abstraction layer modules
  • Standardization in the component application modules

Some preliminary exploration on the first topic has been expressed in Part 1. There’s much more to do ...

[ Read More ]

Tackling Windows with Puppet!!

Choon Ming Goh, 1 month | Source: OlinData

And I'm back!! It has been a long 3 months for me. For those who is not aware, I've been in the UAE working on-site for a client project. It is a very challenging project for a *nix Systems Administrator like me because the project was to automate a large number of Windows applications for a client. Windows! The first thing that came into my mind was the horror of using Windows but at the same time I'm rather excited because it is an uncharted domain for both me and OlinData as we've never work with ...

[ Read More ]

Optionally Typed Parameters

Henrik Lindberg (, 1 month | Source: Puppet on the Edge

Optionally Typed Parameters

And now, the latest entry in the series about the new Puppet Type System introduces the capability to optionally type the parameters of defines, classes, lambdas and EPP template parameters.

There are also some new abilities and changes to the type system that I will cover in this post.

Optionally Typed Parameters

Writing high quality puppet code involves judicious use of type checking of given arguments. This is especially important when writing modules that are consumed by others. Anyone having written a serious module knows that it is a chore to not only deal with all of ...

[ Read More ]

The Puppet Type System Blog Posts

Henrik Lindberg (, 1 month | Source: Puppet on the Edge

The Puppet Type System

In Puppet 3.5's future parser there is a new type system that makes it much easier to write validation logic for parameters (and much more). I have written a series of blog posts about the new type system - and this post is just an index to the series.

It works best if they are read in the order they were published:

[ Read More ]

EC2 provisioning using Foreman

Ohad Levy (, 1 month, 1 week | Source: The Foreman: Blogs

One of foreman goals, is to provide a simple and familiar process to provision systems, regardless of where they are located.

We've now added the ability to provision systems in EC2, alongside with the existing virtualization providers such as RHEVM, libvirt, VMWare etc.

In this blog, I'll try to describe step by step what is required in order to provision a new instance in EC2.


  • You should be using a recent version of foreman, either directly from git, or using the nightly, see for git instruction, or use the debian, redhat or fedora nightly packages.
  • Have a ...

[ Read More ]

Getting foreman search results into your Puppet manifest

Ohad Levy (, 1 month, 1 week | Source: The Foreman: Blogs

Lets say you want to know all of the hosts your monitoring host need to monitor, or maybe, the hosts to which your database needs to allow access to, traditionally, the solution to this problem was using Puppet storeconfigs.

In this blog post, I mentioned how you could utilize foreman search language to get customized results.

While storeconfigs is a great solution, and if it works for you, by all means, please do keep using it, but in this post I would like to show you how to use Foreman to query for similar data + foreman data as well.

Lets ...

[ Read More ]

Securely managing secrets for FreeIPA with Puppet

jamesjustjames, 1 month, 2 weeks | Source: The Technical Blog of James

Configuration management is an essential part of securing your infrastructure because it can make sure that it is set up correctly. It is essential that configuration management only enhance security, and not weaken it. Unfortunately, the status-quo of secret management in puppet is pretty poor.

In the worst (and most common) case, plain text passwords are found in manifests. If the module author tried harder, sometimes these password strings are pre-hashed (and sometimes salted) and fed directly into the consumer. (This isn’t always possible without modifying the software you’re managing.)

On better days, these strings are kept separate ...

[ Read More ]

Jenkins, Puppet, Graphite, Logstash and YOU

Kris Buytaert, 1 month, 2 weeks | Source: Everything is a Freaking Puppet problem

This is a repost of an article I wrote for the Acquia Blog some time ago.

As mentioned before, devops can be summarized by talking about culture, automation, monitoring metrics and sharing. Although devops is not about tooling, there are a number of open source tools out there that will be able to help you achieve your goals. Some of those tools will also enable better communication between your development and operations teams.

When we talk about Continuous Integration and Continuous Deployment we need a number of tools to help us there. We need to be able to build reproducible ...

[ Read More ]

Hiera data in modules and OS independent puppet

jamesjustjames, 1 month, 2 weeks | Source: The Technical Blog of James

Earlier this year, R.I.Pienaar released his brilliant data in modules hack, a few months ago, I got the chance to start implementing it in Puppet-Gluster, and today I have found the time to blog about it.

What is it?

R.I.’s hack lets you store hiera data inside a puppet module. This can have many uses including letting you throw out the nested mess that is commonly params.pp, and replace it with something file based that is elegant and hierarchical. For my use case, I’m using it to build OS independent puppet modules, without storing ...

[ Read More ]

Rethinking modules - Part 1

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

I’m somehow obsessed by Puppet modules, it must be a rare syndrome, and I hope self awareness is the first step towards its cure.

I’ve passed years developing modules, trying to find ways to make them useful, usable and reusable. Most of the times I wrote them while working on specific Puppet projects, trying to figure out how they could be used in different circumstances.

I’ve redefined my opinions on how to design them over time, following the evolution of Puppet, the best practices of the moment, the feedback I received from other users and my own ...

[ Read More ]

puppet snmp module 3.1.0

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

Today, I have released a minor update to my Puppet module for Net-SNMP to the Puppet Forge. Included are some long outstanding fixes from community members: Add the missing service class parameter (Clint Miller) Support for custom VACM com2sec and group mappings (Steve Maddison) Support for FreeBSD (Hunter Satterwhite) Let me know if […]

[ Read More ]

Puppet caching

Daenney, 2 months | Source: Puppet a day

With Puppet 3.6 out the door and the new caching mechanisms it provides I started exploring how to do caching with Puppet. A thank you goes out to Ken Barber of Puppet Labs and Erik Dalén of Spotify for their help on this quest.

The first thing I wanted to do is use the new caching mechanism for directory based environments on Puppet 3.6 in such a way that our production environment would be cached forever. Of course we also need a way to invalidate that cache when we deploy but between two deploys this code never ever ...

[ Read More ]

How to judge modules from the puppet forge

walterheck, 2 months | Source: OlinData

On the puppet module forge we find a lot of modules (around 2400 at the time I'm writing this). However, anyone who has looked around the puppet forge has figured out that a lot of these modules are of questionable quality, and that's putting it nicely.

In the puppet fundamentals training we give, there's a chapter about the puppet forge. One of the questions i always get is "how can I distinguish the good modules from the bad ones?". The problem is that there's not a single answer to that question. However, there are a number ...

[ Read More ]