Skip to content

Commit

Permalink
Documentation update on general project status
Browse files Browse the repository at this point in the history
  • Loading branch information
nzlosh committed Aug 27, 2022
1 parent fe8b6e0 commit ffe7b01
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 7 deletions.
26 changes: 20 additions & 6 deletions docs/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Getting Started
Overview
=========

`err-stackstorm` is a community project to bring StackStorm `ChatOps <https://docs.stackstorm.com/chatops/index.html>`_ to `Errbot <http://errbot.io/en/latest/index.html>`_. `err-stackstorm` exposes StackStorm's `Action Aliases <https://docs.stackstorm.com/chatops/aliases.html>`_ to your chat environment, where you and your team can manage aspects of infrastructure and code.
`err-stackstorm` is a community project to bring StackStorm `ChatOps <https://docs.stackstorm.com/chatops/index.html>`_ to `Errbot <http://errbot.io/en/latest/index.html>`_. `err-stackstorm` enables StackStorm's `Action Aliases <https://docs.stackstorm.com/chatops/aliases.html>`_ in your chat environment, where you and your team can manage aspects of infrastructure, code and 3rd party services.

The objectives for err-stackstorm project are:
1. Provide a Python friendly ChatOps solution.
Expand Down Expand Up @@ -37,25 +37,40 @@ Compatibility
err-stackstorm v2.2 is compatible with Python 3.7+ and operates with StackStorm v3.0.0 and newer


Platforms
=========

``err-stackstorm`` is developed and testing on the x86_64 platform for Linux. No other platforms or operating systems have been tested.

.. important:: ``err-stackstorm`` has been reported by users to have issue running on Mac OSX.

Supported Chat Backends
=========================

Errbot provides official support for most major chat back-ends and many more chat back-ends are available through unofficial plugins.
Errbot provides official support for most major chat back-ends and many more chat back-ends are available through unofficial community plugins.


.. csv-table:: Supported Chat Backends
.. csv-table:: Available Chat Backends
:header: "Backend", "Mode value", "Support Type"
:widths: 10, 10, 10

"Slack", "slackv3", "https://github.com/errbotio/err-backend-slackv3"
"Slack", "slackv3", "`Plugin <https://github.com/errbotio/err-backend-slackv3`_"
"Mattermost", "mattermost", "`Plugin <https://github.com/errbotio/err-backend-mattermost>`_"
"Discord", "discord", "`Plugin <https://github.com/errbotio/err-backend-discord>`_"
"Rocket Chat", "aoikrocketchaterrbot", "`Plugin <https://github.com/AoiKuiyuyou/AoikRocketChatErrbot>`_"
"Gitter", "gitter", "`Plugin <https://github.com/errbotio/err-backend-gitter>`_"
"MS Teams", "BotFramework", "`Unsupported by err-stackstorm` <https://github.com/vasilcovsky/errbot-backend-botframework>`_"
"XMPP", "xmpp", "Integrated"
"IRC", "irc", "Integrated"

.. csv-table:: Unsupported Chat Backends
:header: "Backend", "Mode value", "Support Type"
:widths: 10, 10, 10

"MSTeam", "BotFramework", "`Plugin <https://github.com/vasilcovsky/errbot-backend-botframework>`_"

.. important:: ``err-stackstorm`` doesn't support MSTeams due to lack of access by the developer. If you're intersted in adding and maintaining MSTeams support please contact nzlosh on slack/gitter or github.


Backend support provides a minimum set of operations such as `connect` and `authentication` methods along with ways to `identify` and `send messages` to users/rooms.

Advanced formatting may not be available on all backends since additional code would be required in `err-stackstorm` to translate StackStorm's Action Aliases `extra` parameter.
Expand All @@ -66,4 +81,3 @@ Backends that currently support nice (extra) formatting:

* Slack
* XMPP

28 changes: 28 additions & 0 deletions docs/linux_package_building.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Building Linux Packages
=========================================================================================================================================================
Two scripts are used to help ``err-stackstorm`` packages available on mulitple operating systems. Each script represent a phase in the package build process

``contrib/packaging/build_archive`` is a BASH script that carries out the steps to create a Python virtual environment and install errbot, various backends and err-stackstorm using a supported operating systems native Python installation.

``contrib/packaging/build`` is a Python script that depends on jinja2. It should be setup using its own virtual environment and is executed after the err-stackstorm archive has been successfully created by ``build_archive``. ``build`` reads the ``build.cfg`` configuration file, which is JSON format, to fill out jinja templates that are used by the operating systems package build system. This allows for updating and build system packages in a similar maner for all supported operating systems.

Phase 1: Packaging Python
---------------------------------------------------------------------------------------------------------------------------------------------------------
Python applications are best isolated from the system. Python virtual environments (venv) are created for this purpose, the virtual environment is created inside a single directory, various base standard libraries are copied into the venv and symlinks setup to point to the systems Python interpreter. The venv will be created with whichever version of python was executed to create the venv.
::

python3.8 -m venv <venv_name>
source <venv_name>/bin/activate


Phase 2: Build System packages
---------------------------------------------------------------------------------------------------------------------------------------------------------
After the Python virtual environment has been setup, dependencies installed and pre-compiled files purged, the Python virtual environment is archived using ``tar``. The resulting archive will be used to deploy the virtual environment inside the native OS packaging.

Building DEB based packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TO DO

Building RPM based packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TO DO
2 changes: 1 addition & 1 deletion docs/quick_start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ If you are familiar with Errbot and StackStorm, this guide will get you up and r

8. Aliases can be run like this: ``!st2 run date on 192.168.5.1``

.. important:: `st2chatops` does not have to be running on your StackStorm instance. This plugin *replaces* `st2chatops`.
.. important:: When restarting StackStorm, a warning may be produced to inform you `st2chatops` is not running. This warning can be ignored because `err-stackstorm` will be managing StackStorm ChatOps.

0 comments on commit ffe7b01

Please sign in to comment.