Planet Puppet

Your source of Puppet technical information

Continuous Delivery in a .NET Shop with Puppet Enterprise

Jason Moorehead, 3 days, 12 hours | Source: Puppet Labs

Application architect Jason Moorehead lists the steps & tools of continuous delivery at IP Commerce & talks about the business results. (Hint: They’re good!)

[ Read More ]

Featured Community Member: Igor Galic

Kara Sowles, 3 days, 12 hours | Source: Puppet Labs

The maintainer of the Apache and MySQL modules, Igor Galic, is our latest featured community member!

[ Read More ]

Don't Wait for the Future — Write It!

molly, 4 days | Source: Puppet Labs

Our customers are not change agents because they approach their work thinking, "I'm going to change things today!" Instead, they realize that not changing things means they're not willing to face the future.

[ Read More ]

Using Puppet Enterprise with Containers

michelle, 4 days, 7 hours | Source: Puppet Labs

In recent months we’ve received a lot of questions about how Puppet Enterprise works with containers. We have some really helpful resources for using Docker (like the Puppet Approved module), and I’d also like to point you toward the awesome talks given at this year's PuppetConf.

[ Read More ]

Call for papers for ConfigManagementCamp and FOSDEM Config Management room

walterheck, 5 days, 9 hours | Source: OlinData

One of my favorite conferences in 2014 was the first edition of Config Management Camp, back in February. A very rare occasion where we had major contributors and users from each of the current FOSS Configuration Management tools in a single building.  
We had three excellent keynotes in historical order by Mark Burgess, who brought us CFEngine, Luke Kanies, who brought us Puppet, and Adam Jacob who brought us Chef. None of them spoke about their own tool but instead they all discussed larger topics. Luke even did his keynote from the top of his head without any slides while ...

[ Read More ]

Testing OpsTheatre - Part One

Raj Kissu, 1 week, 3 days | Source: OlinData

Two months back OlinData announced OpsTheatre, a pluggable operations dashboard that runs on Node.js. Our in-house dev team believes this tool will be key in eliminating a growing issue in the DevOps community - the duplication of Operations Management tools. On top of that, we open sourced the project as we believe community support and involvement will be integral in the realization, manifestation and shaping of this vision.

Having released it to the public as soon as we were done with the Minimum Viable Product (MVP), I am glad to see that certain parties have started taking interest in this ...

[ Read More ]

The Foreman Windows deployment

Hendricus Kramer, 3 weeks | Source: Puppet Blog

This blog describes how you can use the foreman to deploy a windows machine.

note: This is still under development but can give you a quick start on developing a automated system.


  1. Puppetmaster with the Foreman installed
  2. the Foreman PXE/TFTP function is functional
  3. a Microsoft WDS server
  4. a Windows OS dvd

When you installed a WDS server i can recommend to allow all devices without requiring administrators to approve a new device.

Logon to the Foreman

Step 1: Go to hosts -> Operating Systems -> New operating system

tab: Operating System
name: Windows Server (just give it a name)
major ...

[ Read More ]

Linting metadata.json

Spencer Krum, 3 weeks, 2 days | Source: Puppet a day


gem install metadata-json-lint
cd my_puppet_module/
metadata-json-lint metadata.json

In the recent past, the metadata.json file has replaced the Modulefile as the place where metadata about a Puppet module is kept. The Modulefile has a simple syntax and the Puppet module tool would generate the metadata.json from it.

Now, we must write our own metadata.json files. This leads to errors because json is a data format and humans suck at writing and reading it.

Tooling to work with this is in flight. Currently geppetto has some tooling in it to do something with ...

[ Read More ]

The Foreman Installation Script

Henry den Hengst, 3 weeks, 6 days | Source: Puppet Blog

The Foreman gives Puppet a webgui interface, which is nice for daily routines.

To get you kickstarted real quick I wrote a straight forward bash script which has the documentation to get you going as well.

Good luck!

# puppet with TheForeman for ubuntu 14.04 LTS server
# use default hostname: ubuntu, when installing your ubuntu server
# when using a VM connect first with SSH so you can copy the code
# easier into a shell script (
# HOWEVER, after that execute the script from the VM console
# cause otherwise you'll loose connection after the IP had been ...

[ Read More ]

Simple and powerful reusability features every module should have

Anonymous, 1 month | Source: Example 42

The quality of Puppet modules is constantly increasing, for each relevant application there’s a good module to manage it.

They may have different structures, feature sets, OS coverage and naming conventions (:-I) but most of the times the better modules around do their work.

Still, often, also in some of the most popular modules, I desperately miss a few basic features that would allow me to use them without being forced to make a local fork.

Whenever we have to modify a public module to adapt it to our needs, we have a reusability failure IMHO.

The good news ...

[ Read More ]

Policy based autosigning, a step towards more secure deployments with Puppet

Yanis Guenane, 1 month | Source: eNovance Puppet Blog

Puppet is a key component in server deployment and configuration automation. When nodes successfully get provisioned by a Puppet master they retrieve all sorts of data, some which might be both confidentials and criticals. It is then mandatory to ensure that only authorized instances or nodes are allowed to retrieve such data. In today elastic systems and cloud era, it is very important that enrollment and management of servers be both as streamlined and secured as possible, but both of these requirements often conflict, as security is often a blocker to automation. PuppetLabs has been working hard on finding elegant ...

[ Read More ]

Ansible and Salt

Anonymous, 1 month, 1 week | Source: david.log

Motivated by Florian Haas I've looked into Ansible and Salt Stack. After spending most of the day reading the docs, I've achieved a certain grasp of the functionality of both systems. Here's my summary.


Ansible and Salt use some common concepts and share a surprising number of technical details that I've put them up here, to be able to concentrate on the unique features below.

  • Implementation language: implemented in python.
  • Syntax and templating: YAML files and the Jinja templating language are used as basic building blocks for their instructions. The underlying data model is totally ...

[ Read More ]

Turning the Brownfield Green - aka Puppet and "Deploy to Noop"

Nathan Valentine, 1 month, 1 week | Source: Differently Ambitious

This is not my beautiful house!

I'm going to tell you a story. You are the protagonist in this story and you are in TechOps or perhaps you are a Developer.

There are things you enjoy about your work: you enjoy learning and mastering new technoloigies, you get satisfaction from knowing that the systems you design are resource efficient and reliable, and lastly you enjoy using your skills to solve problems with your team members and for your employer. Because you enjoy these things you spend lots of time, considerable free time even, keeping up with the state-of-the-art and ...

[ Read More ]

Brief insight on the all new Puppet Server!

Choon Ming Goh, 1 month, 2 weeks | Source: OlinData

It has been a while since the PuppetConf 2014 ended in San Francisco and there are lot of news that came out of it as usual. But, the biggest news is during the keynote that Luke Kanies, CEO of PuppetLabs announced there will be a new Puppet Server. A new Puppet Server? Yup. A Puppet Server and its not the same as our current Puppet Master. Curious on what this means I decided to check out the preview. All my opinions stated below are my own and does not reflect any of OlinData or PuppetLabs.


When Luke announced the ...

[ Read More ]

Example42 goes Org

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

The Github account where all the Example42 Puppet modules have been published so far, is now an organization on GitHub.

This change is not only “a flag in a db record”, but involves a new approach on how Example42 Puppet modules are going to be maintained.

The effort to keep this modules set updated and in good shape was becoming overwhelming for a single person not even working on them full time.

Rspec tests and Travis integration were breaking, support for new OSes was not introduced timely, bugs and sometimes pull requests had been ignored for too much time.

This ...

[ Read More ]

Getting comfortable...

Anonymous, 1 month, 2 weeks | Source: david.log

Used a slow afternoon to get the next example42 to pass its tests again. Also rebased my sundry of changes from last year on top of the upstream development since then. I'll drip in the commits later one by one to avoid a too confused git history.

[ Read More ]

Continuous integration for Puppet modules

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

I just patched puppet-gluster and puppet-ipa to bring their infrastructure up to date with the current state of affairs…

What’s new?

  • Better README’s
  • Rake syntax checking (fewer oopsies)
  • CI (testing) with travis on git push (automatic testing for everyone)
  • Use of .pmtignore to ignore files from puppet module packages (finally)
  • Pushing modules to the forge with blacksmith (sweet!)

This last point deserves another mention. Puppetlabs created the “forge” to try to provide some sort of added value to their stewardship. Personally, I like to look for code on github instead, but nevertheless, some do use the forge. The ...

[ Read More ]

Facter: Ansible facts in Puppet

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

Have you ever needed to access Ansible facts from inside Puppet? well, if you ever need to, you can use the basic ansible_facts custom fact.

    # make sure you have ansible installed
    $ sudo puppet resource package ansible ensure=present

    # clone my experimental puppet fact repo
    $ git clone

    # Try running the fact
    $ ruby -I unixdaemon-puppet_facts/lib/ `which facter` ansible_facts -j
      "ansible_facts": {
        "ansible_architecture": "x86_64",
        "ansible_bios_date": "04/25/2013",
        "ansible_bios_version": "RKPPT%$DSFH.86A.0457.20DF3.0425.1251",
        "ansible_cmdline": {
        ... snip ...

While it's nice to see the output in facter you need to make a small change to your ...

[ Read More ]

Puppet 3.7 File Function Improvements

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

Puppet's always had a couple of little inconsistencies when it comes to the file and template functions. The file function has always been able to search for multiple files and return the contents of the first file found but it required absolute paths. The template function accepts module based paths but doesn't allow for matching on the first found file. Although this can be fixed with the Puppet Multiple Template Source Function.

One of the little niceties that came with Puppet 3.7 is an easily missed improvement to the file function that makes using it easier and ...

[ Read More ]

Puppet Module Testing

Anonymous, 1 month, 3 weeks | Source: david.log

Today I've invested a bit of time into getting modules back into shape. The first was Alessandro's excellent puppet module. The PR had six commits in the end, fixing the various nits that travis complained about. Nothing fancy, but annoying anyways. Now that this is green again, perhaps a little bit more care with new contributions can be taken.

I've also added some other improvements I was sitting on for far too long:

Also, Alessandro has posted an offer for shared maintainership on the example42 modules.

[ Read More ]