All Projects → StackStorm → ansible-st2

StackStorm / ansible-st2

Licence: Apache-2.0 License
Ansible Roles and Playbooks to deploy StackStorm

Programming Languages

Dockerfile
14818 projects
Jinja
831 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to ansible-st2

puppet-st2
Puppet Module to install and configure StackStorm, IFTTT for Ops
Stars: ✭ 20 (-76.47%)
Mutual labels:  stackstorm, st2, configuration-management
St2
StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, security responses, troubleshooting, deployments, and more. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html. Questions? https://…
Stars: ✭ 4,600 (+5311.76%)
Mutual labels:  deployment, stackstorm, st2
Fusioninventory Agent
FusionInventory Agent
Stars: ✭ 177 (+108.24%)
Mutual labels:  deployment, configuration-management
Fusioninventory For Glpi
FusionInventory plugin for GLPI
Stars: ✭ 241 (+183.53%)
Mutual labels:  deployment, configuration-management
st2flow
DEPRECATED & OBSOLETE! Previously StackStorm Enterprise (EWC) Workflow Editor. Now integrated directly into StackStorm OSS Core platform (st2web).
Stars: ✭ 14 (-83.53%)
Mutual labels:  stackstorm, st2
Ansible Rails
Ansible: Ruby on Rails Server
Stars: ✭ 317 (+272.94%)
Mutual labels:  deployment, ansible-playbooks
Fabric Home Assistant
📜 Deploy Home-Assistant easily with Fabric
Stars: ✭ 94 (+10.59%)
Mutual labels:  deployment, configuration-management
st2-packages
StackStorm deb/rpm packages (automated docker build pipeline)
Stars: ✭ 25 (-70.59%)
Mutual labels:  stackstorm, st2
Openbsd Cookbooks
Setup environment in OpenBSD using Ansible playbook
Stars: ✭ 80 (-5.88%)
Mutual labels:  ansible-playbooks, configuration-management
useful-playbooks
🚚 Useful Ansible playbooks for easily deploy your website or webapp to absolutely fresh remote virtual server and automation many processes. Only 3 minutes from the playbook run to complete setup server and start it.
Stars: ✭ 52 (-38.82%)
Mutual labels:  deployment, ansible-playbooks
swiss-army
Ansible-driven configuration management for maintaining a preferred environment (base system and app dotfiles / configurations)
Stars: ✭ 44 (-48.24%)
Mutual labels:  ansible-playbooks, ansible-roles
lykops
lykops是一套web可视化的运维自动化项目,基于python3+django开发的。可视化、简化执行ansible任务,并提供详细的任务执行报告。
Stars: ✭ 129 (+51.76%)
Mutual labels:  ansible-playbooks, ansible-roles
helpdesk
Yet another helpdesk based on multiple providers
Stars: ✭ 14 (-83.53%)
Mutual labels:  stackstorm, st2
Deploy
Ansible role to deploy scripting applications like PHP, Python, Ruby, etc. in a capistrano style
Stars: ✭ 2,141 (+2418.82%)
Mutual labels:  deployment, ansible-roles
stackstorm-ha
K8s Helm Chart (βeta!) that codifies StackStorm (aka "IFTTT for Ops" https://stackstorm.com/) Highly Availability fleet as a simple to use reproducible infrastructure-as-code app
Stars: ✭ 74 (-12.94%)
Mutual labels:  stackstorm, st2
rak8s
Stand up a Raspberry Pi based Kubernetes cluster with Ansible
Stars: ✭ 362 (+325.88%)
Mutual labels:  ansible-playbooks, ansible-roles
ansible-role-for-splunk
Splunk@Splunk's Ansible role for installing Splunk, upgrading Splunk, and installing apps/addons on Splunk deployments (VM/bare metal)
Stars: ✭ 75 (-11.76%)
Mutual labels:  ansible-playbooks, configuration-management
ansiblecheck
One Stop Solution For Checking Your Ansible Roles and Playbooks
Stars: ✭ 56 (-34.12%)
Mutual labels:  ansible-playbooks, ansible-roles
RHEL7-CIS
Ansible RHEL 7 - CIS Benchmark Hardening Script
Stars: ✭ 28 (-67.06%)
Mutual labels:  ansible-playbooks, ansible-roles
ansible-viz
Graph relationships between Ansible playbooks / roles / tasks / vars etc. via static analysis
Stars: ✭ 33 (-61.18%)
Mutual labels:  ansible-playbooks, ansible-roles

Ansible-st2

Ansible playbooks to deploy StackStorm.

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

Build Status Repository deb/rpm Join our community Slack

Supported platforms

  • Ubuntu Bionic (18.04)
  • Ubuntu Focal (20.04)
  • RHEL7 / CentOS7
  • RHEL8 / RockyLinux8

If you're using the provided Vagrantfile, note that it uses Bionic by default.

In order to access StackStorm Web UI, please don't forget to ensure that http/https ports are opened in your firewall system.

Requirements

At least 2GB of memory and 3.5GB of disk space is required, since StackStorm is shipped with RabbitMQ, Mongo, Redis and nginx.

Installation

# stackstorm
ansible-playbook stackstorm.yml

Variables

Below is the list of variables you can redefine in your playbook to customize st2 deployment:

Variable Default Description
st2repo
st2repo_name stable StackStorm PackageCloud repository to install. stable, unstable, staging-stable, staging-unstable
st2
st2_version latest StackStorm version to install. present to install available package, latest to get automatic updates, or pin it to numeric version like 2.2.0 or with revision like 2.2.0-1
st2_config {} Hash with StackStorm configuration settings to set in st2.conf ini file.
st2_system_user stanley System user from which st2 will execute local/remote shell actions.
st2_system_user_in_sudoers yes Add st2_system_user to the sudoers (recommended for most st2 features to work).
st2_ssh_key_file /home/{{st2_system_user}}/.ssh/{{st2_system_user}}_rsa Path to st2_system_user SSH private key. It will be autogenerated by default.
st2_auth_enable yes Enable StackStorm standalone authentication.
st2_auth_username testu Username used by StackStorm standalone authentication.
st2_auth_password testp Password used by StackStorm standalone authentication.
st2_save_credentials yes Save credentials for local CLI in /root/.st2/config file.
st2_rbac_enable no Enable RBAC.
st2_rbac See st2_rbac variable in role defaults RBAC roles and assignments. This is a dictionary with two keys roles and assignments. roles and assignments are in turn both arrays. Each element in the array follows the exact YAML schema for roles and assignments defined in ST2 documentation.
st2_ldap_enable no Enable LDAP authentication backend.
st2_ldap See st2_ldap variable in role defaults Settings for LDAP authentication backend. st2_ldap is a dictionary and has one item backend_kwargs. backend_kwargs should be provided as exactly listed in ST2 documentation for LDAP configuration.
st2_packs [ st2 ] List of packs to install. This flag does not work with a --python3 only pack.
st2_python_packages [ ] List of python packages to install into the /opt/stackstorm/st2 virtualenv. This is needed when deploying alternative auth or coordination backends which depend on Python modules to make them work.
st2web
st2web_version latest st2web version to install. present to install available package, latest to get automatic updates, or pin it to numeric version like 2.2.0 or with revision like 2.2.0-1.
st2web_ssl_certificate null String with custom SSL certificate (.crt). If not provided, self-signed certificate will be generated.
st2web_ssl_certificate_key null String with custom SSL certificate secret key (.key). If not provided, self-signed certificate will be generated.
st2web_nginx_config null String with a custom nginx configuration file (st2.conf). If not provided, the default st2.conf will be used.
st2chatops
nodejs_major_version 14 The default fits st2chatops version >= 3.5.0.
st2chatops_version latest st2chatops version to install. present to install available package, latest to get automatic updates, or pin it to numeric version like 2.2.0 or with revision like 2.2.0-1.
st2chatops_st2_api_key st2 API key to be updated in st2chatops.env using "st2 apikey create -k" in a task
st2chatops_hubot_adapter Hubot Adapter to be used for st2chatops. Default is shell, but should be changed to one of the supported adapters.[Required]
st2chatops_config { } Based on adapter in st2chatops_hubot_adapter, provide hash for the adapter settings, to update st2chatops.env. For example, for Slack hubot adapter: st2chatops_config: HUBOT_SLACK_TOKEN: xoxb-CHANGE-ME-PLEASE
st2chatops_version latest st2chatops version to install. Use latest to get automatic updates or pin it to numeric version like 2.2.0.

Examples

Install latest stable StackStorm with all its components on local machine:

ansible-playbook stackstorm.yml -i 'localhost,' --connection=local

Note that keeping latest version is useful to update StackStorm by re-running playbook, since it will reinstall st2 if there is new version available.

This is default behavior. If you don't want updates - consider pinning version-revision numbers.

Install specific numeric version of st2 with pinned revision number as well:

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

Installing behind a proxy

If you are installing from behind a proxy, you can use environment variables http_proxy, https_proxy, and no_proxy in the playbook. For the st2smoketests, you will need to disable proxy for localhost.

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

Developing

There are a few requirements when developing on ansible-st2.

These are the platforms we must support (must pass end-to-end testing):

  • Ubuntu Bionic
  • Ubuntu Focal
  • CentOS7
  • RockyLinux8
  • RHEL7 (via AWS)
  • RHEL8 (via AWS)

Must also support Ansible Idempotence (Eg. Ansible-playbook re-run should end with the following results: changed=0.*failed=0)

For development purposes there is Vagrantfile available. The following command will setup ubuntu18 box (ubuntu/bionic64) by default:

vagrant up

Other distros:

vagrant up ubuntu20
vagrant up centos7
vagrant up rockylinux8

Other Installers

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

Help

If you are stuck, our community is always ready to help, feel free to:

Your contribution is more than welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].