Today, we're excited to announce that we've released a major update to the Puppet Forge that will help us maintain momentum with the enormous growth in the last six months. The user community has doubled in size alongside the number of modules and download volume. This most recent release is focused on refining our platform to scale appropriately with growth, provide more useful information about modules, and prepare the team to release great new features faster than ever.
The Visual Refresh
While today's release was primarily focused on rebuilding our platform, we managed to get several improvements into the front-end.
If you're a frequent visitor to the Puppet Forge, the first thing you'll notice today is a cleaner, simplified front page. The changes reflect a desire to offer more room to report the recent activity of our large and growing community. In the near future, you can expect to find even more informational features added to keep you up-to-date with activity on the Puppet Forge.
On the individual module pages, you'll notice a number of tweaks and enhancements, particularly the Puppet Module Tool installation instructions. One of our priorities is to further enhance module pages to include relevant information that will help you determine which module is best for you to use on your systems.
Brand New Data & Web Services
The previous Puppet Forge was a single web application that contained the website you visited, the data within it, and the API used by tools like the Puppet Module Tool and Gepetto. Considering our future needs for growth and flexibility, we chose to split these pieces apart and enhance them in the process.
The Puppet Forge you see today is composed of multiple services, which include the web service you're browsing to and our new API service which stores data consumable by the web service and other tools. Everything that the previous Forge allowed as an API has been ported to the new Forge and referred to as the v1 API. The v2 API service is still being finalized but when we release it, you can write your own tools to interact with Puppet Forge modules, download them and even publish new ones.
Puppet Management Fairy Dust!
Previously, the Puppet Forge was run on a single box with a sqlite database (yeah, we know!). Along with the service split mentioned above (including a move from sqlite to postgres), the Puppet Forge is positioned to be highly scalable with Puppet. Our Operations Team really kicked ass with this deployment, utilizing Puppet to make their jobs easier while allowing the Puppet Forge to scale quickly and predictably.
There's a lot of Puppet fairy dust involved in making this release possible, but some of the highlights are available on the Puppet Forge. To reliably manage network configuration between our disparate services, Adrien Thebo wrote and published his network module. Each open port needed appropriate firewall rules in place, provided courtesy of the Puppet Labs firewall module. They chose the Puppet Labs postgresql module (previously owned and maintained by Kenn Knowles at Inkling) to build, configure and maintain the database service. Lots more Puppet goodness was created to make this happen. Expect more to be published by our operations team in the future.
The Puppet Forge has seen enormous growth recently, and the newly formed team is ramping up to respond with features that help you succeed with Puppet and Puppet Enterprise.
Now that this release is out the door, our immediate focus is on simplifying the process for publishing content to Forge, making it easier and more natural to your workflow. Expect the ability to publish through various programmatic methods, including the CLI, very soon. Along with vast improvements to content publishing, we're eager to arm you with great tools to help guide you when picking Puppet modules that will help you grow your business. Expect better documentation on modules, information on module popularity, style guide compliance information, and more.
As we build these features, we constantly validate that we're building the right tool. One of our strongest methods is you! Become a Puppet Test Pilot for an opportunity to help us test our latest creations and receive some swag along the way. Additionally, we love to receive feedback in our issue tracker. You're also welcome to send your thoughts straight at me via firstname.lastname@example.org or via @ryanycoleman on Twitter.