Published on 15 August 2017 by

We are excited to announce the first release of our new open source Puppet Development Kit (PDK). Download it, get help installing it and then run through the Getting Started Guide to learn more.

With the Puppet Development Kit you can:

  • Quickly get started developing Puppet modules while using best practices and new integrated tools that enable you to develop, test and publish high-quality Puppet modules.
  • Shift quality to the left by catching issues earlier and faster, before Puppet code is applied to live infrastructure.
  • Unit-test modules from your workstation to ensure that Puppet code is creating and managing resources as intended.

The Puppet Development Kit addresses long-standing needs of our Puppet Enterprise and open source users, as well as our Technology Alliance Partners. Tools like puppet-lint and rspec-puppet have been around for a long time to help you catch issues in your code. However, you had to discover these tools, install them and figure out how to use them effectively on your own. With the Puppet Development Kit, we now take care of all that, so you don't have to.

For those of you writing your Puppet code on workstations that run Windows — and there are a lot of you! — it's important to us that you have a great experience while developing Puppet code. With the Puppet Development Kit, we’ve improved Windows support for all the included tools, and created a native package for Windows. Once you’ve installed the Puppet Development Kit on your Windows box, you can just open the PowerShell Console and start working. Of course, there are native packages for OS X and Linux as well.

The Puppet Development Kit arms our customers and partners with a bundle of helpful tools for anyone who writes or consumes Puppet code, plus a simple, unified interface to those tools. We’ve improved the module skeleton, and the Puppet Development Kit will generate modules and classes for you, plus get you started with unit testing.

The Puppet Development Kit introduces a new command line interface (CLI), named pdk, to provide a consistent interface for creating, developing and testing modules. Under the hood are puppet-lint, puppet-syntax, metadata-json-lint, rspec-puppet, rspec-puppet-facts and other tools.

To date, our vibrant community of customers, users and partners have contributed to more than 5,000 modules on the Puppet Forge — modules that help you automate everything from NTP and DNS to Apache, IIS, WebSphere, Microsoft Azure, Splunk, Docker and much more.

Puppet modules are the “batteries included” of automated configuration management, because they let you begin automating different parts of your infrastructure without having to write Puppet code from scratch. With this release, we’re providing you with the tools and prescriptive best practices you need to easily develop Puppet modules that are tested, hardened and trusted.

The Puppet Development Kit open source project lives at https://github.com/puppetlabs/pdk, and we’d love to get your comments and contributions.

If you're interested in being a part of the PDK as it develops, you can join our testers here: PDK testers

I’d like to thank the Puppet development team for the hours the spent making this release happen. I also want to thank the community members who offered the first feedback on the PDK, making this release so much better.

Lindsey Smith is a senior product manager in engineering at Puppet.

Learn more

Share via:
Posted in:

It'd be great to get this in the package repositories so it can be installed more easily by Puppet! (Downloading the pakage file and installing it is more effort)

Great tool! But I can't find a way to install it in Debian systems. Are there plans to release a Debian version, or at least a source code tarball? Thanks!

Add new comment

The content of this field is kept private and will not be shown publicly.

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.