Here’s what the Puppet modules team has been working on and what we hope to work on for the upcoming month:
This work continues to convert supported modules to use the pdk convert function recently released by the The Puppet Developer Experience (PDE) team. We’ve made progress on the Linux and cross-platform modules, with 17 converted and released, including Tomcat, PostgreSQL, and MySQL. We’re continuing to work on these changes.
This work is also continuing from last month. The changes are completed on most of the Linux and cross-platform modules, with only Websphere and IBM Installation Manager remaining. This backlog is almost complete and we’re planning to wrap up this work soon.
Community pull requests
We love to get pull requests from the community. The knowledge that people are actively using and developing Puppet supported modules gives us great pleasure and a sense of purpose. We acknowledge that we don’t always get PRs reviewed and merged as quickly as everyone would like. If you follow these guidelines we’ll do our best to get code merged without delay. Keep the PR succinct - don’t add too many features in one PR. Update the documentation. Add tests.
In addition, if you are proposing making major changes to a module, or simply would like some guidance, we strongly encourage you to join our weekly community PR triage. This is an open session and everyone’s welcome. Please join #forge-modules on Slack for announcements of the video conference hosted on Thursdays at 9:00 a.m. PST.
Finally, thank you — as ever — for submitting your pull requests. They are appreciated. We are continuing to make improvements to our module quality in an attempt to make it easier to contribute to modules, such as using Puppet Development Kit (PDK), building a Resource API and adding support for Puppet Strings (below).
Puppet Device and Cisco IOS
We’re continuing our work to make it easier to deploy the Cisco IOS module and other agentless networking modules. Thanks to those of you that reached out requesting further details. We will blog about these changes in due course.
If you ever wished it was easier to write Puppet types and providers, then the Resource API may help. Types and providers allow resources to be managed with Puppet. The Resource API provides an easier way to write those types and providers, with the goal of making it easier to create modules that extend the resources under management by Puppet. We are actively working on the Resource API, and version 0.9.0 was recently released. We would love to get feedback - please provide it to the GitHub repo. The new PDK also has an experimental "new provider" command that lets you get started in seconds.
We’ve released a new version of Puppet Strings recently, available on rubygems. It features markdown output and support for the new Resource API. We are actively developing on strings, and will be making some additional changes in the future, such as adding tasks and task plan support, adding i18N support, and dropping support for older rubies and Puppet 3. Additionally, we’re planning to publish an official Puppet Strings Style Guide and add support for Strings on the Forge. As ever, feedback is welcome!
It’s been a busy month for us, with a lot of releases! Below is the list of modules that were released in the last month. Please see the relevant change log for details on what was changed. When there were multiple releases, we've listed the latest release.
Community preview releases
In January we released two Windows modules for community preview: the Scheduled Task 0.1.0 and DSC Lite 0.1.0 modules. We are continuing to work on these and are looking for feedback and improvement requests for these modules. Please contact Larissa Lane (Larissa at Puppet dot com) with feedback. Eventually these modules will become part of our Supported Modules offering.
If you’ve any queries or want a specific Puppet module to get some updates, please feel free to reach out to me directly (Davin dot Hanlon at Puppet dot com), or ping the forge-modules room on Slack.
Davin Hanlon is the product owner for modules at Puppet.