Community-maintained Chef Cookbook to deploy StackStorm, IFTTT for Ops
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attributes
recipes
spec
templates/default
test/recipes/default
.gitignore
.kitchen.docker.yml
.kitchen.yml
.rspec
.rubocop.yml
.travis.yml
Berksfile
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
Thorfile
Vagrantfile
chefignore
metadata.rb

README.md

StackStorm Chef Cookbook

Build Status Chef cookbook at Supermarket Join our community Slack

Cookbook to install and configure StackStorm components using Chef.

StackStorm is event-driven automation platform written in Python. With over 100+ integrations like GitHub, Docker, Nagios, NewRelic, AWS, Chef, Slack it allows you to wire together existing infrastructure into complex Workflows with auto-remediation and many more. Aka IFTTT orchestration for Ops.

Supported Platforms

  • Ubuntu 14.04 LTS
  • RHEL7 / CentOS7

Requirements

Minimum 2GB of memory and 3.5GB of disk space is required, since StackStorm is shipped with RabbitMQ, PostgreSQL, Mongo and OpenStack Mistral workflow engine. See System Requirements for production use.

Quick Start

For those who want to play with StackStorm, a recipe already exists to get you setup and going with minimal effort:

recipe[stackstorm::bundle]

Recipes

stackstorm:default

Installs and configures st2. Mind that the valid config options must be provided such as RabbitMQ and MongoDB endpoints. Otherwise StackStorm services fail when trying to establish connections.

stackstorm::bundle

All-in-one solution which installs and configures st2 system services as well as all required dependencies such as RabbitMQ, MongoDB, st2mistral, Nginx and st2web.

stackstorm::web

Installs StackStorm Web UI control panel (st2web) and configures nginx as a proxy for StackStorm services. It will generate self-signed certificate by default, see Install WebUI and setup SSL termination.

Attributes

Common attributes

Key Type Description Default
['stackstorm']['config'] Hash Various options used to build up the st2.conf configuration file. see config.rb
['stackstorm']['username'] String StackStorm username for simple htpasswd-based authentication. st2admin
['stackstorm']['password'] String StackStorm password. Ch@ngeMe

System User

To run local and remote shell actions, StackStorm uses a special system user (default stanley). For remote Linux actions, SSH is used. It is advised to configure SSH key-based authentication on all remote hosts.

Key Type Description Default
['stackstorm']['user']['user'] String System user used by stackstorm stack. stanley
['stackstorm']['user']['group'] String System group used by stackstorm stack. stanley
['stackstorm']['user']['home'] String Path to stanley's home directory. /home/stanley
['stackstorm']['user']['authorized_keys'] Array List of ssh public keys added to stanley's ~/.ssh/authorized_keys file. []
['stackstorm']['user']['ssh_key'] String Stanley's ssh private key. nil
['stackstorm']['user']['ssh_pub'] String Stanley's ssh public key. nil
['stackstorm']['user']['ssh_key_bits'] Integer Specifies the number of bits for ssh key creation. 2048
['stackstorm']['user']['enable_sudo'] Boolean Enables sudo privileges for stanley. true
Stanley's ssh key is automatically generated if no ssh_key is provided. If root privileges for running actions are required stanley must be a valid sudoer. This is the default behavior.

Web UI

Settings for StackStorm Web UI st2web and nginx.

Key Type Description Default
['stackstorm']['web']['ssl']['self_signed']['enabled'] Boolean Enable self-signed certificate generation. true
['stackstorm']['web']['ssl']['self_signed']['org'] String Self-signed certificate O field. StackStorm
['stackstorm']['web']['ssl']['self_signed']['org_unit'] String Self-signed certificate OU field. Information Technology
['stackstorm']['web']['ssl']['self_signed']['country'] String Self-signed certificate C field. US

Authors

Other Installers

You might be interested in other methods to deploy StackStorm engine: