https://github.com/StackStorm/st2 Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Compare all + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} StackStorm / st2 Public * * Notifications * Fork 684 * Star 5.1k 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://... stackstorm.com/ License Apache-2.0 license 5.1k stars 684 forks Star Notifications * Code * Issues 471 * Pull requests 33 * Discussions * Actions * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Wiki * Security * Insights StackStorm/st2 This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 87 branches 69 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/S] Use Git or checkout with SVN using the web URL. [gh repo clone StackS] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit stanley Update changelog info for release - 3.8.0 ... dfab25a Nov 18, 2022 Update changelog info for release - 3.8.0 dfab25a Git stats * 21,109 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .circle Split GHA workflow into multiple jobs so we avoid spinning services and Apr 3, 2021 .circleci Sync up the CircleCI config with the st2-packages Jan 28, 2022 .github Update GHA pants-init action to fix build (#5782) Oct 24, 2022 conf regen conf/st2.conf.sample Aug 19, 2022 contrib pants: Add shellcheck for shell_source(s) targets Oct 8, 2022 dev_docs Remove trailing whitespace. Feb 18, 2021 lint-configs make pylint ignore orjson Jul 16, 2022 lockfiles use a .lock extension on lockfiles Oct 17, 2022 logs Fix: Add a logs directory Jul 14, 2014 pylint_plugins ./pants tailor :: Sep 21, 2022 scripts pants: Rename shell targets Oct 8, 2022 st2actions pants: add flake8 lint backend Oct 17, 2022 st2api pants: add flake8 lint backend Oct 17, 2022 st2auth pants: add flake8 lint backend Oct 17, 2022 st2client ./pants tailor :: Sep 21, 2022 st2common Rename modified test Oct 26, 2022 st2reactor pants: add flake8 lint backend Oct 17, 2022 st2stream pants: add flake8 lint backend Oct 17, 2022 st2tests add BUILD comments about skipping git submodule contents Oct 17, 2022 tools pants: Add shellcheck for shell_source(s) targets Oct 8, 2022 .agignore Add fields 'position' and 'locked' for params. Sep 30, 2014 .codecov.yml Increase codecov spammy threshold in % Feb 15, 2017 .coveragerc Use .coveragerc to control covered files, and omit certain files from... Jun 14, 2018 .flake8 Adding flake8/pylint rc files into search path Nov 10, 2016 .git-blame-ignore-rev Add .git-blame-ignore-rev file. Feb 17, 2021 .gitignore remove build from .gitignore as we need BUILD files Sep 9, 2022 .gitmodules Replace submodule pack with a different pack. Apr 11, 2018 .pre-commit-config.yaml Make pre-commit hook Python version agnostic. Apr 3, 2021 .pylintrc Adding flake8/pylint rc files into search path Nov 10, 2016 ADOPTERS.md ADOPTERS.md: Reference Fastly success story with the StackStorm Netwo... Dec 4, 2020 BUILD ./pants tailor :: Sep 21, 2022 CHANGELOG.rst Update changelog info for release - 3.8.0 Nov 18, 2022 CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jul 24, 2017 CONTRIBUTING.rst Fix typo in CONTRIBUTING.rst Oct 31, 2016 GOVERNANCE.md One or more communication channels Aug 18, 2021 LICENSE Updated copyright in LICENSE and README files Jul 23, 2020 Makefile consolidate st2.conf.sample generation in one place Aug 19, 2022 OWNERS.md TSC: Move @bishopbm1 from Contributors to TSC Maintainers Aug 17, 2022 README.md Replace forum badge with GH Discussions Nov 16, 2021 SECURITY.md Add SECURITY.md file. Jul 10, 2019 conftest.py Adjust monkey_patching to work under pytest (#5689) Aug 3, 2022 fixed-requirements.txt Move to ciso8601 for datetime (#5692) Aug 3, 2022 pants Update GHA pants-init action to fix build (#5782) Oct 24, 2022 pants.ci.toml Add GHA workflow to validate pants BUILD files (#5732) Sep 20, 2022 pants.toml use a .lock extension on lockfiles Oct 17, 2022 pyproject.toml Add pytest config section to pyproject.toml (#5686) Jul 28, 2022 requirements.txt Move to ciso8601 for datetime (#5692) Aug 3, 2022 setup.cfg Set loglevel for nosetests to INFO Mar 24, 2017 stackstorm_logo.png Cosmetic changes to README.md Nov 7, 2014 test-requirements.txt Bump black to v22.3.0 and update format Apr 2, 2022 View code [ ] TL;DR StackStorm Overview About Who is using StackStorm? How it works StackStorm architecture Documentation Hacking / Contributing Security Copyright, License, and Contributor Agreement README.md StackStorm StackStorm is a platform for integration and automation across services and tools, taking actions in response to events. Learn more at www.stackstorm.com. Build Status Packages Build Status Codecov CII Best Practices Python 3.6,3.8 Apache Licensed Join our community Slack deb/rpm packages Code Search GitHub Discussions Twitter Follow --------------------------------------------------------------------- TL;DR * Install Get yourself a clean 64-bit Linux box that fits the system requirements. Run the installer script: curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- --user=st2admin --password=Ch@ngeMe * Read the docs: https://docs.stackstorm.com/index.html * Questions? Check out forum.stackstorm.com * Or join our Slack community StackStorm Overview StackStorm 5 min Intro Video About StackStorm is a platform for integration and automation across services and tools. It ties together your existing infrastructure and application environment so you can more easily automate that environment -- with a particular focus on taking actions in response to events. StackStorm helps automate common operational patterns. Some examples are: * Facilitated Troubleshooting - triggering on system failures captured by Nagios, Sensu, New Relic and other monitoring, running a series of diagnostic checks on physical nodes, OpenStack or Amazon instances, and application components, and posting results to a shared communication context, like Slack or JIRA. * Automated remediation - identifying and verifying hardware failure on OpenStack compute node, properly evacuating instances and emailing VM about potential downtime, but if anything goes wrong - freezing the workflow and calling PagerDuty to wake up a human. * Continuous deployment - build and test with Jenkins, provision a new AWS cluster, turn on some traffic with the load balancer, and roll-forth or roll-back based on NewRelic app performance data. StackStorm helps you compose these and other operational patterns as rules and workflows or actions; and these rules and workflows - the content within the StackStorm platform - are stored as code which means they support the same approach to collaboration that you use today for code development and can be shared with the broader open source community via StackStorm Exchange. Who is using StackStorm? See the list of known StackStorm ADOPTERS.md and Thought Leaders. How it works StackStorm architecture StackStorm architecture diagram StackStorm plugs into the environment via an extensible set of adapters: sensors and actions. * Sensors are Python plugins for inbound integration that watch for events from external systems and fire a StackStorm trigger when an event happens. * Triggers are StackStorm representations of external events. There are generic triggers (e.g., timers, webhooks) and integration triggers (e.g., Sensu alert, JIRA issue updated). A new trigger type can be defined by writing a sensor plugin. * Actions are StackStorm outbound integrations. There are generic actions (SSH, HTTP request), integrations (OpenStack, Docker, Puppet), or custom actions. Actions are either Python plugins, or any scripts, consumed into StackStorm by adding a few lines of metadata. Actions can be invoked directly by user via CLI, API, or the web UI, or used and called as part of automations - rules and workflows. * Rules map triggers to actions (or to workflows), applying matching criterias and map trigger payload data to action inputs. * Workflows stitch actions together into "uber-actions", defining the order, transition conditions, and passing context data from one action to the next. Most automations are multi-step (eg: more than one action). Workflows, just like "atomic" actions, are available in the action library, and can be invoked manually or triggered by rules. * Packs are the units of content deployment. They simplify the management and sharing of StackStorm pluggable content by grouping integrations (triggers and actions) and automations (rules and workflows). A growing number of packs is available on the StackStorm Exchange. Users can create their own packs, share them on GitHub, or submit them to the StackStorm Exchange organization. * Audit trail is the historical list of action executions, manual or automated, and is recorded and stored with full details of triggering context and execution results. It is also captured in audit logs for integrating with external logging and analytical tools: LogStash, Splunk, statsd, or syslog. StackStorm is a service with modular architecture. It is comprised of loosely coupled microservice components that communicate over a message bus, and scales horizontally to deliver automation at scale. StackStorm has a full REST API, CLI client, and web UI for admins and users to operate it locally or remotely, as well as Python client bindings for developer convenience. StackStorm is an established project and remains actively developed by a broad community. Documentation Additional documentation, including installation procedures, action/ rule/workflow authoring, and how to setup and use triggers/sensors can be found at https://docs.stackstorm.com. Hacking / Contributing To set up a development environment and run StackStorm from sources, follow these instructions. For information on how to contribute, our style guide, coding conventions and more, please visit the Development section in our documentation. Security If you believe you found a security issue or a vulnerability, please send a description of it to our private mailing list at info [at] stackstorm [dot] com. Once you've submitted an issue, you should receive an acknowledgment from one our of team members in 48 hours or less. If further action is necessary, you may receive additional follow-up emails. For more information, please refer to https://docs.stackstorm.com/ latest/security.html Copyright, License, and Contributor Agreement Copyright 2020 The StackStorm Authors. Copyright 2019 Extreme Networks, Inc. Copyright 2014-2018 StackStorm, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at: http://www.apache.org/licenses/LICENSE-2.0 By contributing you agree that these contributions are your own (or approved by your employer) and you grant a full, complete, irrevocable copyright license to all users and developers of the project, present and future, pursuant to the license of the project. About 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://... stackstorm.com/ Topics python devops chatops automation deployment stackstorm st2 ifttt cicd workflows hacktoberfest auto-remediation Resources Readme License Apache-2.0 license Code of conduct Code of conduct Security policy Security policy Stars 5.1k stars Watchers 167 watching Forks 684 forks Releases 68 v3.7.0 Latest May 6, 2022 + 67 releases Sponsor this project * community_bridge funding.communitybridge.org/projects/stackstorm Contributors 148 * @Kami * @lakshmi-kannan * @m4dcoder * @armab * @manasdk * @cognifloyd * @blag * @bigmstone * @amanda11 * @Mierdin * @nmaludy + 137 contributors Languages * Python 94.8% * Jinja 2.6% * Shell 1.4% * Makefile 1.1% * Starlark 0.1% * PowerShell 0.0% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.