Skip to content
This repository has been archived by the owner on Jul 28, 2020. It is now read-only.

StackStorm/chef-stackstorm

Repository files navigation

DEPRECATED!
Due to low interest from the StackStorm Community chef-stackstorm cookbook support and development is discontinued.

Help Wanted!
If you're using this deployment method and interested in maintaining it, please contact StackStorm project Owners.

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: