StackStorm Puppet Module goes v1.0.0 stable!

August 9, 2018
by Nick MaludyEncore Technologies

Ready to automatically provision and maintain StackStorm nodes in production? Then the stackstorm-st2 Puppet module is for you! We’re proud to announce the v1.0.0 stable release of github.com/StackStorm/puppet-st2, the StackStorm Puppet module.

Puppet is an excellent tool that allows the user to declare the desired state of their system in code. Once defined, hand over the reins to Puppet and watch as it transforms your nodes into what you’ve declared. We wanted to bring the power of declarative state to StackStorm deployments, and puppet-st2 is that solution.

Find StackStorm v1.0.0 on Puppet Forge, – https://forge.puppet.com/stackstorm/st2

A great deal of work has gone into the v1.0.0 release to ensure that st2 Puppet Module is ready to provision and manage StackStorm nodes in production environments. See January, 2018 Puppet Module to Install StackStorm – Announcing Release Candidate. Over the past year we’ve iterated through several pre-releases, release-candidate versions, fixed a lot of bugs, reworked the entire module structure and can now declare it stable and production ready.

There are still a lot of exciting new announcements in this release. Keep reading to find out what’s changed!

Officially Documented

The StackStorm project puts a lot of effort into being easily accessible to end-users and meeting them where they are. One part of this is providing numerous ways of installing StackStorm from Vagrant, to Ansible, to Docker, and even one-line bash installs. From today installing StackStorm via Puppet is also included in the official install documentation! This provides yet another option for users installing and managing StackStorm deployments.

Integration Tests

Verifying that your code actually does what it’s supposed to do end-to-end is extremely valuable. We’re proud to announce that, as of 1.0 the stackstorm-st2 module now executes full integration tests using Test-Kitchen and is verified with InSpec in TravisCI.

Kitchen-CI works by spinning up a new Docker container, then executes a full install of StackStorm with Puppet and the stackstorm-st2 module. After the Puppet run completes, kitchen invokes InSpec and runs a set of tests to ensure that StackStorm is configured properly.

Puppet 3 Deprecation

Puppet 3 went End of Life on 12/31/2016. We have continued to support Puppet 3 installations since this time. Supporting Puppet 3 has become impractical as most modules now only support Puppet 4+. To ease the burden on the maintainers of stackstorm-st2 we are deprecating Puppet 3 support in 1.0 and will be dropping support in 1.1. This will allow the developers to focus on adding new features and take advantage of Puppet 4’s capabilities.

Support for Orquesta

StackStorm v2.8 includes a new workflow engine, Orquesta. The Puppet module fully supports configuring and maintaining this new service called st2workflowengine.

StackStorm Auth Configuration

StackStorm provides a pluggable architecture for authentication. These plugins – called backends – communicate to external authentication services such as LDAP or Keystone. Each backend requires a unique package to be installed and has different configuration options. The stackstorm-st2 now supports installing and configuring all available auth backends (flat_file, keystone, ldap, mongodb, pam). For more details see the Configuring Authentication README.

MongoDB Auth Support for Puppet 4+

New versions of the puppet-mongodb module throw errors when enabling auth for MongoDB when utilizing Puppet 4+. In this version of stackstorm-st2 we work around these bugs and support authentication for managed MongoDB instances.

Bug Fixes and Small Changes

There were a number of bug fixes and a few small changes that went into the v1.0.0. A list of all the fixes and changes can be found on the stackstorm-st2 1.0 release page.

Participation

The StackStorm/puppet-st2 module welcomes any and all contributions, including bug reports! If you or your team currently use Puppet or are curious about how to get started stop by the #puppet channel in our public Slack workspace.

If you find a bug, or want to suggest a new feature please submit a new issue on the GitHub issues list.