Introducing Ansible playbooks to deploy StackStorm

Feb 2, 2017 by Eugen
Ansible playbooks to deploy StackStorm

Did you know we have Ansible playbooks to deploy StackStorm?
It’s something we’ve been working on quietly for a while:

github.com/StackStorm/ansible-st2

Well, now you know!

In spite of this “secrecy”, some people used it and even actively contributed. For example our friends from Arteria Project.

ansible-st2 v0.6.0 released

But there is more good news! Recently we released a big update to ansible-st2. In addition to the existing Ubuntu Trusty and Xenial support, we’ve added new platforms: RHEL6/CentOS6, RHEL7/CentOS7. Lots more too: new features, bugfixes, CI improvements like running a play in Docker with Test-Kitchen and Travis across all 4 platforms, idempotence, a lot of end-to-end testing and polishing.

So you can deploy StackStorm with Ansible, even on a real RHEL now!

Ansible Playbooks to deploy StackStorm v0.6.0 released

Looks like a lot of activity for a single version release in Ansible playbooks repo, isn’t it?
Thanks to our own Anirudh Rekhi and Matt Oswalt for making it possible!

Being confident about the quality now, we reference Ansible Playbooks as an additional installation method in our docs, check out: docs.stackstorm.com/install/ansible.html

If you are aware of using Ansible with StackStorm, here is the full v0.6.0 CHANGELOG.

Quick Install

So if you’re tired of our curl | bash installer (which is for demonstration purposes) and missing real idempotence and production-friendly deployment and configuration, here are basic instructions to get started:

git clone https://github.com/StackStorm/ansible-st2.git

ansible-playbook stackstorm.yml

Behind the scenes the stackstorm.yml play is composed of the following roles for a complete installation:
epel – Repository with extra packages for RHEL/CentOS.
mongodb – Main DB storage engine for StackStorm.
rabbitmq – Message broker for StackStorm.
postgresql – Main DB storage engine for StackStorm Mistral.
st2repos – Adds StackStorm PackageCloud repositories.
st2 – Install and configure StackStorm itself.
st2mistral – Install and configure StackStorm Mistral workflow engine.
nginx – Dependency for st2web.
st2web – Nice & shiny WebUI for StackStorm.
st2smoketests – Simple checks to know if StackStorm really works.

For more detailed configuration, please refer to GitHub repository with a full list of vars.

Community

If you need more, – please feel free to submit your Pull Requests and remember that our users and contributors are those who make biggest impact on StackStorm, so your involvement or opinion is very important!

Keep an eye on StackStorm/ansible-st2 for more improvements. In future updates you’ll see st2chatops, more options and vars for Custom Installations, Integration tests and eventually we’ll publish everything on Ansible Galaxy.