Developing modules with PDK
Create a complete module with classes, defined types, and tasks, and test and validate your work as you go.
PDK provides a complete module structure, templates for classes, defined types, and tasks, and a testing infrastructure. You can validate and test your module against various operating systems and multiple Puppet versions.
You can also 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.
PDK development workflow
-
Create a module or convert an existing module to make it compatible with PDK.
-
Validate your module to verify that it is well-formed.
-
Unit test your module to verify that all dependencies and directories are present.
-
Generate classes, defined types, or tasks in your module.
-
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 Puppet Enterprise (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.
In this section: