A better experience for Sensu & Puppet users
Editor’s note: This post originally appeared on Sensu’s blog on 16 August 2017. It is republished here with the permission of author Jason Dixon and Sensu.
One of Sensu’s core design tenets has always been to work in lockstep with the best Configuration Management (CM) systems. Even before Sensu existed as a product and now as a company, we were helping our customers build complex infrastructures and software delivery pipelines using automation tools like Chef and KitchenCI. We’re huge fans of infrastructure as code and the benefits it offers all IT organizations.
And while we have many close friends over at Puppet HQ, we haven’t historically done a lot of work directly with their product or community. Fortunately, the open source community stepped up (as it often does) and released a Puppet module for Sensu. Since 2013, this module has an extensive changelog full of enhancements and releases. In fact, it’s one of the most popular Puppet Approved modules you can download today.
Puppet Approved modules meet Puppet’s standards for quality composition, reliable operation, and active development.
Though the Puppet Forge doesn’t provide formal rankings, with over 1.8M downloads in the forge, the Sensu Puppet module ranks as the 46th most downloaded module (of over 5,000 modules). In fact, a recent accounting shows that the Sensu Puppet module has been downloaded over 70,000 times in the past three weeks alone!
Even still, we recognize that in order for this module to continue to grow and flourish, we need to stand behind it with the full weight of our commitment and resources. It’s always had good support for Sensu Core, but it lacked comprehensive coverage of Sensu Enterprise’s advanced feature set (e.g. Contact Routing). Thus, we’ve launched a significant undertaking to bring Puppet support for Sensu up to parity (and in many cases, beyond) with all other supported CM offerings. Specifically, we’re taking a three-pronged approach to leveling up our Puppet users’ experiences within the Sensu ecosystem:
- Dedicated engineering resources for enhancing the Puppet module
- Achieving Puppet Supported status for the module
- Work closely with Puppet as an active member of the Puppet Technology Alliance Partner Program (TAPP)
Enhancements to the module
Even though the Puppet module was already technically solid (as evident by its Approved status), we wanted to make sure that any improvements followed modern Puppet best practices and that we were fully compatible with the state-of-the-art of Puppet versions and designs. It was also important to fill in any missing functional gaps for our Sensu Enterprise customers. While we have some awesome engineering talent in-house, we decided early on to bring in a Puppet expert who could address our immediate laundry list of concerns and continue to work together adding support for new Sensu features and ensuring Puppet compatibility moving forward.
One company, LearnPuppet, stood out from all others in this regard. Garrett Honeycutt and his team are well known within the Puppet community for their work on numerous modules (Garrett himself is one of the most prolific contributors to the Puppet Forge). It was soon obvious that LearnPuppet would make a great partner for our Puppet work. We came together quickly on a comprehensive plan for improvements to the module at a regular cadence, and the results speak for themselves. There have been 35 releases and 74 pull requests merged to the sensu-puppet module since our engagement began.
Pull request and issues activity
Commit activity over the past 12 months
These updates incorporate a variety of enhancements and bug fixes: from Chocolatey support for Windows, to support for additional OS versions, numerous new tests, an enhanced build pipeline, support for Sensu Enterprise features, and much more. The changelog is lengthy but a worthy read if you’d like to catch up on everything. If you’re running an older version of the module, we strongly encourage you to try out one of the newer versions for yourself. We’re very proud of these improvements and we think you’ll appreciate them too.
Module Supported status
We’ve known for a while that we’d like to get the module classified as “Supported” within the Puppet ecosystem. This classification guarantees that Puppet Enterprise customers can expect a higher and broader level of support than you’ll find with the average module. Many of our customers need assurances that the module will work across a variety of platforms, is fully tested with Puppet Enterprise, and will be maintained for longer lifecycles. Ironically this is something we wanted to provide anyways, but having Puppet codify this relationship within their Forge ecosystem is a huge win for everyone involved.
We’ve worked closely with our counterparts at Puppet, Inc. over the last few months to audit the module and our support procedures. As a result of this collaboration we’re very excited to announce today the immediate transition of the Sensu module to Supported status within the Puppet Forge!
[Sensu] Editor’s note: not only is the Supported classification a case of “rare air”, but the Sensu module is the most popular Partner-Supported (non-Puppet owned) module in the Forge.
Puppet TAPP membership
As if all of this wasn’t enough to keep us busy, we’ve joined Puppet’s own TAPP program, teaming up with them on a unified strategy for understanding our shared customer’s challenges and delivering solutions that leverage our combined strengths. Our goal is to bring rigor and consistency around creating, maintaining and delivering joint value to the market — in essence, creating a unified presence for our prospects and customers.
Working with the Puppet community and our partners at Puppet, Inc. and LearnPuppet has been an awesome experience. It speaks to the wonderful people that develop, use, and advocate for our respective open source and commercial offerings. I’m very excited to see our users continue to benefit from these efforts and to experience the growth of our respective software stacks.
If you have any questions about Sensu or how to level up your own Puppet and Sensu-powered infrastructure, please shoot us a line. We’d love to hear from you!
Jason Dixon is VP of business development at Sensu.