Puppet Development Kit (PDK) is a package of development and testing tools to help you create great Puppet modules.

PDK includes key Puppet code development and testing tools for Linux, Windows, and Mac OS X workstations, so you can install one package with the tools you need to create and validate new modules. PDK includes testing tools, a complete module skeleton, and command line tools to help you create, validate, and run tests on Puppet modules. PDK also includes all dependencies needed for its use.

You can convert existing modules to make them compatible with PDK. This allows you to use all of the creation, validation, and testing tools in PDK with the converted module.

Note: We are always trying to improve PDK to better suit the needs of our users --- and we would love to get your help. To help us plan the future of PDK and get early exposure to new releases and features, please register as a tester.

Developing modules with PDK

  1. Create a module or convert an existing module to make it compatible with PDK.

  2. Validate your module to verify that it is well-formed.

  3. Unit test your module to verify that all dependencies and directories are present.

  4. Generate classes, defined types, or tasks in your module.

  5. Validate and test your module each time you add new functionality.

When you validate and run unit tests on your module, you can check it against specific versions of Puppet and PE. This can help you ensure compatibility with multiple versions of Puppet and make upgrades smoother. 

PDK can unit test code that it generates, but for any other code you add, you'll need to write unit tests. As you add code to your module, validate and unit test your module before and after adding code. This ensures that you are always developing on a clean, valid codebase.

Back to top