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.
1.0.0-beta
the module was designed around the legacy deployment system. This has been upgraded to the modern package deployment methodology. These changes were ported over.puppet-lint
tests.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/st2
is used to install StackStorm on every supported OS version.1.0.0-rc
. Tied into the integration testing effort, we’ve also introduced tests for running the module with modern versions of Puppet.Some highlights of changes since v1.0.0-beta
:
st2_pack
.index_url
to ::st2
allowing custom st2 Exchangest2::profie::chatops
to manage the chatops package, service and configuration.mongodb_manage_repo
and nginx_manage_repo
to ::st2
so that the repository can be managed by an external system and not the stackstorm-st2
module.#puppet
for Travis build failures.That’s where we’ve been, here’s some ideas of where we’re going:
InSpec
or Serverspec
.::st2::profile::server
into component services.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.
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!
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!