[ANN] Puppet Development Kit (pdk) preview (0.6.0)

23 views
Skip to first unread message

Lindsey Smith

unread,
Aug 8, 2017, 10:58:39 PM8/8/17
to puppe...@googlegroups.com
I am happy to announce the release of version 0.6.0 of the Puppet Development Kit (PDK) to the Puppet community. The open-source PDK facilitates an easy, unified development workflow for Puppet modules, and should appeal both to newcomers and experienced developers.

For a list of enhancements and bug fixes since the 0.5.0 release, please refer to the included CHANGELOG (https://github.com/puppetlabs/pdk/blob/master/CHANGELOG.md#v060-2017-08-08).

With the PDK you can:
  • Quickly get started with module development best practices and tools to develop, test and publish high-quality Puppet modules with confidence
  • Shift quality to the left by catching issues earlier and faster, before Puppet code is applied to live infrastructure
  • Unit test modules from their workstation to ensure that Puppet code is creating and managing resources as intended
You can learn more about how to install and use the PDK by reviewing the README (https://github.com/puppetlabs/pdk) or the Getting Started guide (https://github.com/puppetlabs/pdk/blob/master/docs/pdk.md).

OS native packages are available for a variety of platforms:
The OS native packages constitute a complete, "batteries-included" development environment including Ruby and all other dependencies necessary for using the PDK.

In addition, the core 'pdk' gem is available on Rubygems (https://rubygems.org/gems/pdk).

Note that we consider this a pre-release/tech preview. This iteration of the PDK is feature complete and we want to get your feedback now as we work towards a 1.0 release.

Please report any issues you find as a ticket on the PDK (https://github.com/puppetlabs/pdk/issues/) project in GitHub.


Known Issues
  • Windows packages require PowerShell 5+ and a script “ExecutionPolicy” of at least “RemoteSigned” (Future releases will work all the way up to “AllSigned”.)

Corey Osman

unread,
Aug 11, 2017, 2:07:00 PM8/11/17
to Puppet Developers
I haven't messed with PDK yet.  What problems is this new tool solving though?  How is it different from puppet-retrospec?  https://github.com/nwops/puppet-retrospec

Bundling ruby was a good idea and all the gems.



Corey

David Schmitt

unread,
Aug 11, 2017, 2:44:06 PM8/11/17
to puppe...@googlegroups.com
On 11 August 2017 at 19:06, Corey Osman <co...@logicminds.biz> wrote:
I haven't messed with PDK yet.  What problems is this new tool solving though?  How is it different from puppet-retrospec?  https://github.com/nwops/puppet-retrospec

The main problems the PDK attacks today are
  • Complexity of setting up a development environment. Especially ruby on windows is ... uncooperative. With the native packages you're up and running within seconds after you have downloaded them. Additionally, the current packages are built using the puppet 4 ruby (and future versions will *also* contain the puppet 5 ruby, supporting new releases as we go), which means you'll get high assurance, that your (native) code will run on the agent.
  • The first 60 minutes of development. With at least five different major module skeletons, and generators (puppet module generate, garethr/puppet-module-skeleton, voxpupuli's modulesync configs, puppetlabs' modulesync_config, example42), and a host of useful tools (linters, checkers, rspec-puppet, etc) newcomers to module development have to invest much to get to a fully-featured workflow. With the PDK, `pdk new module something` will get you going with the basic set today, without any further configuration necessary.
  • Based off the last point, establishing a unified workflow, and building a set of baseline recommendations.
  • Focus and promotion of community efforts. We really want to make sure that in the end as many folks as possible are using the broadest set of useful tools to improve their day-to-day work. The work you can see in v0.6, is only the first step on that road. Until then, at least there is `pdk bundle` so that all the tools that we currently do not support natively can still benefit from the pdk's runtime unchanged.

Bundling ruby was a good idea and all the gems.

Thank you :-)

Happy weekend, David

--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/e873cfd1-a2ac-44f8-b1ba-bba35bc81567%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Corey Osman

unread,
Aug 11, 2017, 3:19:06 PM8/11/17
to Puppet Developers
Do you guys have plans to bundle the puppet debugger in the pdk?  I can't think of a more useful tool then a repl and debugger to be part of development kit.  

Also will the pdk releases coincide with PE releases?  I would want to make sure I am developing on the same platform that my code is running on.

Corey
On Tuesday, August 8, 2017 at 7:58:39 PM UTC-7, Lindsey Smith wrote:

Lindsey Smith

unread,
Aug 11, 2017, 3:36:34 PM8/11/17
to puppe...@googlegroups.com
On Fri, Aug 11, 2017 at 12:19 PM, Corey Osman <co...@logicminds.biz> wrote:
Do you guys have plans to bundle the puppet debugger in the pdk?  I can't think of a more useful tool then a repl and debugger to be part of development kit.  

No current plan to do so and we're in listening mode about where the most benefit is for future work.
 

Also will the pdk releases coincide with PE releases?  I would want to make sure I am developing on the same platform that my code is running on.

Essentially yes. When a new PE version comes out you should have a corresponding PDK package that includes the right Puppet/Ruby. For now it won't ship within an agent or master package though.

Lindsey
 
--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-dev+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages