StackStorm.stackstorm

Ansible-st2

This contains Ansible roles and playbooks to set up StackStorm.

StackStorm is an automation platform that runs on events and is written in Python. It integrates with over 50 tools like GitHub, Docker, Nagios, and AWS, allowing you to connect your current infrastructure into complex workflows for tasks like automatic recovery.

E2E Tests Repository deb/rpm Join our community Slack

Supported Platforms

  • Ubuntu Focal (20.04)
  • RHEL 7 and CentOS 7
  • RHEL 8 and Rocky Linux 8

If you use the provided Vagrantfile, it defaults to Ubuntu Focal.

Remember to allow HTTP and HTTPS ports in your firewall to access the StackStorm Web UI.

Requirements

You need a compatible version of Ansible and its dependencies. You also need at least 2 GB of RAM and 3.5 GB of disk space, as StackStorm includes RabbitMQ, Mongo, Redis, and nginx.

Installation

# Deploy StackStorm
ansible-playbook stackstorm.yml

Variables

Here are the variables you can change in your playbook or inventory to customize your StackStorm setup:

Variable Default Description
st2repo
st2repo_name stable StackStorm package repository (choose from stable, unstable, or staging versions).
st2
st2_version latest Version of StackStorm to install (use present for the latest package without updates).
st2_config {} Configuration settings for StackStorm.
st2_system_user stanley The user account StackStorm will use for actions.
st2_ssh_key_file /home/{{st2_system_user}}/.ssh/{{st2_system_user}}_rsa Path to the SSH private key for st2_system_user (generated automatically).
st2_auth_enable yes Enable standalone authentication for StackStorm.
st2_auth_username testu Username for authentication.
st2_auth_password testp Password for authentication.
st2web
st2web_version latest Version of st2web to install.
st2chatops
st2chatops_version latest Version of st2chatops to install.
st2chatops_hubot_adapter Adapter to use for st2chatops (must select from supported options).

Examples

To install the latest stable StackStorm on a local machine:

ansible-playbook --inventory localhost, --connection local stackstorm.yml

To install StackStorm on a remote machine named stackstorm.example.com, create an inventory file:

echo "stackstorm.example.com" > inventory
ansible-playbook --inventory inventory stackstorm.yml

You can keep StackStorm updated by re-running the playbook with the latest version setting.

To install a specific version of StackStorm:

ansible-playbook stackstorm.yml --extra-vars "st2_version=2.2.0 st2_revision=8"

Installing Behind a Proxy

If you're installing from behind a proxy, you can specify environment variables in the playbook:

environment:
  http_proxy: http://proxy.example.net:3128
  https_proxy: http://proxy.example.net:3128
  no_proxy: 127.0.0.1,localhost

Development

For development with ansible-st2, ensure compatibility with the following platforms:

  • Ubuntu Focal (20.04)
  • CentOS 7
  • RHEL 7 (via AWS)
  • RHEL 8 (via AWS)

The playbooks should support Ansible idempotence, which means running the playbook multiple times should not produce changes unless you've updated versions.

For local development, you can use the provided Vagrantfile:

vagrant up

You can also set up other supported distributions:

vagrant up centos7
vagrant up rockylinux8

Other Installation Methods

Other ways to deploy StackStorm include:

Getting Help

If you run into issues, join our community for support:

We welcome your input and contributions!

Informazioni sul progetto

Install StackStorm (IFTTT for Ops) with all the components like Web UI, ChatOps and dependant services including RabbitMQ, MongoDB, nginx.

Installa
ansible-galaxy install StackStorm.stackstorm
Licenza
apache-2.0
Download
624.6k
Proprietario
Event-driven automation. Used by Netflix & many more....