January 4, 2018
By Nick Maludy of Encore Technologies
So far StackStorm has multiple installation methods: deb/rpm packages, curl|bash installer used for simple deployments, Docker, Ansible, Chef.
Now it’s Puppet time!
Starting in July of 2017 a major effort has been underway to modernize the Puppet module to install/deploy StackStorm. In August of 2017 v1.0.0-beta was released with completely re-worked internals to support the new StackStorm deb/rpm package installation method and fix a large number of bugs. Since the beta we’ve continued development of new features like supporting all 4 StackStorm OSes, Puppet 4 and 5 compatibility, ChatOps installation and configuration, modernized pack management, full integration testing in Docker containers along with a slew of Puppet best practices improvements.
Today we’re proud to announce the Release Candidate version v1.0.0-rc of the stackstorm-st2 Puppet module which is available on Forge.

https://forge.puppet.com/stackstorm/st2
Our plan is to release v1.0.0 stable in the coming weeks, but in order to do this we need your help. We ask everyone who is interested in Puppet-based deployment to give the module a try and provide your feedback!
Keep reading to find out more details about what’s changed and where the project is heading.
Modernization Improvements
- Support latest versions of StackStorm. Prior to
1.0.0-betathe module was designed around the legacy deployment system. This has been upgraded to the modern package deployment methodology. These changes were ported over. - Support all StackStorm OSes (Ubuntu 14.04, Ubuntu 16.06, CentOS/RHEL 6, CentOS/RHEL 7). Previously the module was not running properly on several of the distributions. A great deal of work has gone into making the module cross-platform compatible.
- Puppet linting and best practices. Upgraded the style of a majority of the code to validate against modern
puppet-linttests. - Integration testing. New in
1.0.0-rc, we’ve gone and completely rewritten the build system to run in an several isolated Docker environments. This means that every time a build is triggered,stackstorm/st2is used to install StackStorm on every supported OS version. - Support for Puppet 4.x and Puppet 5.x. New in
1.0.0-rc. Tied into the integration testing effort, we’ve also introduced tests for running the module with modern versions of Puppet.
What Else Has Changed
Some highlights of changes since v1.0.0-beta:
- Migrated to voxpupuli puppet/rabbitmq module and puppet/mongodb modules.
- Upgraded NodeJS to 6.x when installing StackStorm >= 2.4.0.
- Upgraded MongoDB to 3.4 when installing StackStorm >= 2.4.0.
- New type and provider for managing st2 packs:
st2_pack. - Added new parameter
index_urlto::st2allowing custom st2 Exchange - Added a new class
st2::profie::chatopsto manage the chatops package, service and configuration. - Added new parameters
mongodb_manage_repoandnginx_manage_repoto::st2so that the repository can be managed by an external system and not thestackstorm-st2module. - Added Slack notifications to munity.slack.com
#puppetfor Travis build failures.
Future Ideas
That’s where we’ve been, here’s some ideas of where we’re going:
- Support for all auth backends (MongoDB, PAM, LDAP, etc).
- Improve unit testing coverage.
- Integration testing verification using
InSpecorServerspec. - Splitting
::st2::profile::serverinto component services. - High Availability support.
How Can You Get Started?
We’ve focused on making getting started with the stackstorm-st2 module as simple as possible. Just include the full install class in your manifest for a node and you’re on your way!
include ::st2::profile::fullinstall
This will install StackStorm and all it dependencies!
If you’re using r10k or librarian-puppet to manage your module dependencies, you can reference our Puppetfile for your distribution:
For more info, checkout the README.
Participation
The stackstorm-st2 module welcomes any and all contributions (including bug reports)!
If you’re curious how you can help, check out our issues list, or drop by the #puppet channel questions in our public Slack workspace. We’re always looking for new and exciting ideas for how we can make StackStorm and its supporting projects like the stackstorm/st2 Puppet module better, so don’t be shy!
Thanks
A very big thank you goes out to all those who’ve contributed code to this release!
P.S.
From the StackStorm side, we want to thank our partners from Encore Technologies, particularly Nick Maludy for taking the lead with the Puppet Module github.com/StackStorm/puppet-st2. As an advanced user, you know best what’s needed from StackStorm deployment & configuration and contribute to that.
That’s the power of Open Source!