Puppet Development Kit (PDK) is suite of CLI tools which assist puppet developers produce quality modules.
Puppetlabs developed the PDK to provide puppet developers a toolset which can streamline and speed up the process of module development using a common approach to classes, tasks, syntax linting and unit testing. For more information vist Puppet Development Kit official page
Puppet developers write code using Puppets own Domain Specific Language (DSL) which is a declarative language primarily whilst also being able to leveraging other languages such as Ruby for defined types and custom facts to extend its capabilities.
Other languages such as Bash, Python, PowerShell can also be used in certain cases to also extend Puppet's capabilities but these languages are restricted to specific cases such as exec resources and external facts.
To utilize PDK the appropriate installer will need to be downloaded and installed on your operating system which will then provide the commandline tools such as:
- pdk new <module/class/task>
- pdk test unit
- pdk validate.
While using PDK, its important to take note of the version that is installed and the Puppet version it relates to, to ensure best compatibility between the module and the puppet infrastructure being supported.