From 4c45d28a76b5e8db966dcc9d864ad352d1cb933e Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 17 May 2023 04:21:11 +0000 Subject: automatic import of python-chaostoolkit-slack --- .gitignore | 1 + python-chaostoolkit-slack.spec | 529 +++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 531 insertions(+) create mode 100644 python-chaostoolkit-slack.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..44e7c48 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/chaostoolkit-slack-0.5.7.tar.gz diff --git a/python-chaostoolkit-slack.spec b/python-chaostoolkit-slack.spec new file mode 100644 index 0000000..a616498 --- /dev/null +++ b/python-chaostoolkit-slack.spec @@ -0,0 +1,529 @@ +%global _empty_manifest_terminate_build 0 +Name: python-chaostoolkit-slack +Version: 0.5.7 +Release: 1 +Summary: Slack extension for the Chaos Toolkit +License: Apache License Version 2.0 +URL: https://chaostoolkit.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b7/ff/8e1b66b925b0724b7fc548bd48484fc5e85b6015ae7001ba09dbe1f92a2a/chaostoolkit-slack-0.5.7.tar.gz +BuildArch: noarch + +Requires: python3-chaostoolkit-lib +Requires: python3-logzero +Requires: python3-slackclient +Requires: python3-slack-sdk + +%description +# Chaos Toolkit Extension for Slack + +[![Build](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml/badge.svg)](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml) + +This project is an extension for the Chaos Toolkit to target [Slack][slack]. + +[slack]: https://slack.com/ + +## Install + +This package requires Python 3.7+ + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install -U chaostoolkit-slack +``` + +### Slack App + +To use this extension, you need to create a Slack app in your workspace. +Please follow the Slack documentation to create a basic app: + +https://api.slack.com/apps?new_app=1 +https://api.slack.com/tutorials + +You can start from this manifest if you want: + +```yaml +display_information: + name: Chaos Toolkit events + long_description: Get live feedback information of all your Chaos Engineering + experiments executed from Chaos Toolkit. See which experiments deviated and + investigate their logs directly from a Slack thread. + description: Chaos Engineering experiments live events from Chaos Toolkit. + background_color: "#ffffff" +settings: + org_deploy_enabled: false + socket_mode_enabled: false + is_hosted: false + token_rotation_enabled: false +features: + bot_user: + display_name: chaostoolkit +oauth_config: + scopes: + bot: + - channels:read + - chat:write + - files:write +``` + +Once your application is created, you may want to set the Chaos Toolkit +[logo][logo] to clarify to your users where these messages come from. + +[logo]: https://chaostoolkit.org/resources/logos/ + +### Slack Token + +Please follow the procedure on Slack to create a token suitable for +API calls made using the Python client. The token should start with `xoxb-`. +You can find the token in your app settings under the `OAuth & Permissions` +page. + +The token should have at least the following scopes: + +`channels:read`, `chat:write` and `files:write` + +[tokendoc]: https://api.slack.com/authentication/basics + +### Install your Slack app + +Once created, you need to install the app in your workspace and invite it in +any channel you wish to send events to. This channel will also have to be part +specified as a controls argument (see below). + +Now you should be good to go! + +## Usage + +Currently, this extension only provides a control to send Chaos +Toolkit events to Slack channels. + +To use this extension, add the following to your experiment (or settings): + +```json +"secrets": { + "slack": { + "token": "xoxb-..." + } +}, +"controls": [ + { + "name": "slack", + "provider": { + "type": "python", + "module": "chaosslack.control", + "secrets": ["slack"], + "arguments": { + "channel": "general" + } + } + } +] +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: https://docs.chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ pip install -e . +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + +%package -n python3-chaostoolkit-slack +Summary: Slack extension for the Chaos Toolkit +Provides: python-chaostoolkit-slack +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-chaostoolkit-slack +# Chaos Toolkit Extension for Slack + +[![Build](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml/badge.svg)](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml) + +This project is an extension for the Chaos Toolkit to target [Slack][slack]. + +[slack]: https://slack.com/ + +## Install + +This package requires Python 3.7+ + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install -U chaostoolkit-slack +``` + +### Slack App + +To use this extension, you need to create a Slack app in your workspace. +Please follow the Slack documentation to create a basic app: + +https://api.slack.com/apps?new_app=1 +https://api.slack.com/tutorials + +You can start from this manifest if you want: + +```yaml +display_information: + name: Chaos Toolkit events + long_description: Get live feedback information of all your Chaos Engineering + experiments executed from Chaos Toolkit. See which experiments deviated and + investigate their logs directly from a Slack thread. + description: Chaos Engineering experiments live events from Chaos Toolkit. + background_color: "#ffffff" +settings: + org_deploy_enabled: false + socket_mode_enabled: false + is_hosted: false + token_rotation_enabled: false +features: + bot_user: + display_name: chaostoolkit +oauth_config: + scopes: + bot: + - channels:read + - chat:write + - files:write +``` + +Once your application is created, you may want to set the Chaos Toolkit +[logo][logo] to clarify to your users where these messages come from. + +[logo]: https://chaostoolkit.org/resources/logos/ + +### Slack Token + +Please follow the procedure on Slack to create a token suitable for +API calls made using the Python client. The token should start with `xoxb-`. +You can find the token in your app settings under the `OAuth & Permissions` +page. + +The token should have at least the following scopes: + +`channels:read`, `chat:write` and `files:write` + +[tokendoc]: https://api.slack.com/authentication/basics + +### Install your Slack app + +Once created, you need to install the app in your workspace and invite it in +any channel you wish to send events to. This channel will also have to be part +specified as a controls argument (see below). + +Now you should be good to go! + +## Usage + +Currently, this extension only provides a control to send Chaos +Toolkit events to Slack channels. + +To use this extension, add the following to your experiment (or settings): + +```json +"secrets": { + "slack": { + "token": "xoxb-..." + } +}, +"controls": [ + { + "name": "slack", + "provider": { + "type": "python", + "module": "chaosslack.control", + "secrets": ["slack"], + "arguments": { + "channel": "general" + } + } + } +] +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: https://docs.chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ pip install -e . +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + +%package help +Summary: Development documents and examples for chaostoolkit-slack +Provides: python3-chaostoolkit-slack-doc +%description help +# Chaos Toolkit Extension for Slack + +[![Build](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml/badge.svg)](https://github.com/chaostoolkit-incubator/chaostoolkit-slack/actions/workflows/build.yaml) + +This project is an extension for the Chaos Toolkit to target [Slack][slack]. + +[slack]: https://slack.com/ + +## Install + +This package requires Python 3.7+ + +To be used from your experiment, this package must be installed in the Python +environment where [chaostoolkit][] already lives. + +[chaostoolkit]: https://github.com/chaostoolkit/chaostoolkit + +``` +$ pip install -U chaostoolkit-slack +``` + +### Slack App + +To use this extension, you need to create a Slack app in your workspace. +Please follow the Slack documentation to create a basic app: + +https://api.slack.com/apps?new_app=1 +https://api.slack.com/tutorials + +You can start from this manifest if you want: + +```yaml +display_information: + name: Chaos Toolkit events + long_description: Get live feedback information of all your Chaos Engineering + experiments executed from Chaos Toolkit. See which experiments deviated and + investigate their logs directly from a Slack thread. + description: Chaos Engineering experiments live events from Chaos Toolkit. + background_color: "#ffffff" +settings: + org_deploy_enabled: false + socket_mode_enabled: false + is_hosted: false + token_rotation_enabled: false +features: + bot_user: + display_name: chaostoolkit +oauth_config: + scopes: + bot: + - channels:read + - chat:write + - files:write +``` + +Once your application is created, you may want to set the Chaos Toolkit +[logo][logo] to clarify to your users where these messages come from. + +[logo]: https://chaostoolkit.org/resources/logos/ + +### Slack Token + +Please follow the procedure on Slack to create a token suitable for +API calls made using the Python client. The token should start with `xoxb-`. +You can find the token in your app settings under the `OAuth & Permissions` +page. + +The token should have at least the following scopes: + +`channels:read`, `chat:write` and `files:write` + +[tokendoc]: https://api.slack.com/authentication/basics + +### Install your Slack app + +Once created, you need to install the app in your workspace and invite it in +any channel you wish to send events to. This channel will also have to be part +specified as a controls argument (see below). + +Now you should be good to go! + +## Usage + +Currently, this extension only provides a control to send Chaos +Toolkit events to Slack channels. + +To use this extension, add the following to your experiment (or settings): + +```json +"secrets": { + "slack": { + "token": "xoxb-..." + } +}, +"controls": [ + { + "name": "slack", + "provider": { + "type": "python", + "module": "chaosslack.control", + "secrets": ["slack"], + "arguments": { + "channel": "general" + } + } + } +] +``` + +## Contribute + +If you wish to contribute more functions to this package, you are more than +welcome to do so. Please fork this project, make your changes following the +usual [PEP 8][pep8] code style, add appropriate tests and submit a PR for +review. + +[pep8]: https://pycodestyle.readthedocs.io/en/latest/ + +The Chaos Toolkit projects require all contributors must sign a +[Developer Certificate of Origin][dco] on each commit they would like to merge +into the master branch of the repository. Please, make sure you can abide by +the rules of the DCO before submitting a PR. + +[dco]: https://github.com/probot/dco#how-it-works + +### Develop + +If you wish to develop on this project, make sure to install the development +dependencies. But first, [create a virtual environment][venv] and then install +those dependencies. + +[venv]: https://docs.chaostoolkit.org/reference/usage/install/#create-a-virtual-environment + +```console +$ pip install -r requirements-dev.txt -r requirements.txt +``` + +Then, point your environment to this directory: + +```console +$ pip install -e . +``` + +Now, you can edit the files and they will be automatically be seen by your +environment, even when running from the `chaos` command locally. + +To run the tests for the project execute the following: + +``` +$ pytest +``` + + +%prep +%autosetup -n chaostoolkit-slack-0.5.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-chaostoolkit-slack -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot - 0.5.7-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..85b96b4 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +f069393290a14e9983f844613162388e chaostoolkit-slack-0.5.7.tar.gz -- cgit v1.2.3